/* CSS Variable Design System (Metronic 8 Dark inspired) */
:root {
  --bg-color: #0c0d14;
  --panel-bg: #151621;
  --card-bg: #151621;
  --border-color: rgba(255, 255, 255, 0.05);
  --text-primary: #fcfcfc;
  --text-secondary: #a1a5b7;
  --text-muted: #5e6278;

  --neon-green: #50cd89;
  --neon-green-glow: rgba(80, 205, 137, 0.1);
  --neon-red: #f1416c;
  --neon-red-glow: rgba(241, 65, 108, 0.1);
  --neon-blue: #3e97ff;
  --neon-blue-glow: rgba(62, 151, 255, 0.15);
  --neon-gold: #f1bc00;
  --neon-gold-glow: rgba(241, 188, 0, 0.1);
  --neon-purple: #7239ea;
  --neon-purple-glow: rgba(114, 57, 234, 0.1);

  --shadow-sm: 0 4px 15px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 12px 30px rgba(0, 0, 0, 0.45);
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --transition-speed: 0.18s;
}

/* ── Hawk Eye live causal chart ─────────────────────────────────────────── */
.hawk-chart-card {
  position: relative;
  margin: 0 1.25rem 1.25rem;
  overflow: hidden;
  border: 1px solid rgba(69, 196, 255, 0.18);
  border-radius: 18px;
  background:
    radial-gradient(circle at 8% 0%, rgba(0, 209, 255, 0.08), transparent 30%),
    radial-gradient(circle at 92% 0%, rgba(108, 92, 231, 0.08), transparent 28%),
    linear-gradient(145deg, rgba(10, 18, 31, 0.98), rgba(5, 10, 19, 0.99));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.035);
}

.hawk-chart-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, #00d7ff 22%, #786cff 72%, transparent);
  opacity: 0.8;
  z-index: 3;
}

.hawk-chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem 0.9rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}

.hawk-chart-title-wrap,
.hawk-chart-head-state,
.hawk-chart-toolbar,
.hawk-chart-legend,
.hawk-chart-actions {
  display: flex;
  align-items: center;
}

.hawk-chart-title-wrap { gap: 0.8rem; }
.hawk-chart-title-wrap h2 { margin: 0.12rem 0 0.16rem; font-size: 1.12rem; color: #f4f9ff; }
.hawk-chart-title-wrap p { margin: 0; color: var(--text-muted); font-size: 0.72rem; }
.hawk-chart-title-wrap .eyebrow { color: #52dfff; font-size: 0.6rem; letter-spacing: 0.16em; }

.hawk-chart-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(69, 214, 255, 0.28);
  border-radius: 13px;
  color: #5fe5ff;
  background: rgba(0, 184, 255, 0.07);
  box-shadow: inset 0 0 20px rgba(0, 194, 255, 0.055), 0 0 24px rgba(0, 194, 255, 0.06);
}
.hawk-chart-mark svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.3; }

.hawk-chart-head-state { gap: 0.65rem; }
.hawk-chart-head-state > div {
  min-width: 86px;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
}
.hawk-chart-head-state span,
.hawk-chart-decision span { display: block; color: #657a91; font-size: 0.55rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.hawk-chart-head-state strong { color: #ddecfa; font: 700 0.72rem "JetBrains Mono", monospace; }

.hawk-chart-live-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 0.42rem;
  padding: 0.48rem 0.7rem;
  border: 1px solid rgba(255, 99, 114, 0.22);
  border-radius: 999px;
  color: #ff8290 !important;
  background: rgba(255, 62, 82, 0.06);
}
.hawk-chart-live-badge i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.hawk-chart-live-badge.live { color: #46efb1 !important; border-color: rgba(70, 239, 177, 0.24); background: rgba(70, 239, 177, 0.065); }
.hawk-chart-live-badge.live i { animation: hawkLivePulse 1.6s ease-out infinite; }

@keyframes hawkLivePulse {
  0% { box-shadow: 0 0 0 0 rgba(70, 239, 177, 0.55); }
  70% { box-shadow: 0 0 0 7px rgba(70, 239, 177, 0); }
  100% { box-shadow: 0 0 0 0 rgba(70, 239, 177, 0); }
}

.hawk-chart-toolbar {
  justify-content: space-between;
  gap: 1rem;
  padding: 0.58rem 1.15rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.045);
  background: rgba(2, 8, 16, 0.42);
}
.hawk-chart-legend { flex-wrap: wrap; gap: 0.8rem; }
.hawk-chart-legend span { display: inline-flex; align-items: center; gap: 0.34rem; color: #7990a8; font-size: 0.59rem; font-weight: 700; }
.hawk-chart-legend i { width: 12px; height: 3px; border-radius: 5px; background: #46dfff; box-shadow: 0 0 7px currentColor; }
.hawk-chart-legend i.liquidity { background: #7c8dff; }
.hawk-chart-legend i.watch { background: #f6bd52; }
.hawk-chart-legend i.confirmed { background: #42e5aa; }
.hawk-chart-legend i.flow { background: #58d5ff; }
.hawk-chart-legend i.invalid { background: #ff6575; }
.hawk-chart-actions { gap: 0.42rem; }
.hawk-chart-pan-hint { margin-right: 0.25rem; color: #516b82; font-size: 0.55rem; font-weight: 700; white-space: nowrap; }
.hawk-chart-tool {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 0.38rem 0.58rem;
  color: #6f8499;
  background: rgba(255, 255, 255, 0.025);
  font: 700 0.58rem Inter, sans-serif;
  cursor: pointer;
  transition: 160ms ease;
}
.hawk-chart-tool:hover { color: #dff8ff; border-color: rgba(65, 210, 255, 0.25); }
.hawk-chart-tool.is-active { color: #5de2ff; border-color: rgba(65, 210, 255, 0.28); background: rgba(0, 190, 255, 0.075); }

.hawk-chart-stage { position: relative; min-height: 560px; }
#hawk-eye-chart { width: 100%; height: 560px; }
.hawk-chart-empty {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  background: radial-gradient(circle at center, rgba(0, 196, 255, 0.05), transparent 34%);
  z-index: 2;
  transition: opacity 180ms ease, visibility 180ms ease;
}
.hawk-chart-empty.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.hawk-chart-empty strong { color: #dcefff; margin-top: 0.8rem; font-size: 0.84rem; }
.hawk-chart-empty p { max-width: 480px; margin: 0.35rem 0 0; color: #647b91; font-size: 0.68rem; line-height: 1.6; }
.hawk-chart-empty-orbit { position: relative; width: 52px; height: 52px; border: 1px solid rgba(68, 218, 255, 0.2); border-radius: 50%; }
.hawk-chart-empty-orbit::before,
.hawk-chart-empty-orbit::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(68, 218, 255, 0.13); }
.hawk-chart-empty-orbit::before { inset: 7px; }
.hawk-chart-empty-orbit::after { inset: 16px; background: #50ddff; box-shadow: 0 0 18px #25cdf8; }
.hawk-chart-empty-orbit i { position: absolute; inset: -1px; border-top: 2px solid #50ddff; border-radius: 50%; animation: hawkOrbitSpin 1.5s linear infinite; }
@keyframes hawkOrbitSpin { to { transform: rotate(360deg); } }

.hawk-chart-decision {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 0.7fr)) minmax(300px, 1.9fr);
  gap: 1px;
  border-top: 1px solid rgba(255, 255, 255, 0.055);
  background: rgba(255, 255, 255, 0.05);
}
.hawk-chart-decision > div { padding: 0.7rem 0.9rem; background: #080f1b; min-width: 0; }
.hawk-chart-decision strong { display: block; margin-top: 0.22rem; color: #d8e9f7; font: 700 0.66rem "JetBrains Mono", monospace; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hawk-chart-decision .hawk-chart-final { border-left: 1px solid rgba(76, 213, 255, 0.11); background: linear-gradient(90deg, rgba(0, 191, 255, 0.055), #080f1b 70%); }
.hawk-chart-final strong { color: #5ee6ff; font-size: 0.72rem; }
.hawk-chart-final small { display: block; margin-top: 0.2rem; color: #677e94; font-size: 0.58rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 1000px) {
  .hawk-chart-card { margin-inline: 0.75rem; }
  .hawk-chart-header, .hawk-chart-toolbar { align-items: flex-start; flex-direction: column; }
  .hawk-chart-head-state { width: 100%; flex-wrap: wrap; }
  .hawk-chart-decision { grid-template-columns: repeat(3, 1fr); }
  .hawk-chart-decision .hawk-chart-final { grid-column: 1 / -1; border-left: 0; border-top: 1px solid rgba(76, 213, 255, 0.11); }
}

@media (max-width: 640px) {
  .hawk-chart-title-wrap { align-items: flex-start; }
  .hawk-chart-title-wrap p { display: none; }
  .hawk-chart-head-state > div { min-width: 74px; }
  .hawk-chart-toolbar { gap: 0.65rem; }
  .hawk-chart-actions { width: 100%; }
  .hawk-chart-pan-hint { display: none; }
  .hawk-chart-tool { flex: 1; }
  .hawk-chart-stage, #hawk-eye-chart { min-height: 470px; height: 470px; }
  .hawk-chart-decision { grid-template-columns: 1fr; }
  .hawk-chart-decision .hawk-chart-final { grid-column: auto; }
}

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

body {
  background-color: var(--bg-color);
  color: var(--text-primary);
  font-family: var(--font-sans);
  overflow-x: hidden;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Custom Metronic-inspired Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: #2b2b40;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--neon-blue);
}

/* Selection Color overrides */
::selection {
  background: rgba(62, 151, 255, 0.25);
  color: #ffffff;
}

/* Muted Background Layout Blobs */
.glow-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: -2;
  overflow: hidden;
}

.glow-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(140px);
  opacity: 0.12;
  mix-blend-mode: screen;
}

.blob-1 {
  width: 500px;
  height: 500px;
  background: var(--neon-blue);
  top: -10%;
  left: 10%;
  animation: float-blob 22s infinite alternate ease-in-out;
}

.blob-2 {
  width: 600px;
  height: 600px;
  background: var(--neon-purple);
  bottom: 10%;
  right: 5%;
  animation: float-blob 18s infinite alternate-reverse ease-in-out;
}

.blob-3 {
  width: 400px;
  height: 400px;
  background: var(--neon-green);
  top: 40%;
  left: 50%;
  animation: float-blob 25s infinite alternate ease-in-out;
}

@keyframes float-blob {
  0% {
    transform: translate(0, 0) scale(1);
  }

  100% {
    transform: translate(60px, -40px) scale(1.15);
  }
}

/* Header Styles */
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  background: rgba(8, 12, 20, 0.7);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-color);
  position: sticky;
  top: 0;
  z-index: 10;
}

.logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.logo h1 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.accent-text {
  color: var(--neon-blue);
  text-shadow: 0 0 10px var(--neon-blue-glow);
}

.logo .icon {
  font-size: 1.5rem;
  filter: drop-shadow(0 0 8px var(--neon-blue-glow));
}

.logo .badge {
  font-size: 0.65rem;
  font-family: var(--font-mono);
  background: rgba(0, 242, 254, 0.1);
  color: var(--neon-blue);
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid rgba(0, 242, 254, 0.2);
  margin-left: 0.5rem;
  vertical-align: middle;
}

/* Navigation Switcher Button */
.nav-btn {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--neon-blue);
  border: 1px solid rgba(6, 182, 212, 0.25);
  background: rgba(6, 182, 212, 0.05);
  padding: 6px 16px;
  border-radius: 20px;
  transition: all var(--transition-speed);
}

.nav-btn:hover {
  background: rgba(6, 182, 212, 0.15);
  border-color: rgba(6, 182, 212, 0.5);
  transform: translateY(-1px);
  box-shadow: 0 0 10px rgba(6, 182, 212, 0.1);
}


/* Real-time scanner state in header */
.header-scanner-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.03);
  padding: 6px 12px;
  border-radius: 20px;
  border: 1px solid var(--border-color);
  font-size: 0.8rem;
  font-weight: 500;
}

.scanner-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.scanner-dot.green {
  background-color: var(--neon-green);
  box-shadow: 0 0 8px var(--neon-green);
}

.scanner-dot.blue {
  background-color: var(--neon-blue);
  box-shadow: 0 0 8px var(--neon-blue);
}

.scanner-dot.amber {
  background-color: var(--neon-gold);
  box-shadow: 0 0 8px var(--neon-gold);
}

.pulse {
  animation: scanning-pulse 1.5s infinite alternate ease-in-out;
}

@keyframes scanning-pulse {
  0% {
    transform: scale(0.9);
    opacity: 0.6;
  }

  100% {
    transform: scale(1.1);
    opacity: 1;
  }
}

.connection-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 500;
}

.connection-status .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.connection-status .dot.red {
  background-color: var(--neon-red);
  box-shadow: 0 0 8px var(--neon-red-glow);
}

.connection-status .dot.green {
  background-color: var(--neon-green);
  box-shadow: 0 0 8px var(--neon-green-glow);
}

/* Dashboard layout grid */
.dashboard-grid {
  display: grid;
  grid-template-columns: 310px 1fr 340px;
  gap: 1rem;
  padding: 1rem;
  flex: 1;
}

.panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.panel h2 {
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-secondary);
  border-left: 2px solid var(--neon-blue);
  padding-left: 0.5rem;
  margin-bottom: 0.25rem;
}

/* Card flat container styles */
.card {
  background: var(--card-bg);
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: var(--shadow-sm);
  transition: all var(--transition-speed);
  position: relative;
}

/* Sci-Fi HUD Corner Brackets */
.card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--neon-blue);
  border-left: 2px solid var(--neon-blue);
  border-top-left-radius: 6px;
  opacity: 0.4;
  transition: all var(--transition-speed);
  pointer-events: none;
}

.card::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid var(--neon-blue);
  border-right: 2px solid var(--neon-blue);
  border-bottom-right-radius: 6px;
  opacity: 0.4;
  transition: all var(--transition-speed);
  pointer-events: none;
}

.card:hover {
  border-color: rgba(62, 151, 255, 0.15);
  box-shadow: 0 0 15px rgba(62, 151, 255, 0.04), var(--shadow-lg);
  transform: translateY(-1px);
}

.card:hover::before,
.card:hover::after {
  opacity: 0.9;
  box-shadow: 0 0 8px var(--neon-blue-glow);
}

.card h3,
.council-heading,
.monitor-heading,
.ops-header {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-primary);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  padding-bottom: 0.85rem;
  margin-bottom: 1.15rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Forms & inputs */
.form-group {
  margin-bottom: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.form-group label {
  font-size: 0.75rem;
  color: var(--text-muted);
  font-weight: 500;
}

input[type="text"],
input[type="number"],
select {
  width: 100%;
  background: #1b1c28;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: var(--text-primary);
  padding: 8px 12px;
  font-size: 0.85rem;
  transition: all var(--transition-speed);
  font-family: inherit;
}

input[type="text"]:focus,
input[type="number"]:focus,
select:focus {
  outline: none;
  border-color: var(--neon-blue);
  box-shadow: 0 0 10px rgba(62, 151, 255, 0.12);
}

/* Toggle Switches */
.toggle-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-size: 0.8rem;
  color: var(--text-secondary);
  cursor: pointer;
  position: relative;
  user-select: none;
  padding: 4px 0;
}

.toggle-label input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 20px;
  background-color: rgba(255, 255, 255, 0.08);
  border-radius: 34px;
  transition: .3s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 14px;
  width: 14px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  border-radius: 50%;
  transition: .3s;
}

input:checked+.slider {
  background-color: var(--neon-blue);
}

input:checked+.slider:before {
  transform: translateX(18px);
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-speed);
  border: none;
  width: 100%;
}

.btn:hover {
  animation: button-glitch 0.22s steps(2) infinite;
}

@keyframes button-glitch {
  0% {
    transform: translate(1px, 1px) rotate(0.4deg);
  }

  50% {
    transform: translate(-1px, -1px) rotate(-0.4deg);
  }

  100% {
    transform: translate(0, 0);
  }
}

.primary-btn {
  background: var(--neon-blue);
  color: #ffffff !important;
}

.primary-btn:hover {
  filter: brightness(1.1);
  box-shadow: 0 0 15px rgba(62, 151, 255, 0.35);
}

.secondary-btn {
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-primary);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.secondary-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
}

.disconnect-btn {
  background: var(--neon-red);
  color: #ffffff !important;
}

.disconnect-btn:hover {
  filter: brightness(1.1);
  box-shadow: 0 0 15px rgba(241, 65, 108, 0.35);
}

.action-btn {
  background: rgba(0, 242, 254, 0.1);
  color: var(--neon-blue);
  border: 1px solid rgba(0, 242, 254, 0.2);
}

.action-btn:hover {
  background: rgba(0, 242, 254, 0.15);
  border-color: var(--neon-blue);
}

.scanner-evidence-panel {
  margin-top: 0.8rem;
  padding: 0.7rem;
  border: 1px solid rgba(0, 242, 254, 0.14);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(0, 242, 254, 0.055), rgba(0, 255, 135, 0.025));
}

.scanner-evidence-head {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.scanner-evidence-head strong { color: var(--neon-blue); font-size: 0.62rem; }
.scanner-evidence-panel p { margin: 0.45rem 0 0; color: var(--text-secondary); font-size: 0.72rem; line-height: 1.4; }
.scanner-blocker-list { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.55rem; }
.scanner-blocker-chip { max-width: 100%; padding: 0.25rem 0.4rem; border-radius: 4px; background: rgba(255, 184, 77, 0.08); border: 1px solid rgba(255, 184, 77, 0.16); color: #ffd08a; font-family: var(--font-mono); font-size: 0.61rem; line-height: 1.3; }

/* Watchlist tagging system */
.watchlist-input-row {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.plus-btn {
  width: auto;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-secondary);
  border: 1px solid var(--border-color);
  aspect-ratio: 1;
  font-size: 1.1rem;
  padding: 0 12px;
}

.plus-btn:hover {
  background: rgba(0, 255, 135, 0.1);
  color: var(--neon-green);
  border-color: var(--neon-green);
}

.watchlist-tags,
.discovered-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.5rem;
}

.tag {
  font-size: 0.7rem;
  font-family: var(--font-mono);
  font-weight: 500;
  background: rgba(255, 255, 255, 0.03);
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  gap: 0.35rem;
  cursor: pointer;
}

.tag:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.15);
}

.tag.active {
  background: rgba(0, 242, 254, 0.1);
  border-color: var(--neon-blue);
  color: var(--neon-blue);
}

.tag .remove-btn {
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: bold;
}

.tag .remove-btn:hover {
  color: var(--neon-red);
}

/* Live Market Feed styles */
.ticker-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.ticker-item {
  display: flex;
  flex-direction: column;
}

.ticker-item .label {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-weight: 500;
  margin-bottom: 0.1rem;
}

.ticker-item .value {
  font-size: 0.95rem;
  font-weight: 600;
}

.value.green {
  color: var(--neon-green);
}

.value.red {
  color: var(--neon-red);
}

.value.blue {
  color: var(--neon-blue);
}

.font-mono {
  font-family: var(--font-mono);
}

/* Decision summary & pie */
.decision-display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.decision-text {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.5px;
}

.grade-badge {
  font-size: 0.75rem;
  font-weight: 700;
  font-family: var(--font-mono);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-color);
  padding: 3px 8px;
  border-radius: 4px;
}

.buy .decision-text {
  color: var(--neon-green);
  text-shadow: 0 0 10px var(--neon-green-glow);
}

.sell .decision-text {
  color: var(--neon-red);
  text-shadow: 0 0 10px var(--neon-red-glow);
}

.watch .decision-text {
  color: var(--neon-blue);
  text-shadow: 0 0 10px var(--neon-blue-glow);
}

.avoid .decision-text {
  color: var(--neon-gold);
  text-shadow: 0 0 10px var(--neon-gold-glow);
}

.hold .decision-text {
  color: var(--text-secondary);
}

.grade-badge.a-plus,
.grade-badge.a {
  background: rgba(0, 255, 135, 0.1);
  border-color: var(--neon-green);
  color: var(--neon-green);
}

.grade-badge.b {
  background: rgba(0, 242, 254, 0.1);
  border-color: var(--neon-blue);
  color: var(--neon-blue);
}

.grade-badge.c {
  background: rgba(255, 179, 0, 0.1);
  border-color: var(--neon-gold);
  color: var(--neon-gold);
}

.grade-badge.d,
.grade-badge.f {
  background: rgba(255, 0, 127, 0.1);
  border-color: var(--neon-red);
  color: var(--neon-red);
}

/* Historical statistics display */
.historical-stats-display {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(0, 242, 254, 0.04);
  border: 1px solid rgba(0, 242, 254, 0.1);
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 0.75rem;
  margin-bottom: 0.75rem;
  color: var(--text-secondary);
}

/* Confidence indicators inside radar class */
.confidence-radar {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.radar-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.radar-label {
  font-size: 0.7rem;
  color: var(--text-muted);
  width: 90px;
}

.radar-bar-container {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 3px;
  overflow: hidden;
}

.radar-bar {
  height: 100%;
  border-radius: 3px;
  transition: width 0.4s ease-out;
}

.radar-bar.bullish {
  background-color: var(--neon-green);
  box-shadow: 0 0 6px var(--neon-green);
}

.radar-bar.bearish {
  background-color: var(--neon-red);
  box-shadow: 0 0 6px var(--neon-red);
}

.radar-bar.uncertain {
  background-color: rgba(255, 255, 255, 0.12);
}

.radar-val {
  font-size: 0.75rem;
  width: 32px;
  text-align: right;
}

/* ────────────────────────────────────────────────────────────────────────── */
/* AI Council Grid layout (Center Panel)                                      */
/* ────────────────────────────────────────────────────────────────────────── */

.council-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.25rem;
}

.council-heading h2 {
  font-size: 1.1rem;
  color: var(--text-primary);
  border: none;
  padding: 0;
}

.consensus-badge {
  font-size: 0.7rem;
  font-weight: 700;
  font-family: var(--font-mono);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-color);
  padding: 2px 8px;
  border-radius: 12px;
  color: var(--text-secondary);
}

.consensus-badge.bullish {
  background: rgba(0, 255, 135, 0.1);
  border-color: var(--neon-green);
  color: var(--neon-green);
}

.consensus-badge.bearish {
  background: rgba(255, 0, 127, 0.1);
  border-color: var(--neon-red);
  color: var(--neon-red);
}

.consensus-badge.neutral {
  background: rgba(0, 242, 254, 0.1);
  border-color: var(--neon-blue);
  color: var(--neon-blue);
}

.council-desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.council-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

/* Connection and standby states are a single status surface, not a partial
   agent-card grid. The class is removed as soon as one dossier is available. */
.council-grid.is-empty {
  grid-template-columns: minmax(0, 1fr);
}

.agent-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  transition: all var(--transition-speed);
}

.agent-card:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(0, 242, 254, 0.25);
  transform: translateY(-1px);
}

.agent-card h4 {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.35rem;
}

.meta-badge {
  font-size: 0.65rem;
  font-weight: 700;
  font-family: var(--font-mono);
  padding: 1px 5px;
  border-radius: 3px;
}

.agent-text {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.35;
  white-space: pre-wrap;
}

/* Agent-specific accent colors */
.agent-card.tech {
  border-left: 2px solid var(--neon-blue);
}

.agent-card.tech:hover {
  background: rgba(62, 151, 255, 0.03);
  border-color: rgba(62, 151, 255, 0.2);
}

.agent-card.flow {
  border-left: 2px solid var(--neon-green);
}

.agent-card.flow:hover {
  background: rgba(80, 205, 137, 0.03);
  border-color: rgba(80, 205, 137, 0.2);
}

.agent-card.derivatives {
  border-left: 2px solid var(--neon-purple);
}

.agent-card.derivatives:hover {
  background: rgba(114, 57, 234, 0.03);
  border-color: rgba(114, 57, 234, 0.2);
}

.agent-card.macro {
  border-left: 2px solid var(--neon-gold);
}

.agent-card.macro:hover {
  background: rgba(241, 188, 0, 0.03);
  border-color: rgba(241, 188, 0, 0.2);
}

.agent-card.sentiment {
  border-left: 2px solid #ef476f;
}

.agent-card.sentiment:hover {
  background: rgba(239, 71, 111, 0.03);
  border-color: rgba(239, 71, 111, 0.2);
}

.agent-card.quant {
  border-left: 2px solid #48cae4;
}

.agent-card.quant:hover {
  background: rgba(72, 202, 228, 0.03);
  border-color: rgba(72, 202, 228, 0.2);
}

.agent-card.risk {
  border-left: 2px solid #ff7096;
}

.agent-card.risk:hover {
  background: rgba(255, 112, 150, 0.03);
  border-color: rgba(255, 112, 150, 0.2);
}

.agent-card.devil {
  border-left: 2px solid var(--neon-red);
}

.agent-card.devil:hover {
  background: rgba(241, 65, 108, 0.04);
  border-color: rgba(241, 65, 108, 0.25);
}

.agent-card.pre-mortem {
  border-left: 2px solid #d90429;
}

.agent-card.pre-mortem:hover {
  background: rgba(217, 4, 41, 0.03);
  border-color: rgba(217, 4, 41, 0.2);
}

.empty-council-state {
  grid-column: span 2;
  text-align: center;
  padding: 2.5rem 0;
  color: var(--text-muted);
}

.council-grid.is-empty .empty-council-state {
  grid-column: 1;
  width: 100%;
  min-height: 128px;
  display: grid;
  place-content: center;
  padding: 2rem 1.25rem;
  border: 1px dashed rgba(62, 151, 255, 0.22);
  border-radius: 8px;
  background: rgba(62, 151, 255, 0.035);
}

.empty-council-state .icon {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.5rem;
}

/* Premium institutional research brief modal. */
.dossier-modal-overlay {
  position: fixed !important;
  inset: 0;
  z-index: 99999;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(5, 7, 13, .82) !important;
  backdrop-filter: blur(12px) !important;
}

.dossier-modal-card {
  width: min(940px, 100%) !important;
  max-width: 940px !important;
  max-height: min(88vh, 860px) !important;
  border-radius: 14px !important;
  border-color: rgba(62, 151, 255, .28) !important;
  background: #141625 !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .72), 0 0 30px rgba(62, 151, 255, .12) !important;
}

.dossier-modal-accent {
  flex: 0 0 3px;
  height: 3px !important;
  background: linear-gradient(90deg, var(--neon-blue), var(--neon-purple), var(--neon-blue)) !important;
}

.dossier-modal-header {
  gap: 1.25rem;
  padding: 1.35rem 1.5rem !important;
  border-bottom-color: var(--border-color) !important;
  background: rgba(255, 255, 255, .018) !important;
}

.dossier-modal-identity,
.dossier-modal-actions {
  min-width: 0;
}

.dossier-modal-actions {
  align-items: flex-start !important;
}

.dossier-modal-icon-shell {
  display: grid !important;
  place-items: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(62, 151, 255, .3);
  border-radius: 11px;
  background: rgba(8, 12, 20, .8);
  box-shadow: 0 0 15px rgba(62, 151, 255, .1);
}

.dossier-modal-title-block {
  min-width: 0;
}

.dossier-modal-title-block::before {
  content: 'EVIDENCE COMMITTEE · LIVE SNAPSHOT';
  display: block;
  margin-bottom: .3rem;
  color: var(--neon-blue);
  font-family: var(--font-mono);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.dossier-modal-title-block h3 {
  margin: 0 0 .25rem !important;
  font-size: 1.15rem !important;
  line-height: 1.15;
}

.dossier-modal-title-block>span {
  font-size: .7rem !important;
}

.dossier-modal-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .4rem;
}

.dossier-status-badge {
  border-radius: 5px;
  padding: .38rem .55rem;
  font-family: var(--font-mono);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;
}

.dossier-close-btn {
  border-color: rgba(255, 255, 255, .12) !important;
  background: rgba(255, 255, 255, .05) !important;
  color: var(--text-secondary) !important;
}

.dossier-close-btn:hover {
  border-color: rgba(62, 151, 255, .45) !important;
  background: rgba(62, 151, 255, .12) !important;
  color: var(--text-primary) !important;
}

.dossier-modal-body {
  padding: 1.5rem !important;
  scrollbar-color: rgba(62, 151, 255, .45) transparent;
}

.dossier-modal-body::-webkit-scrollbar {
  width: 6px;
}

.dossier-modal-body::-webkit-scrollbar-thumb {
  border-radius: 8px;
  background: rgba(62, 151, 255, .4);
}

.dossier-brief {
  display: grid;
  gap: 1.25rem;
}

.dossier-summary,
.dossier-evidence-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 1.25fr);
  gap: 1rem;
}

.dossier-evidence-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dossier-section-label {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .6rem;
  color: var(--text-primary);
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.dossier-section-label::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--neon-blue);
}

.dossier-narrative {
  margin: 0;
  color: var(--text-secondary);
  font-size: .77rem;
  line-height: 1.6;
  white-space: pre-line;
}

.dossier-thesis {
  padding: 1rem;
  border: 1px solid rgba(62, 151, 255, .16);
  border-radius: 10px;
  background: rgba(62, 151, 255, .045);
}

.dossier-thesis .dossier-section-label {
  color: var(--neon-blue);
}

.dossier-panel {
  padding: 1rem;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  background: rgba(8, 10, 17, .36);
}

.dossier-panel.is-risk {
  border-color: rgba(241, 65, 108, .16);
}

.dossier-panel.is-unknown {
  border-color: rgba(241, 188, 0, .16);
}

.dossier-evidence-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(110px, .7fr);
  gap: .75rem;
  padding: .7rem 0;
  border-top: 1px solid rgba(255, 255, 255, .05);
}

.dossier-evidence-row:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.dossier-metric {
  display: block;
  color: var(--text-muted);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dossier-value {
  display: block;
  margin-top: .18rem;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: .72rem;
  overflow-wrap: anywhere;
}

.dossier-source {
  text-align: right;
  color: var(--neon-blue);
  font-size: .62rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.dossier-list {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dossier-list li {
  color: var(--text-secondary);
  font-size: .72rem;
  line-height: 1.45;
}

.dossier-list li::before {
  content: '•';
  margin-right: .5rem;
  color: var(--neon-gold);
}

.dossier-panel.is-risk .dossier-list li::before {
  color: var(--neon-red);
}

.dossier-limitations {
  padding-top: 1rem;
  border-top: 1px solid var(--border-color);
  color: var(--text-muted);
  font-size: .69rem;
  font-style: italic;
  line-height: 1.5;
}

@media (max-width: 640px) {
  .dossier-modal-overlay {
    padding: .65rem;
  }

  .dossier-modal-card {
    max-height: 92vh !important;
  }

  .dossier-modal-header {
    align-items: flex-start !important;
    padding: 1rem !important;
    gap: .75rem;
  }

  .dossier-modal-icon-shell {
    display: none !important;
  }

  .dossier-modal-body {
    padding: 1rem !important;
  }

  .dossier-summary,
  .dossier-evidence-grid {
    grid-template-columns: 1fr;
  }

  .dossier-modal-badges .dossier-status-badge:last-child {
    display: none;
  }
}

/* CIO memorandum: decision first, evidence controls second, narrative last. */
.cio-report-view {
  display: grid;
  gap: .75rem;
}

.cio-decision-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(62, 151, 255, .22);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(62, 151, 255, .1), rgba(18, 20, 31, .72) 58%);
  box-shadow: inset 3px 0 0 var(--neon-blue);
}

.cio-decision-hero.buy {
  border-color: rgba(50, 230, 160, .25);
  background: linear-gradient(135deg, rgba(50, 230, 160, .1), rgba(18, 20, 31, .72) 58%);
  box-shadow: inset 3px 0 0 var(--neon-green);
}

.cio-decision-hero.sell,
.cio-decision-hero.risk {
  border-color: rgba(241, 65, 108, .26);
  background: linear-gradient(135deg, rgba(241, 65, 108, .1), rgba(18, 20, 31, .72) 58%);
  box-shadow: inset 3px 0 0 var(--neon-red);
}

.cio-decision-copy {
  min-width: 0;
}

.cio-eyebrow {
  display: block;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.cio-decision-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin: .45rem 0 .55rem;
}

.cio-decision-badge {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: .32rem .52rem;
  border: 1px solid rgba(62, 151, 255, .3);
  border-radius: 5px;
  color: var(--neon-blue);
  background: rgba(62, 151, 255, .1);
  font-family: var(--font-mono);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .05em;
}

.cio-decision-badge.buy {
  border-color: rgba(50, 230, 160, .34);
  color: var(--neon-green);
  background: rgba(50, 230, 160, .09);
}

.cio-decision-badge.sell,
.cio-decision-badge.risk {
  border-color: rgba(241, 65, 108, .34);
  color: var(--neon-red);
  background: rgba(241, 65, 108, .09);
}

.cio-grade-badge {
  padding: .32rem .48rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 5px;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, .035);
  font-family: var(--font-mono);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.cio-grade-badge.grade-a,
.cio-grade-badge.grade-aplus {
  border-color: rgba(50, 230, 160, .28);
  color: var(--neon-green);
}

.cio-grade-badge.grade-d,
.cio-grade-badge.grade-f {
  border-color: rgba(241, 65, 108, .28);
  color: var(--neon-red);
}

.cio-thesis {
  margin: 0;
  color: var(--text-secondary);
  font-size: .73rem;
  line-height: 1.5;
}

.cio-confidence {
  align-self: stretch;
  display: grid;
  align-content: center;
  min-width: 105px;
  padding-left: 1rem;
  border-left: 1px solid rgba(255, 255, 255, .08);
  text-align: right;
}

.cio-confidence>span {
  color: var(--text-muted);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cio-confidence strong {
  color: var(--text-primary);
  font-size: 1.55rem;
  line-height: 1.1;
}

.cio-confidence small {
  margin-left: .1rem;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: .72rem;
}

.cio-control-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
}

.cio-control-chip {
  min-width: 0;
  padding: .62rem .7rem;
  border: 1px solid var(--border-color);
  border-radius: 7px;
  background: rgba(6, 9, 15, .28);
}

.cio-control-chip>span {
  display: block;
  margin-bottom: .26rem;
  color: var(--text-muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.cio-control-chip strong {
  display: block;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: .66rem;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cio-control-chip.ok {
  border-color: rgba(50, 230, 160, .16);
}

.cio-control-chip.ok strong {
  color: var(--neon-green);
}

.cio-control-chip.caution {
  border-color: rgba(241, 188, 0, .18);
}

.cio-control-chip.caution strong {
  color: var(--neon-gold);
}

.cio-control-chip.risk {
  border-color: rgba(241, 65, 108, .2);
}

.cio-control-chip.risk strong {
  color: var(--neon-red);
}

.cio-memo-reader {
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: 9px;
  background: rgba(7, 9, 15, .28);
}

.cio-memo-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .62rem .8rem;
  border-bottom: 1px solid var(--border-color);
  color: var(--text-secondary);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cio-memo-status {
  flex: 0 0 auto;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: .55rem;
}

.cio-memo-status.verified {
  color: var(--neon-green);
}

.cio-memo-status.caution {
  color: var(--neon-gold);
}

.cio-memo-content {
  max-height: 280px;
  overflow-y: auto;
  padding: .85rem;
  color: var(--text-secondary);
  font-size: .73rem;
  line-height: 1.6;
  white-space: pre-wrap;
  scrollbar-color: rgba(62, 151, 255, .35) transparent;
}

.cio-memo-content::-webkit-scrollbar {
  width: 5px;
}

.cio-memo-content::-webkit-scrollbar-thumb {
  border-radius: 99px;
  background: rgba(62, 151, 255, .35);
}

@media (max-width: 640px) {
  .cio-decision-hero {
    grid-template-columns: 1fr;
  }

  .cio-confidence {
    min-width: 0;
    padding: .7rem 0 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-left: 0;
    text-align: left;
  }

  .cio-control-strip {
    grid-template-columns: 1fr;
  }

  .cio-control-chip strong {
    white-space: normal;
  }

  .cio-memo-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }
}

/* ────────────────────────────────────────────────────────────────────────── */
/* Signal Monitor styling (active signal lifecycle)                          */
/* ────────────────────────────────────────────────────────────────────────── */

.signal-monitor-card {
  border-left: 3px solid var(--text-muted);
}

.signal-monitor-card.active,
.signal-monitor-card.tp1_secured,
.signal-monitor-card.tp2_secured,
.signal-monitor-card.tp3_secured {
  border-left-color: var(--neon-green);
  box-shadow: 0 0 15px rgba(0, 255, 135, 0.05);
}

.signal-monitor-card.pending_entry {
  border-left-color: var(--neon-blue);
}

.signal-monitor-card.stopped_out,
.signal-monitor-card.invalidated {
  border-left-color: var(--neon-red);
}

.monitor-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}

.monitor-heading h3 {
  margin-bottom: 0.1rem;
}

.monitor-heading p {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.monitor-status {
  font-size: 0.65rem;
  font-weight: 800;
  font-family: var(--font-mono);
  padding: 3px 8px;
  border-radius: 4px;
}

.monitor-status.scanning {
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-muted);
}

.monitor-status.pending_entry {
  background: rgba(0, 242, 254, 0.1);
  color: var(--neon-blue);
  border: 1px solid rgba(0, 242, 254, 0.2);
}

.monitor-status.active {
  background: rgba(0, 255, 135, 0.1);
  color: var(--neon-green);
  border: 1px solid rgba(0, 255, 135, 0.2);
}

.monitor-status.tp1_secured,
.monitor-status.tp2_secured,
.monitor-status.tp3_secured {
  background: rgba(157, 78, 221, 0.1);
  color: var(--neon-purple);
  border: 1px solid rgba(157, 78, 221, 0.2);
}

.monitor-status.stopped_out,
.monitor-status.invalidated {
  background: rgba(255, 0, 127, 0.1);
  color: var(--neon-red);
  border: 1px solid rgba(255, 0, 127, 0.2);
}

/* Evidence-first monitor states. A wait is not an execution failure. */
.signal-monitor-card.monitor-waiting {
  border-left-color: var(--neon-gold) !important;
}

.signal-monitor-card.monitor-scanning {
  border-left-color: var(--neon-blue) !important;
}

.signal-monitor-card.monitor-published {
  border-left-color: var(--neon-green) !important;
}

.signal-monitor-card.monitor-blocked {
  border-left-color: var(--neon-red) !important;
}

.signal-monitor-card.monitor-tactical {
  border-left-color: var(--neon-gold) !important;
}

.monitor-confirmation-scenarios {
  margin: -.2rem 0 .7rem;
}

.monitor-confirmation-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .72rem;
  padding: .76rem .8rem;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 9px;
  background: rgba(0, 0, 0, .16);
}

.monitor-confirmation-panel.institutional {
  border-color: rgba(80, 205, 137, .28);
  background: rgba(80, 205, 137, .055);
}

.monitor-confirmation-panel.tactical {
  border-color: rgba(241, 188, 0, .28);
  background: rgba(241, 188, 0, .055);
}

.monitor-confirmation-kicker {
  display: block;
  margin-bottom: .28rem;
  color: var(--text-muted);
  font: 800 .54rem var(--font-mono);
  letter-spacing: .1em;
}

.institutional .monitor-confirmation-kicker {
  color: var(--neon-green);
}

.tactical .monitor-confirmation-kicker {
  color: var(--neon-gold);
}

.monitor-confirmation-panel strong {
  display: block;
  color: var(--text-primary);
  font-size: .73rem;
}

.monitor-confirmation-panel p {
  margin: .26rem 0 0;
  color: var(--text-secondary);
  font-size: .64rem;
  line-height: 1.42;
}

.monitor-confirmation-levels {
  display: grid;
  grid-template-columns: repeat(3, auto);
  align-content: start;
  gap: .32rem .55rem;
  color: var(--text-muted);
  font: 700 .52rem var(--font-mono);
  text-align: right;
}

.monitor-confirmation-levels span {
  display: block;
}

.monitor-confirmation-levels b {
  display: block;
  margin-top: .12rem;
  color: var(--text-secondary);
  font-size: .6rem;
}

.monitor-confirmation-panel.institutional .monitor-confirmation-levels b {
  color: var(--neon-green);
}

.monitor-confirmation-panel.tactical .monitor-confirmation-levels b {
  color: var(--neon-gold);
}

.monitor-evidence-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .85rem;
  padding: .85rem;
  margin-bottom: .65rem;
  border: 1px solid rgba(62, 151, 255, .18);
  border-radius: 9px;
  background: rgba(62, 151, 255, .05);
}

.monitor-evidence-hero.waiting {
  border-color: rgba(241, 188, 0, .23);
  background: rgba(241, 188, 0, .055);
}

.monitor-evidence-hero.published {
  border-color: rgba(80, 205, 137, .22);
  background: rgba(80, 205, 137, .05);
}

.monitor-evidence-hero.blocked {
  border-color: rgba(241, 65, 108, .22);
  background: rgba(241, 65, 108, .055);
}

.monitor-eyebrow {
  display: block;
  margin-bottom: .3rem;
  color: var(--neon-blue);
  font: 800 .55rem var(--font-mono);
  letter-spacing: .1em;
}

.monitor-evidence-hero.waiting .monitor-eyebrow {
  color: var(--neon-gold);
}

.monitor-evidence-hero.published .monitor-eyebrow {
  color: var(--neon-green);
}

.monitor-evidence-hero.blocked .monitor-eyebrow {
  color: var(--neon-red);
}

.monitor-evidence-hero strong {
  display: block;
  color: var(--text-primary);
  font-size: .78rem;
}

.monitor-evidence-hero p {
  margin: .3rem 0 0;
  color: var(--text-secondary);
  font-size: .68rem;
  line-height: 1.45;
}

.monitor-evidence-mark {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid currentColor;
  border-radius: 8px;
  color: var(--neon-blue);
  font: 800 .9rem var(--font-mono);
}

.monitor-evidence-hero.waiting .monitor-evidence-mark {
  color: var(--neon-gold);
}

.monitor-evidence-hero.published .monitor-evidence-mark {
  color: var(--neon-green);
}

.monitor-evidence-hero.blocked .monitor-evidence-mark {
  color: var(--neon-red);
}

.monitor-evidence-hero.tactical {
  border-color: rgba(241, 188, 0, .28);
  background: rgba(241, 188, 0, .055);
}

.monitor-evidence-hero.tactical .monitor-eyebrow,
.monitor-evidence-hero.tactical .monitor-evidence-mark {
  color: var(--neon-gold);
}

.monitor-missing-evidence {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .6rem;
  padding: .65rem .75rem;
  margin-bottom: .65rem;
  border-left: 2px solid var(--neon-gold);
  border-radius: 0 7px 7px 0;
  background: rgba(241, 188, 0, .045);
}

.monitor-missing-evidence>span {
  align-self: start;
  color: var(--neon-gold);
  font: 800 .53rem var(--font-mono);
  letter-spacing: .08em;
}

.monitor-missing-evidence strong {
  display: block;
  color: var(--text-secondary);
  font-size: .68rem;
}

.monitor-missing-evidence p {
  margin: .2rem 0 0;
  color: var(--text-muted);
  font-size: .64rem;
  line-height: 1.4;
}

.monitor-gate-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: .35rem;
  margin-bottom: .7rem;
}

.monitor-gate-chip {
  min-width: 0;
  padding: .42rem .48rem;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 6px;
  background: rgba(0, 0, 0, .16);
}

.monitor-gate-chip b {
  display: block;
  color: var(--text-muted);
  font-size: .51rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .04em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.monitor-gate-chip strong {
  display: block;
  margin-top: .18rem;
  color: var(--text-secondary);
  font: 800 .56rem var(--font-mono);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.monitor-gate-chip.verified {
  border-color: rgba(80, 205, 137, .2);
}

.monitor-gate-chip.verified strong {
  color: var(--neon-green);
}

.monitor-gate-chip.awaited {
  border-color: rgba(241, 188, 0, .24);
}

.monitor-gate-chip.awaited strong {
  color: var(--neon-gold);
}

.monitor-gate-chip.blocked {
  border-color: rgba(255, 90, 113, .3);
  background: rgba(255, 90, 113, .06);
}

.monitor-gate-chip.blocked strong {
  color: var(--neon-red, #ff5a71);
}

.monitor-watch-plan {
  display: grid;
  gap: .58rem;
  padding: .8rem 0;
  margin: .2rem 0 .7rem;
  border-top: 1px solid rgba(255, 255, 255, .06);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.monitor-plan-label {
  color: var(--text-muted);
  font: 800 .54rem var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.monitor-watch-step {
  display: grid;
  grid-template-columns: 11px minmax(0, 1fr);
  gap: .55rem;
}

.monitor-watch-step i {
  width: 8px;
  height: 8px;
  margin-top: .22rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 50%;
}

.monitor-watch-step.done i {
  border-color: var(--neon-blue);
  background: var(--neon-blue);
}

.monitor-watch-step.current i {
  border-color: var(--neon-gold);
  box-shadow: 0 0 8px rgba(241, 188, 0, .35);
}

.monitor-watch-step strong {
  display: block;
  color: var(--text-secondary);
  font-size: .66rem;
}

.monitor-watch-step.current strong {
  color: var(--neon-gold);
}

.monitor-watch-step p {
  margin: .16rem 0 0;
  color: var(--text-muted);
  font-size: .62rem;
  line-height: 1.4;
}

@media (max-width: 560px) {
  .monitor-gate-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .monitor-evidence-hero,
  .monitor-confirmation-panel {
    grid-template-columns: 1fr;
  }

  .monitor-evidence-mark {
    display: none;
  }

  .monitor-confirmation-levels {
    grid-template-columns: repeat(3, 1fr);
    text-align: left;
  }
}

.monitor-command-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(0, 0, 0, 0.2);
  padding: 6px 12px;
  border-radius: 6px;
  margin-bottom: 0.75rem;
  font-size: 0.8rem;
}

.monitor-command-row strong {
  color: var(--neon-blue);
  text-shadow: 0 0 6px var(--neon-blue-glow);
}

.monitor-id {
  font-size: 0.7rem;
  font-family: var(--font-mono);
  color: var(--text-muted);
}

.monitor-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.monitor-metric {
  display: flex;
  flex-direction: column;
}

.monitor-metric span {
  font-size: 0.65rem;
  color: var(--text-muted);
  margin-bottom: 0.1rem;
}

.monitor-metric strong {
  font-size: 0.8rem;
}

.monitor-metric strong.long {
  color: var(--neon-green);
}

.monitor-metric strong.short {
  color: var(--neon-red);
}

/* Progress bar to TP1 */
.target-progress {
  margin-bottom: 0.75rem;
}

.target-progress-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  color: var(--text-muted);
  margin-bottom: 0.2rem;
}

.target-progress-track {
  height: 4px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 2px;
  overflow: hidden;
}

#monitor-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--neon-blue), var(--neon-green));
  width: 0%;
  transition: width 0.5s ease-out;
}

#monitor-journey-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--neon-blue), var(--neon-purple), var(--neon-green));
  width: 0%;
  transition: width 0.5s ease-out;
}

.target-journey-progress {
  margin-top: -0.2rem;
}

.monitor-targets {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  background: rgba(255, 255, 255, 0.01);
  padding: 6px;
  border-radius: 6px;
  margin-bottom: 0.75rem;
}

.monitor-targets span {
  color: var(--text-muted);
}

.monitor-targets strong {
  color: var(--text-secondary);
}

/* Persistent TP milestones: completed targets remain visible while the next
   target shows its own progress state. */
.target-milestones {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
  margin-bottom: 0.75rem;
}

.target-milestone {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  min-width: 0;
  color: var(--text-muted);
}

.target-milestone:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 10px;
  left: calc(100% - 0.1rem);
  width: 0.45rem;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}

.milestone-node {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font: 700 0.62rem var(--font-mono);
}

.target-milestone>div {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.target-milestone span:not(.milestone-node) {
  font-size: 0.66rem;
  font-weight: 800;
}

.target-milestone strong {
  font-size: 0.68rem;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
}

.target-milestone small {
  font-size: 0.55rem;
  font-family: var(--font-mono);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.target-milestone.completed {
  color: var(--neon-green);
}

.target-milestone.completed .milestone-node {
  background: var(--neon-green);
  color: #062316;
  border-color: var(--neon-green);
}

.target-milestone.current {
  color: var(--neon-blue);
}

.target-milestone.current .milestone-node {
  box-shadow: 0 0 10px rgba(0, 242, 254, 0.7);
  animation: milestone-pulse 1.2s infinite alternate;
}

.target-milestone.blocked {
  color: var(--neon-red);
}

.target-milestone.blocked .milestone-node {
  background: var(--neon-red);
  color: #2a0611;
  border-color: var(--neon-red);
}

.target-milestone.upcoming {
  color: var(--text-muted);
}

@keyframes milestone-pulse {
  from {
    opacity: 0.65;
  }

  to {
    opacity: 1;
  }
}

@media (max-width: 700px) {
  .target-milestones {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 0.8rem;
  }

  .target-milestone:not(:last-child)::after {
    display: none;
  }
}

.monitor-events {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  max-height: 100px;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.15);
  border-radius: 6px;
  padding: 6px;
  font-family: var(--font-mono);
}

.monitor-empty {
  font-size: 0.7rem;
  color: var(--text-muted);
  text-align: center;
  padding: 10px;
}

.monitor-event {
  font-size: 0.65rem;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.02);
  padding-bottom: 2px;
}

.monitor-event strong {
  color: var(--neon-blue);
}

.monitor-event.tp1_hit strong,
.monitor-event.tp2_hit strong,
.monitor-event.tp3_hit strong {
  color: var(--neon-green);
}

.monitor-event.stop_hit strong {
  color: var(--neon-red);
}

.dismiss-signal-btn {
  margin-top: 0.75rem;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-secondary);
  border: 1px solid var(--border-color);
  padding: 6px 12px;
}

.dismiss-signal-btn:hover {
  background: rgba(255, 0, 127, 0.1);
  border-color: var(--neon-red);
  color: var(--neon-red);
}

/* ────────────────────────────────────────────────────────────────────────── */
/* Exact setup details card                                                   */
/* ────────────────────────────────────────────────────────────────────────── */

.setup-status-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.setup-status {
  font-size: 0.7rem;
  font-weight: 700;
  font-family: var(--font-mono);
  background: rgba(255, 255, 255, 0.04);
  padding: 3px 8px;
  border-radius: 4px;
}

.setup-status.ready_for_manual_review {
  background: rgba(0, 255, 135, 0.1);
  color: var(--neon-green);
  border: 1px solid rgba(0, 255, 135, 0.2);
}

.setup-status.watch_only {
  background: rgba(0, 242, 254, 0.1);
  color: var(--neon-blue);
  border: 1px solid rgba(0, 242, 254, 0.2);
}

.setup-reason {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.setup-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.setup-item {
  display: flex;
  flex-direction: column;
}

.setup-item .label {
  font-size: 0.65rem;
  color: var(--text-muted);
  margin-bottom: 0.1rem;
}

.setup-item .value {
  font-size: 0.8rem;
  font-weight: 600;
}

.target-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.01);
  padding: 8px;
  border-radius: 6px;
  margin-bottom: 0.75rem;
}

.target-item {
  display: flex;
  flex-direction: column;
}

.target-item span {
  font-size: 0.65rem;
  color: var(--text-muted);
  margin-bottom: 0.1rem;
}

.target-item strong {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.leverage-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  margin-bottom: 0.5rem;
  color: var(--text-secondary);
}

.leverage-summary strong {
  color: var(--neon-blue);
}

.leverage-table {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  background: rgba(0, 0, 0, 0.2);
  padding: 6px;
  border-radius: 6px;
  font-family: var(--font-mono);
  max-height: 100px;
  overflow-y: auto;
}

.leverage-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.65rem;
  padding: 2px 4px;
}

.leverage-row.blocked {
  color: var(--text-muted);
  text-decoration: line-through;
  opacity: 0.5;
}

.leverage-row.allowed {
  color: var(--neon-green);
}

.empty-leverage {
  font-size: 0.7rem;
  color: var(--text-muted);
  text-align: center;
  padding: 10px;
}

/* ────────────────────────────────────────────────────────────────────────── */
/* CIO Intelligence Dossier (Right Panel)                                    */
/* ────────────────────────────────────────────────────────────────────────── */

.ai-meta-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.meta-badge {
  font-size: 0.7rem;
  font-weight: 700;
  background: rgba(0, 242, 254, 0.15);
  color: var(--neon-blue);
  border: 1px solid rgba(0, 242, 254, 0.25);
  padding: 2px 8px;
  border-radius: 4px;
}

.meta-confidence {
  font-size: 0.75rem;
  font-family: var(--font-mono);
  color: var(--text-secondary);
}

.markdown-content {
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--text-secondary);
}

.markdown-content h2,
.markdown-content h3 {
  font-size: 0.9rem;
  margin: 0.75rem 0 0.25rem 0;
  color: var(--text-primary);
}

.markdown-content ul,
.markdown-content ol {
  padding-left: 1.25rem;
  margin-bottom: 0.5rem;
}

.markdown-content li {
  margin-bottom: 0.25rem;
}

.markdown-content hr {
  border: none;
  border-top: 1px solid var(--border-color);
  margin: 1rem 0;
}

.ai-content-card {
  max-height: 380px;
  overflow-y: auto;
}

.ai-content-card .empty-state {
  text-align: center;
  padding: 3rem 0;
  color: var(--text-muted);
}

.ai-content-card .empty-state .icon {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.5rem;
}

/* Risk & Calculator styles */
.risk-info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.risk-metric {
  display: flex;
  flex-direction: column;
}

.risk-metric .label {
  font-size: 0.65rem;
  color: var(--text-muted);
  margin-bottom: 0.1rem;
}

.risk-metric .value {
  font-size: 0.8rem;
  font-weight: 600;
}

.stop-loss-selector {
  margin-bottom: 0.75rem;
}

.stop-loss-selector .label {
  font-size: 0.7rem;
  color: var(--text-muted);
  display: block;
  margin-bottom: 0.25rem;
}

.selector-options {
  display: flex;
  gap: 0.75rem;
}

.radio-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  cursor: pointer;
}

.radio-label input {
  display: none;
}

.radio-btn {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid var(--border-color);
  background: rgba(0, 0, 0, 0.3);
  display: inline-block;
  position: relative;
}

.radio-label input:checked+.radio-btn {
  border-color: var(--neon-blue);
  background: var(--neon-blue);
  box-shadow: 0 0 6px var(--neon-blue-glow);
}

.risk-calculator-inputs {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.input-inline {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.input-inline label {
  font-size: 0.65rem;
  color: var(--text-muted);
}

.sizing-output {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  background: rgba(0, 0, 0, 0.25);
  padding: 8px 12px;
  border-radius: 6px;
}

.sizing-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
}

.sizing-row strong {
  color: var(--neon-blue);
}

/* RAG Kelly recommendations */
.kelly-toggle-container {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
}

.kelly-recommendation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  background: rgba(0, 242, 254, 0.04);
  padding: 4px 8px;
  border-radius: 4px;
}

.kelly-status-badge {
  font-size: 0.65rem;
  font-weight: bold;
  padding: 1px 5px;
  border-radius: 3px;
}

.kelly-status-badge.positive {
  background: rgba(0, 255, 135, 0.1);
  color: var(--neon-green);
}

.kelly-status-badge.negative {
  background: rgba(255, 0, 127, 0.1);
  color: var(--neon-red);
}

/* Liquidation price magnets list */
.liquidation-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.liquidation-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.liquidation-info {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  font-weight: 500;
}

.liquidation-bar-container {
  height: 4px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 2px;
}

.liquidation-bar {
  height: 100%;
  border-radius: 2px;
  transition: width 0.4s ease-out;
}

.liquidation-bar.short {
  background-color: var(--neon-red);
  box-shadow: 0 0 6px var(--neon-red-glow);
}

.liquidation-bar.long {
  background-color: var(--neon-green);
  box-shadow: 0 0 6px var(--neon-green-glow);
}

.liquidation-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.65rem;
  color: var(--text-muted);
}

.empty-liq {
  font-size: 0.75rem;
  color: var(--text-muted);
  text-align: center;
  padding: 1.5rem 0;
}

/* US Economic Calendar list */
.calendar-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-height: 150px;
  overflow-y: auto;
}

.calendar-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(255, 255, 255, 0.01);
  border: 1px solid var(--border-color);
  padding: 6px 10px;
  border-radius: 6px;
}

.calendar-event-info {
  display: flex;
  flex-direction: column;
}

.calendar-event-title {
  font-size: 0.75rem;
  font-weight: 500;
}

.calendar-event-meta {
  font-size: 0.65rem;
  color: var(--text-muted);
}

.calendar-badge {
  font-size: 0.6rem;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 3px;
}

.calendar-badge.high {
  background: rgba(255, 0, 127, 0.15);
  color: var(--neon-red);
}

.calendar-badge.medium {
  background: rgba(255, 179, 0, 0.15);
  color: var(--neon-gold);
}

.calendar-badge.low {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-secondary);
}

.empty-calendar {
  font-size: 0.75rem;
  color: var(--text-muted);
  text-align: center;
  padding: 1.5rem 0;
}

/* News Sentiment layout */
.news-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  max-height: 150px;
  overflow-y: auto;
}

.news-scope-selector button {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: var(--text-muted);
  font-family: inherit;
  font-size: 0.62rem;
  cursor: pointer;
  transition: all var(--transition-speed);
}

.news-scope-selector button.active {
  background: var(--neon-blue);
  border-color: var(--neon-blue);
  color: #000 !important;
  font-weight: 700;
  box-shadow: 0 0 10px var(--neon-blue-glow);
}

.news-scope-selector button:hover:not(.active) {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.15);
  color: var(--text-primary);
}

.news-list li {
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 0.5rem;
}

/* Feed origin pills */
.feed-badge {
  display: inline-block;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 1px 4px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  flex-shrink: 0;
  line-height: 1.2;
  margin-top: 1px;
}

.feed-badge.gdelt {
  background: rgba(139, 92, 246, 0.12);
  color: var(--neon-purple);
  border: 1px solid rgba(139, 92, 246, 0.22);
}

.feed-badge.rss {
  background: rgba(245, 158, 11, 0.12);
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.22);
}

.news-list a {
  font-size: 0.75rem;
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 500;
  display: inline;
  line-height: 1.3;
}

.news-list a:hover {
  color: var(--neon-blue);
}

.news-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.65rem;
  color: var(--text-muted);
  margin-top: 0.15rem;
}

.empty-news {
  font-size: 0.75rem;
  color: var(--text-muted);
  text-align: center;
  padding: 1.5rem 0;
  border: none !important;
}

/* Operations log output footer */
.ops-controls {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.form-group-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
}

.form-group-inline label {
  color: var(--text-muted);
}

.form-group-inline input {
  width: 70px;
  padding: 4px 8px;
}

.ops-buttons {
  display: flex;
  gap: 0.5rem;
}

.ops-results {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 8px;
  padding: 10px;
  margin-top: 0.5rem;
}

.ops-header {
  display: flex;
  justify-content: space-between;
  font-size: 0.8rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.ops-badge {
  font-size: 0.65rem;
  padding: 1px 5px;
  border-radius: 3px;
}

.ops-metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.35rem;
  margin-bottom: 0.5rem;
}

.ops-metric-item {
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.02);
  padding: 4px;
  border-radius: 4px;
  text-align: center;
}

.ops-metric-item span {
  font-size: 0.6rem;
  color: var(--text-muted);
}

.ops-metric-item strong {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

.ops-log {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  max-height: 80px;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.15);
  padding: 6px;
  border-radius: 4px;
}

.ops-log h4 {
  font-size: 0.7rem;
  color: var(--text-muted);
  margin-bottom: 0.25rem;
}

/* ==========================================================================
   INNER CARD TABS (TAB CONTROLLERS INSIDE PANELS)
   ========================================================================== */

/* Header tab container inside card */
.card-tabs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  margin-bottom: 1rem;
  padding-bottom: 0px;
}

.card-tab-btn {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--text-secondary);
  font-family: var(--font-sans);
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0 0 0.65rem 0;
  cursor: pointer;
  transition: all var(--transition-speed);
  border-radius: 0;
  text-transform: capitalize;
}

.card-tab-btn:hover {
  color: var(--text-primary);
}

.card-tab-btn.active {
  color: var(--neon-blue);
  border-bottom-color: var(--neon-blue);
}

.card-tab-content.hidden {
  display: none !important;
}

/* ==========================================================================
   SINGLE-PAGE UNIFIED GRID SYSTEM
   ========================================================================== */
.dashboard-grid {
  display: grid;
  grid-template-columns: 310px 1.05fr 0.95fr;
  gap: 1rem;
  padding: 1rem;
  flex: 1;
}

.ops-log-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.02);
  padding: 2px 0;
}

.ops-log-row.success,
.ops-log-row.hit_runner {
  color: var(--neon-green);
}

.ops-log-row.stopped_out {
  color: var(--neon-red);
}

.console-logs {
  flex: 1;
}

.console-logs h3 {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.25rem;
}

.log-output {
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 8px 12px;
  height: 100px;
  overflow-y: auto;
  font-size: 0.7rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.log-entry {
  line-height: 1.35;
}

.log-entry.system {
  color: var(--text-muted);
}

.log-entry.ws-send {
  color: var(--neon-blue);
}

.log-entry.ws-receive {
  color: var(--neon-purple);
}

.log-entry.error {
  color: var(--neon-red);
}

footer {
  padding: 1rem 2rem;
  background: rgba(8, 12, 20, 0.7);
  border-top: 1px solid var(--border-color);
}

.credits {
  text-align: center;
  font-size: 0.65rem;
  color: var(--text-muted);
  margin-top: 0.5rem;
}

.hidden {
  display: none !important;
}

/* ==========================================================================
   CARD CATEGORY ACCENTS (LEFT ACCENT INDICATORS)
   ========================================================================== */
.controls-card {
  border-left: 3px solid var(--neon-purple) !important;
}

.scanner-card {
  border-left: 3px solid var(--neon-blue) !important;
}

.ticker-card {
  border-left: 3px solid var(--neon-blue) !important;
}

.decision-card {
  border-left: 3px solid var(--neon-gold) !important;
}

.council-card {
  border-left: 3px solid var(--neon-purple) !important;
}

.risk-card {
  border-left: 3px solid var(--neon-gold) !important;
}

.intelligence-card {
  border-left: 3px solid var(--neon-gold) !important;
}

.operations-card {
  border-left: 3px solid var(--neon-purple) !important;
}

/* Dynamic state borders on Signal Monitor */
.signal-monitor-card {
  border-left: 3px solid var(--text-muted) !important;
  transition: border-left 0.3s ease;
}

.signal-monitor-card.active,
.signal-monitor-card.tp1_secured,
.signal-monitor-card.tp2_secured,
.signal-monitor-card.tp3_secured {
  border-left: 3px solid var(--neon-green) !important;
}

.signal-monitor-card.stopped_out,
.signal-monitor-card.invalidated {
  border-left: 3px solid var(--neon-red) !important;
}

/* ==========================================================================
   METRIC ROWS & DATA SCANNABILITY DIVIDERS
   ========================================================================== */
.scanner-meta .meta-row,
.sizing-output .sizing-row,
.radar-row,
.target-progress-label,
.leverage-summary,
.ops-metric-item,
.ops-log-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.55rem 0;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
}

.scanner-meta .meta-row:last-child,
.sizing-output .sizing-row:last-child,
.radar-row:last-child,
.target-progress-label:last-child,
.leverage-summary:last-child,
.ops-metric-item:last-child {
  border-bottom: none;
}

/* Typography elements */
.label,
.radar-label,
.scanner-meta span,
.sizing-row span,
.ops-metric-item span {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.font-mono,
.value,
.sizing-row strong,
.radar-val,
.ops-metric-item strong,
.ticker-item .value {
  font-family: var(--font-mono);
  font-weight: 500;
  color: var(--text-primary);
}

/* Grid layout metrics box details */
.ticker-grid,
.setup-grid,
.target-grid {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.ticker-item,
.setup-item,
.target-item {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.03);
  padding: 0.75rem;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  transition: all var(--transition-speed);
}

.ticker-item:hover,
.setup-item:hover,
.target-item:hover {
  background: rgba(255, 255, 255, 0.01);
  border-color: rgba(255, 255, 255, 0.06);
}

/* Responsive queries */
@media (max-width: 1200px) {
  .dashboard-grid {
    grid-template-columns: 280px 1fr;
  }

  .ai-report-panel {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .controls-panel,
  .analytics-panel,
  .ai-report-panel {
    grid-column: span 1;
  }
}


/* ── Narrow Left Sidebar Metronic-inspired Layout ────────────────────────── */

.sidebar {
  width: 75px;
  background: rgba(8, 12, 20, 0.85);
  backdrop-filter: blur(20px);
  border-right: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 0;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.4);
}

.sidebar-logo {
  cursor: pointer;
  margin-bottom: 2.25rem;
  transition: transform var(--transition-speed);
}

.sidebar-logo:hover {
  transform: rotate(15deg) scale(1.1);
}

.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  flex-grow: 1;
  width: 100%;
  align-items: center;
}

.nav-item {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  text-decoration: none;
  transition: all var(--transition-speed);
  position: relative;
}

.nav-item svg {
  width: 22px;
  height: 22px;
  stroke-width: 2;
  stroke: currentColor;
  fill: none;
  transition: transform var(--transition-speed);
}

.nav-item:hover {
  background: rgba(255, 255, 255, 0.03);
  color: var(--neon-blue);
}

.nav-item:hover svg {
  transform: scale(1.1);
}

.nav-item.active {
  background: rgba(6, 182, 212, 0.08);
  color: var(--neon-blue);
  box-shadow: inset 0 0 10px rgba(6, 182, 212, 0.1);
}

.nav-item.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 15%;
  height: 70%;
  width: 3px;
  background: var(--neon-blue);
  border-radius: 0 4px 4px 0;
  box-shadow: 0 0 8px var(--neon-blue-glow);
}

/* Sidebar membership credential: compact, server-backed capacity card. */
.membership-capacity-trigger {
  background: transparent;
  border: 0;
  color: var(--text-secondary);
  cursor: pointer;
  position: relative;
}

.membership-capacity-trigger:hover,
.membership-capacity-trigger[aria-expanded="true"] {
  background: rgba(80, 205, 137, .09);
  color: var(--neon-green);
}

.membership-capacity-dot {
  background: var(--neon-green);
  border: 2px solid #10111a;
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(80, 205, 137, .7);
  height: 7px;
  position: absolute;
  right: 7px;
  top: 7px;
  width: 7px;
}

.membership-card-layer {
  inset: 0;
  position: fixed;
  z-index: 100060;
}

.membership-card-layer[hidden] {
  display: none;
}

.membership-card-scrim {
  background: transparent;
  border: 0;
  inset: 0;
  position: absolute;
  width: 100%;
}

.membership-card {
  animation: membership-card-in .24s var(--motion-ease, ease) both;
  background: linear-gradient(145deg, rgba(21, 22, 33, .99), rgba(10, 12, 20, .99));
  border: 1px solid rgba(80, 205, 137, .24);
  border-radius: 14px;
  box-shadow: 14px 0px 20px 20px rgb(0 0 0 / 78%), 20px -1px 34px 9px rgba(80, 205, 137, .07);
  left: 91px;
  max-width: calc(100vw - 128px);
  padding: 2.5rem;
  position: fixed;
  /* top: 50%; */
  bottom: -18%;
  transform: translateY(-50%);
  width: 366px;
}

.membership-card::before {
  background: linear-gradient(90deg, var(--neon-green), rgba(80, 205, 137, .1), transparent);
  border-radius: 14px 14px 0 0;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.membership-card-close {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 6px;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 1rem;
  height: 25px;
  line-height: 1;
  padding: 0;
  position: absolute;
  right: .8rem;
  top: .8rem;
  width: 25px;
}

.membership-card-close:hover {
  border-color: rgba(241, 65, 108, .45);
  color: var(--neon-red);
}

.membership-card-topline {
  align-items: center;
  display: flex;
  gap: .55rem;
  justify-content: space-between;
  padding-right: 2rem;
}

.membership-card-kicker {
  color: var(--neon-green);
  font: 800 .5rem var(--font-mono);
  letter-spacing: .14em;
}

.membership-card-status {
  background: rgba(80, 205, 137, .1);
  border: 1px solid rgba(80, 205, 137, .2);
  border-radius: 999px;
  color: #b8f1cf;
  font: 800 .46rem var(--font-mono);
  padding: .22rem .4rem;
}

.membership-card-identity {
  align-items: center;
  display: flex;
  gap: .65rem;
  margin: .85rem 0;
}

.membership-card-mark {
  align-items: center;
  background: rgba(80, 205, 137, .09);
  border: 1px solid rgba(80, 205, 137, .25);
  border-radius: 10px;
  color: var(--neon-green);
  display: inline-flex;
  font-size: 1rem;
  height: 35px;
  justify-content: center;
  width: 35px;
}

.membership-card h2 {
  color: var(--text-primary);
  font-size: .95rem;
  letter-spacing: -.025em;
  margin: 0;
}

.membership-card-identity p {
  color: var(--text-muted);
  font: .55rem var(--font-mono);
  margin: .18rem 0 0;
  text-transform: uppercase;
}

.membership-card-expiry {
  align-items: baseline;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  border-top: 1px solid rgba(255, 255, 255, .06);
  display: flex;
  font: .54rem var(--font-mono);
  justify-content: space-between;
  padding: .65rem 0;
}

.membership-card-expiry span,
.membership-card-capacity span,
.membership-card-slots>span {
  color: var(--text-muted);
  letter-spacing: .045em;
}

.membership-card-expiry strong {
  color: var(--text-secondary);
  font: 700 .57rem var(--font-mono);
}

.membership-card-capacity {
  margin-top: .78rem;
}

.membership-card-capacity>div:first-child {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
}

.membership-card-capacity strong {
  color: #e7f9ef;
  font: 800 .74rem var(--font-mono);
}

.membership-card-meter {
  background: rgba(255, 255, 255, .08);
  border-radius: 4px;
  height: 4px;
  margin: .5rem 0 .45rem;
  overflow: hidden;
}

.membership-card-meter i {
  background: linear-gradient(90deg, var(--neon-green), #b7f2cf);
  border-radius: inherit;
  display: block;
  height: 100%;
  transition: width .25s var(--motion-ease, ease);
  width: 0;
}

.membership-card-capacity p {
  color: var(--text-muted);
  font-size: .55rem;
  line-height: 1.4;
  margin: 0;
}

.membership-card-slots {
  margin-top: .85rem;
}

.membership-card-slot-list {
  display: grid;
  gap: .35rem;
  margin-top: .48rem;
}

.membership-card-slot {
  align-items: center;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 7px;
  display: flex;
  font: .53rem var(--font-mono);
  gap: .42rem;
  padding: .44rem .5rem;
}

.membership-card-slot b {
  color: #bfdcff;
  font-weight: 800;
}

.membership-card-slot small {
  color: var(--text-muted);
  margin-left: auto;
}

.membership-card-empty {
  color: var(--text-muted);
  font-size: .56rem;
  padding: .45rem 0;
}

.membership-card-footnote {
  border-left: 2px solid rgba(80, 205, 137, .55);
  color: var(--text-muted);
  font-size: .54rem;
  line-height: 1.4;
  margin: .85rem 0 0;
  padding-left: .45rem;
}

@keyframes membership-card-in {
  from {
    opacity: 0;
    transform: translate(-8px, -50%);
  }

  to {
    opacity: 1;
    transform: translate(0, -50%);
  }
}

@media (max-width: 680px) {
  .membership-card {
    bottom: .75rem;
    left: .75rem;
    max-width: none;
    top: auto;
    transform: none;
    width: calc(100vw - 1.5rem);
  }

  .membership-card::before {
    border-radius: 14px 14px 0 0;
  }

  @keyframes membership-card-in {
    from {
      opacity: 0;
      transform: translateY(10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

.sidebar-footer {
  margin-top: auto;
}

.user-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--neon-blue), var(--neon-purple));
  color: #000;
  font-weight: 700;
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 12px rgba(6, 182, 212, 0.3);
  cursor: pointer;
  letter-spacing: -0.5px;
}


/* ── Main Layout Wrapper ─────────────────────────────────────────────────── */

.main-wrapper {
  margin-left: 75px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  width: calc(100% - 75px);
  position: relative;
  z-index: 1;
}

/* Redefined Header Styles to match Metronic Breadcrumbs */
header.main-header {
  height: 65px;
  padding: 0 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(8, 12, 20, 0.65);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  position: sticky;
  top: 0;
  z-index: 990;
}

.header-title-sec h1 {
  font-size: 1.12rem;
  font-weight: 700;
  margin: 0;
  color: var(--text-primary);
  line-height: 1.2;
}

.breadcrumbs {
  font-size: 0.72rem;
  color: var(--text-muted);
  margin-top: 0.15rem;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 500;
}

.breadcrumbs .bullet {
  color: rgba(255, 255, 255, 0.12);
}

/* Adjust radar header elements positioning */
.main-wrapper header.main-header h1 {
  font-size: 1.12rem;
}

/* ── Metronic-inspired Volatility Alert Banner ──────────────────────────── */
.macro-alert-banner {
  background: rgba(241, 65, 108, 0.08);
  /* Transparent danger pink/red */
  border: 1px solid rgba(241, 65, 108, 0.2);
  border-left: 4px solid var(--neon-red);
  color: #ffffff;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  margin: 1rem 1rem 0 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.85rem;
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(241, 65, 108, 0.05);
  z-index: 10;
}

.alert-close-btn {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.4);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  padding: 0 0.5rem;
  margin-left: auto;
  transition: color var(--transition-speed);
}

.alert-close-btn:hover {
  color: var(--neon-red);
}

.macro-alert-banner .banner-icon {
  font-size: 1.15rem;
  animation: pulseWarning 1.5s infinite alternate;
}

.macro-alert-banner.hidden {
  display: none !important;
}

@keyframes slideDown {
  from {
    transform: translateY(-10px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes pulseWarning {
  0% {
    transform: scale(0.9);
    filter: drop-shadow(0 0 2px rgba(241, 65, 108, 0.2));
  }

  100% {
    transform: scale(1.1);
    filter: drop-shadow(0 0 8px rgba(241, 65, 108, 0.6));
  }
}

/* ── Tactical Cyber-Military UI Overhaul ────────────────────────────────── */

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image:
    linear-gradient(rgba(0, 242, 254, 0.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 242, 254, 0.012) 1px, transparent 1px);
  background-size: 35px 35px;
  pointer-events: none;
  z-index: 0;
}

.scanline {
  width: 100%;
  height: 100px;
  background: linear-gradient(0deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 242, 254, 0.04) 10%,
      rgba(0, 242, 254, 0.12) 50%,
      rgba(0, 242, 254, 0.04) 90%,
      rgba(0, 0, 0, 0) 100%);
  opacity: 0.22;
  position: fixed;
  bottom: 100%;
  left: 0;
  pointer-events: none;
  z-index: 9999;
  animation: scanline 8s linear infinite;
}

@keyframes scanline {
  0% {
    top: -100px;
  }

  100% {
    top: 100%;
  }
}

/* Tactical Radar scope widgets */
.radar-scope {
  position: relative;
  width: 130px;
  height: 130px;
  margin: 1.25rem auto;
  border-radius: 50%;
  border: 1.5px solid rgba(0, 242, 254, 0.18);
  background: rgba(6, 9, 19, 0.85);
  box-shadow: 0 0 20px rgba(0, 242, 254, 0.08);
  overflow: hidden;
}

.radar-sweep {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: conic-gradient(from 0deg, rgba(0, 242, 254, 0.16) 0deg, transparent 110deg);
  border-radius: 50%;
  animation: radar-sweep 3.6s linear infinite;
  transform-origin: center;
}

.radar-grid-circle {
  position: absolute;
  width: 70%;
  height: 70%;
  top: 15%;
  left: 15%;
  border-radius: 50%;
  border: 1px dashed rgba(0, 242, 254, 0.15);
}

.radar-grid-circle-inner {
  position: absolute;
  width: 40%;
  height: 40%;
  top: 30%;
  left: 30%;
  border-radius: 50%;
  border: 1px dashed rgba(0, 242, 254, 0.15);
}

.radar-crosshair-h {
  position: absolute;
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
  background: rgba(0, 242, 254, 0.15);
}

.radar-crosshair-v {
  position: absolute;
  height: 100%;
  width: 1px;
  left: 50%;
  top: 0;
  background: rgba(0, 242, 254, 0.15);
}

.radar-dot {
  position: absolute;
  width: 6px;
  height: 6px;
  background: var(--neon-green);
  border-radius: 50%;
  top: 32%;
  left: 68%;
  box-shadow: 0 0 10px var(--neon-green);
  animation: radar-blink 1.8s infinite alternate;
}

.radar-dot.red-alert {
  background: var(--neon-red);
  top: 65%;
  left: 28%;
  box-shadow: 0 0 10px var(--neon-red);
  animation: radar-blink 2.2s infinite alternate-reverse;
}

@keyframes radar-sweep {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes radar-blink {
  0% {
    opacity: 0.2;
  }

  100% {
    opacity: 1;
  }
}

/* Command shell logs output styling */
.log-output {
  font-family: var(--font-mono) !important;
  color: var(--neon-green) !important;
  background: #07090f !important;
  border: 1px solid rgba(80, 205, 137, 0.12) !important;
  box-shadow: inset 0 0 18px rgba(0, 0, 0, 0.85) !important;
  border-radius: 8px;
  padding: 0.85rem !important;
  max-height: 170px;
  overflow-y: auto;
  position: relative;
}

.log-output::after {
  content: ' █';
  color: var(--neon-green);
  font-weight: bold;
  animation: cursor-blink 1.2s step-end infinite;
}

@keyframes cursor-blink {

  from,
  to {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }
}

/* Active WebSocket glow border states */
.card.active-connection {
  border-color: rgba(62, 151, 255, 0.3) !important;
  box-shadow: 0 0 16px rgba(62, 151, 255, 0.08), var(--shadow-sm) !important;
  animation: connection-pulse 3s infinite alternate ease-in-out;
}

@keyframes connection-pulse {
  0% {
    border-color: rgba(62, 151, 255, 0.18);
  }

  100% {
    border-color: rgba(62, 151, 255, 0.38);
  }
}

/* ── Sci-Fi Scrolling Grid Backdrop & Glows ──────────────────────────────── */
@keyframes grid-scroll {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 0 35px;
  }
}

body::before {
  animation: grid-scroll 14s linear infinite;
}

/* Hazard flashing macro alert card */
.macro-alert-banner {
  animation: hazard-flash 1.2s infinite alternate ease-in-out !important;
}

@keyframes hazard-flash {
  0% {
    border-color: rgba(241, 65, 108, 0.2);
    box-shadow: 0 0 4px rgba(241, 65, 108, 0.05);
  }

  100% {
    border-color: rgba(241, 65, 108, 0.85);
    box-shadow: 0 0 16px rgba(241, 65, 108, 0.25);
  }
}

/* CRT glows for high-priority numbers */
#price-val,
#monitor-price-val {
  text-shadow: 0 0 10px rgba(62, 151, 255, 0.45);
}

#change-val {
  text-shadow: 0 0 10px rgba(80, 205, 137, 0.45);
}

#decision-val {
  text-shadow: 0 0 14px currentColor;
  letter-spacing: 1.5px;
  font-weight: 800;
}

/* Cybernetic tags and brackets in headings */
.breadcrumbs .badge {
  background: rgba(62, 151, 255, 0.08);
  border: 1px solid rgba(62, 151, 255, 0.2);
  color: var(--neon-blue);
  font-family: var(--font-mono);
  font-size: 0.65rem;
  padding: 1px 6px;
  border-radius: 4px;
}

/* Constellation Neural Background Canvas */
#scifi-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  pointer-events: none;
  opacity: 0.8;
}

/* Sci-Fi Loader Console & Progress Bars */
.scifi-loading-console {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.25rem 1rem;
  font-family: var(--font-mono);
  font-size: 0.76rem;
  color: var(--neon-blue);
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(62, 151, 255, 0.15);
  border-radius: 8px;
  margin-top: 0.5rem;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.loader-line {
  letter-spacing: 0.5px;
}

.loader-line.blinking {
  animation: telemetry-blink 1s steps(2) infinite;
}

@keyframes telemetry-blink {

  from,
  to {
    opacity: 0.4;
  }

  50% {
    opacity: 1;
  }
}

.progress-bar-container {
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 0.5rem;
}

.progress-bar-fill {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, var(--neon-blue), var(--neon-purple));
  border-radius: 2px;
  animation: loading-fill 2s ease-in-out infinite;
}

@keyframes loading-fill {
  0% {
    width: 0%;
  }

  50% {
    width: 70%;
  }

  100% {
    width: 100%;
  }
}

/* ── Sci-Fi AI Agent Profile Overhaul ────────────────────────────────────── */
.agent-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  padding-bottom: 0.5rem;
  width: 100%;
}

.agent-title-info {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.agent-icon {
  font-size: 1.25rem;
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.15));
}

.agent-meta-names {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.agent-name {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: 0.3px;
}

.agent-subtitle {
  font-size: 0.62rem;
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0.1px;
}

.agent-gauge-container {
  margin: 0.65rem 0;
  background: rgba(0, 0, 0, 0.15);
  padding: 0.5rem;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.02);
}

.agent-gauge-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.62rem;
  font-family: var(--font-mono);
  color: var(--text-secondary);
  margin-bottom: 0.35rem;
}

.agent-gauge-bar {
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 2px;
  overflow: hidden;
}

.agent-gauge-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.narrative-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.6rem;
  color: var(--neon-blue);
  letter-spacing: 0.6px;
  margin-bottom: 0.25rem;
  font-weight: 600;
  opacity: 0.9;
}

/* Circular SVG Confidence Gauge */
.overall-confidence-gauge {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  border: 1px dashed rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.3);
  transition: all var(--transition-speed);
}

.overall-confidence-gauge:hover {
  border-color: rgba(62, 151, 255, 0.15);
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5), 0 0 15px rgba(62, 151, 255, 0.05);
}

/* AI Council Background processing active states */
.processing-ticker.active-scanning .ticker-dot {
  background-color: var(--neon-blue) !important;
  box-shadow: 0 0 8px var(--neon-blue);
  animation: processing-ticker-glow 1s infinite alternate ease-in-out;
}

.processing-ticker.active-scanning .ticker-text {
  color: var(--neon-blue) !important;
  text-shadow: 0 0 4px rgba(62, 151, 255, 0.35);
}

.processing-ticker.active-live .ticker-dot {
  background-color: var(--neon-green) !important;
  box-shadow: 0 0 8px var(--neon-green);
  animation: processing-ticker-glow 0.8s infinite alternate ease-in-out;
}

.processing-ticker.active-live .ticker-text {
  color: var(--neon-green) !important;
  text-shadow: 0 0 4px rgba(80, 205, 137, 0.35);
}

@keyframes processing-ticker-glow {
  0% {
    transform: scale(0.85);
    opacity: 0.5;
  }

  100% {
    transform: scale(1.2);
    opacity: 1;
  }
}

/* Published signal outcome history */
.signal-history-card {
  grid-column: span 2;
}

.history-count,
.signal-outcome-badge {
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0.28rem 0.55rem;
  text-transform: uppercase;
}

.history-count {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-muted);
}

.signal-history-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.8rem 0;
}

.signal-history-summary span {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--border-color);
  border-radius: 5px;
  color: var(--text-muted);
  font-size: 0.68rem;
  padding: 0.3rem 0.48rem;
}

.signal-history-summary strong {
  color: var(--text-primary);
}

.signal-history-summary span:first-child strong {
  color: var(--neon-green);
}

.signal-history-summary span:nth-child(2) strong {
  color: var(--neon-red);
}

.signal-history-summary span:nth-child(3) strong {
  color: var(--neon-blue);
}

.signal-history-list {
  display: flex;
  flex-direction: column;
  gap: 0.42rem;
  max-height: 310px;
  overflow-y: auto;
}

.signal-history-row {
  align-items: center;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-color);
  border-left: 3px solid var(--text-muted);
  border-radius: 6px;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: minmax(130px, 0.8fr) minmax(190px, 1.4fr) auto;
  padding: 0.5rem 0.6rem;
}

.signal-history-row.success {
  border-left-color: var(--neon-green);
}

.signal-history-row.failure {
  border-left-color: var(--neon-red);
}

.signal-history-row.active {
  border-left-color: var(--neon-blue);
}

.signal-history-row.expired,
.signal-history-row.cancelled {
  border-left-color: var(--neon-gold);
}

.signal-history-identity,
.signal-history-detail {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.signal-history-identity strong {
  font-size: 0.72rem;
}

.signal-history-identity span,
.signal-history-detail small {
  color: var(--text-muted);
  font-size: 0.61rem;
}

.signal-history-detail span {
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.65rem;
}

.signal-history-detail small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.signal-outcome-badge.success {
  background: rgba(0, 255, 135, 0.12);
  color: var(--neon-green);
}

.signal-outcome-badge.failure {
  background: rgba(255, 0, 127, 0.12);
  color: var(--neon-red);
}

.signal-outcome-badge.active {
  background: rgba(0, 204, 255, 0.12);
  color: var(--neon-blue);
}

.signal-outcome-badge.expired,
.signal-outcome-badge.cancelled {
  background: rgba(255, 179, 0, 0.12);
  color: var(--neon-gold);
}

@media (max-width: 760px) {
  .signal-history-card {
    grid-column: auto;
  }

  .signal-history-row {
    grid-template-columns: 1fr auto;
  }

  .signal-history-detail {
    grid-column: 1 / -1;
  }
}

/* Premium Command Center — authenticated access and billing */
.access-gate {
  align-items: center;
  background:
    radial-gradient(circle at 12% 18%, rgba(62, 151, 255, 0.18), transparent 29rem),
    radial-gradient(circle at 88% 82%, rgba(114, 57, 234, 0.15), transparent 25rem),
    #090a10;
  display: flex;
  inset: 0;
  justify-content: center;
  min-height: 100vh;
  padding: 2rem;
  position: fixed;
  z-index: 3000;
}

.access-shell,
.membership-picker {
  background: linear-gradient(145deg, rgba(24, 25, 37, 0.98), rgba(12, 13, 21, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.5), 0 0 80px rgba(62, 151, 255, 0.07);
}

.access-shell {
  border-radius: 22px;
  display: grid;
  grid-template-columns: 1.13fr 0.87fr;
  max-width: 1060px;
  min-height: 610px;
  overflow: hidden;
  width: 100%;
}

.access-shell[hidden] {
  display: none;
}

.access-intelligence {
  background:
    linear-gradient(135deg, rgba(16, 23, 43, 0.94), rgba(15, 17, 31, 0.82)),
    repeating-linear-gradient(90deg, transparent 0 48px, rgba(255, 255, 255, 0.025) 49px 50px);
  border-right: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 3.5rem;
  position: relative;
}

.access-intelligence::after {
  background: radial-gradient(circle, rgba(62, 151, 255, 0.28), transparent 67%);
  bottom: -12rem;
  content: '';
  height: 32rem;
  pointer-events: none;
  position: absolute;
  right: -13rem;
  width: 32rem;
}

.access-brand,
.membership-topline {
  align-items: center;
  display: flex;
  gap: 0.7rem;
  position: relative;
  z-index: 1;
}

.access-mark {
  align-items: center;
  background: linear-gradient(135deg, var(--neon-blue), var(--neon-purple));
  border-radius: 9px;
  box-shadow: 0 8px 22px rgba(62, 151, 255, 0.3);
  color: #fff;
  display: inline-flex;
  font: 700 0.82rem var(--font-mono);
  height: 34px;
  justify-content: center;
  letter-spacing: -0.06em;
  width: 34px;
}

.access-brand strong {
  font-size: 0.88rem;
  letter-spacing: 0.08em;
}

.access-brand span {
  color: var(--text-muted);
  font: 0.64rem var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.eyebrow {
  color: var(--neon-blue);
  font: 700 0.68rem var(--font-mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.access-copy-wrap {
  margin: auto 0 2.6rem;
  position: relative;
  z-index: 1;
}

.access-copy-wrap h2 {
  font-size: clamp(2rem, 4vw, 3.35rem);
  letter-spacing: -0.06em;
  line-height: 1.03;
  margin: 1rem 0 1.2rem;
  max-width: 8ch;
}

.access-copy-wrap p {
  color: var(--text-secondary);
  font-size: 0.96rem;
  line-height: 1.75;
  max-width: 37ch;
}

.access-proof-list {
  display: grid;
  gap: 0.9rem;
  position: relative;
  z-index: 1;
}

.access-proof-list div {
  align-items: center;
  color: var(--text-secondary);
  display: flex;
  font-size: 0.79rem;
  gap: 0.7rem;
}

.access-proof-list span {
  align-items: center;
  background: rgba(80, 205, 137, 0.11);
  border: 1px solid rgba(80, 205, 137, 0.22);
  border-radius: 50%;
  color: var(--neon-green);
  display: inline-flex;
  font-size: 0.65rem;
  height: 20px;
  justify-content: center;
  width: 20px;
}

.access-security {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--text-muted);
  font: 0.63rem var(--font-mono);
  letter-spacing: 0.06em;
  margin-top: 2rem;
  padding-top: 1.1rem;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}

.access-form-zone {
  align-items: center;
  display: flex;
  padding: 3rem;
}

.access-form {
  margin: auto;
  max-width: 350px;
  width: 100%;
}

.access-form-heading {
  margin-bottom: 2rem;
}

.access-form-heading h1 {
  font-size: 1.55rem;
  letter-spacing: -0.04em;
  margin-bottom: 0.55rem;
}

.access-form-heading p {
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.55;
}

.field-label {
  color: var(--text-secondary);
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 1rem 0 0.42rem;
}

.access-input {
  background: rgba(7, 8, 13, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 9px;
  color: var(--text-primary);
  font: 0.86rem var(--font-sans);
  outline: none;
  padding: 0.82rem 0.9rem;
  transition: border-color .18s ease, box-shadow .18s ease;
  width: 100%;
}

.access-input:focus {
  border-color: var(--neon-blue);
  box-shadow: 0 0 0 3px rgba(62, 151, 255, 0.13);
}

.access-error,
.plan-error {
  color: #ff91aa;
  font-size: 0.76rem;
  line-height: 1.5;
  min-height: 1.2rem;
  padding-top: 0.7rem;
}

.access-primary,
.access-secondary {
  border-radius: 9px;
  cursor: pointer;
  font: 700 0.78rem var(--font-sans);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
  width: 100%;
}

.access-primary {
  background: linear-gradient(135deg, #328cf8, #5a62ed);
  border: 0;
  box-shadow: 0 10px 24px rgba(62, 151, 255, 0.22);
  color: #fff;
  margin-top: 1.1rem;
  padding: 0.88rem 1rem;
}

.access-primary:hover {
  background: linear-gradient(135deg, #51a3ff, #6d76f4);
  transform: translateY(-1px);
}

.access-primary:disabled {
  cursor: progress;
  opacity: .65;
  transform: none;
}

.access-secondary {
  background: transparent;
  border: 0;
  color: var(--text-secondary);
  margin-top: 1rem;
  padding: 0.45rem;
}

.access-secondary:hover {
  color: var(--neon-blue);
}

.access-footer-note {
  color: var(--text-muted);
  font-size: 0.67rem;
  line-height: 1.5;
  margin: auto 0 0;
  text-align: center;
}

.membership-picker {
  border-radius: 22px;
  max-width: 1010px;
  padding: 2.65rem;
  width: 100%;
}

.membership-picker[hidden] {
  display: none;
}

.membership-topline {
  color: var(--neon-blue);
  font: 700 0.68rem var(--font-mono);
  justify-content: space-between;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.secure-chip {
  align-items: center;
  background: rgba(80, 205, 137, 0.08);
  border: 1px solid rgba(80, 205, 137, 0.18);
  border-radius: 999px;
  color: var(--neon-green);
  display: inline-flex;
  font-size: 0.6rem;
  gap: .38rem;
  padding: .38rem .62rem;
}

.membership-picker h2 {
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  letter-spacing: -0.045em;
  margin: 1.2rem 0 .55rem;
}

.membership-picker>p {
  color: var(--text-secondary);
  font-size: .86rem;
  line-height: 1.6;
  max-width: 54ch;
}

.membership-back {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--text-muted);
  cursor: pointer;
  display: inline-flex;
  font: 700 .66rem var(--font-mono);
  letter-spacing: .04em;
  margin: .45rem 0 1.1rem;
  padding: .2rem 0;
}

.membership-back:hover {
  color: var(--neon-blue);
  transform: translateX(-2px);
}

.plan-options {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.9rem;
}

.plan-card {
  background: rgba(5, 7, 12, 0.52);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 13px;
  color: var(--text-primary);
  cursor: pointer;
  min-height: 150px;
  padding: 1.1rem;
  position: relative;
  text-align: left;
  transition: border-color .18s ease, transform .18s ease, background .18s ease;
  width: 100%;
}

.plan-card:hover,
.plan-card.is-selected {
  background: rgba(62, 151, 255, 0.075);
  border-color: rgba(62, 151, 255, 0.65);
  transform: translateY(-2px);
}

.plan-card-featured {
  border-color: rgba(241, 188, 0, 0.43);
}

.plan-card-featured:hover,
.plan-card-featured.is-selected {
  background: rgba(241, 188, 0, 0.075);
  border-color: var(--neon-gold);
}

.plan-card-badge {
  background: var(--neon-gold);
  border-radius: 999px;
  color: #17120a;
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .065em;
  padding: .31rem .53rem;
  position: absolute;
  right: .9rem;
  text-transform: uppercase;
  top: -.62rem;
}

.plan-card-top {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  padding-right: 1.3rem;
}

.plan-card-name {
  display: block;
  font-size: .92rem;
  font-weight: 750;
}

.plan-name-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
}

.plan-savings-pill {
  background: rgba(62, 151, 255, .12);
  border: 1px solid rgba(62, 151, 255, .32);
  border-radius: 999px;
  color: #9cc9ff;
  font: 800 .5rem var(--font-mono);
  letter-spacing: .055em;
  padding: .22rem .38rem;
}

.plan-savings-pill-featured {
  background: rgba(241, 188, 0, .13);
  border-color: rgba(241, 188, 0, .34);
  color: var(--neon-gold);
}

.plan-card-note {
  color: var(--text-muted);
  display: block;
  font-size: .67rem;
  line-height: 1.35;
  margin-top: .34rem;
  max-width: 20ch;
}

.plan-card-radio {
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  height: 16px;
  margin-top: .1rem;
  width: 16px;
}

.is-selected .plan-card-radio {
  border: 4px solid var(--neon-blue);
}

.plan-card-featured.is-selected .plan-card-radio {
  border-color: var(--neon-gold);
}

.plan-card-price {
  align-items: baseline;
  display: flex;
  gap: .38rem;
  margin-top: 1.2rem;
}

.plan-card-price strong {
  font: 800 1.3rem var(--font-mono);
  letter-spacing: -.07em;
}

.plan-card-price small,
.plan-card-value {
  color: var(--text-muted);
  font-size: .68rem;
}

.plan-list-price {
  color: var(--text-muted);
  display: block;
  font: .57rem var(--font-mono);
  margin-top: .22rem;
  text-decoration: line-through;
}

.plan-card-value {
  border-top: 1px solid rgba(255, 255, 255, .07);
  display: block;
  margin-top: .85rem;
  padding-top: .65rem;
}

.plan-card.is-loading {
  cursor: progress;
  opacity: .7;
}

.plan-card:disabled:not(.is-loading) {
  cursor: not-allowed;
  opacity: .46;
}

.checkout-progress {
  background: rgba(62, 151, 255, .07);
  border: 1px solid rgba(62, 151, 255, .22);
  border-radius: 10px;
  margin-top: 1rem;
  padding: .72rem .8rem;
}

.checkout-progress[hidden] {
  display: none;
}

.checkout-progress-copy {
  align-items: center;
  color: #c9dfff;
  display: flex;
  font: 700 .69rem var(--font-mono);
  gap: .5rem;
  letter-spacing: .03em;
}

.checkout-progress-spinner {
  border: 2px solid rgba(62, 151, 255, .24);
  border-right-color: var(--neon-blue);
  border-radius: 50%;
  height: 12px;
  width: 12px;
}

.checkout-progress.is-active .checkout-progress-spinner {
  animation: checkout-spin .75s linear infinite;
}

.checkout-progress-track {
  background: rgba(255, 255, 255, .07);
  border-radius: 999px;
  height: 4px;
  margin-top: .65rem;
  overflow: hidden;
}

.checkout-progress-track span {
  background: linear-gradient(90deg, var(--neon-blue), #8fbfff, var(--neon-blue));
  border-radius: inherit;
  display: block;
  height: 100%;
  transform: translate3d(-105%, 0, 0);
  will-change: transform;
  width: 42%;
}

.checkout-progress.is-active .checkout-progress-track span {
  animation: checkout-progress 1.15s linear infinite;
}

@keyframes checkout-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes checkout-progress {
  0% {
    transform: translate3d(-105%, 0, 0);
  }

  100% {
    transform: translate3d(240%, 0, 0);
  }
}

.membership-footer {
  color: var(--text-muted);
  font: .65rem var(--font-mono);
  margin-top: .9rem;
  text-align: center;
}

.membership-footer span {
  color: var(--neon-green);
}

/* In-page NOWPayments workspace: provider-issued instructions, product-native presentation. */
.payment-modal-overlay {
  align-items: center;
  backdrop-filter: blur(14px);
  background: rgba(5, 7, 13, .86);
  display: grid;
  inset: 0;
  justify-items: center;
  padding: 1.2rem;
  position: fixed;
  z-index: 100050;
}

.payment-modal-overlay[hidden] {
  display: none !important;
}

.payment-modal-card {
  background: #141625;
  border: 1px solid rgba(62, 151, 255, .28);
  border-radius: 16px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .78), 0 0 38px rgba(62, 151, 255, .11);
  max-height: min(90vh, 760px);
  max-width: 960px;
  overflow: auto;
  position: relative;
  width: 100%;
}

.payment-modal-accent {
  background: linear-gradient(90deg, var(--neon-blue), var(--neon-purple), var(--neon-green));
  height: 3px;
}

.payment-modal-header {
  align-items: flex-start;
  background: rgba(255, 255, 255, .018);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  display: flex;
  justify-content: space-between;
  padding: 1.25rem 1.5rem 1.05rem;
}

.payment-modal-eyebrow,
.payment-panel-label {
  color: var(--neon-blue);
  display: block;
  font: 800 .56rem var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.payment-modal-header h2 {
  color: var(--text-primary);
  font-size: 1.14rem;
  letter-spacing: -.025em;
  margin: .36rem 0 0;
}

.payment-modal-close {
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 8px;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 1.28rem;
  height: 30px;
  line-height: 1;
  padding: 0;
  width: 30px;
}

.payment-modal-close:hover {
  border-color: rgba(241, 65, 108, .55);
  color: var(--neon-red);
}

.payment-modal-body {
  display: grid;
  grid-template-columns: minmax(255px, .82fr) minmax(0, 1.18fr);
}

.payment-order-panel {
  background: linear-gradient(150deg, rgba(7, 9, 16, .76), rgba(14, 16, 27, .76));
  border-right: 1px solid rgba(255, 255, 255, .07);
  display: flex;
  flex-direction: column;
  min-height: 500px;
  padding: 1.55rem;
}

.payment-order-panel h3 {
  color: var(--text-primary);
  font-size: 1.35rem;
  letter-spacing: -.04em;
  margin: .72rem 0 .3rem;
}

.payment-order-panel>p {
  color: var(--text-muted);
  font-size: .7rem;
  line-height: 1.55;
  margin: 0 0 1.4rem;
  max-width: 30ch;
}

.payment-order-row {
  align-items: baseline;
  border-top: 1px solid rgba(255, 255, 255, .06);
  color: var(--text-muted);
  display: flex;
  font: .63rem var(--font-mono);
  justify-content: space-between;
  padding: .78rem 0;
}

.payment-order-row strong {
  color: var(--text-secondary);
  font-weight: 750;
  text-align: right;
}

.payment-order-total {
  border-color: rgba(62, 151, 255, .2);
  margin-top: .25rem;
}

.payment-order-total strong {
  color: var(--text-primary);
  font-size: 1rem;
  letter-spacing: -.04em;
}

.payment-order-reference {
  background: rgba(62, 151, 255, .06);
  border: 1px solid rgba(62, 151, 255, .18);
  border-radius: 7px;
  color: #a9cffb;
  font: .54rem var(--font-mono);
  line-height: 1.45;
  margin-top: .45rem;
  overflow-wrap: anywhere;
  padding: .55rem .62rem;
}

.payment-security-note {
  align-items: flex-start;
  background: rgba(80, 205, 137, .045);
  border: 1px solid rgba(80, 205, 137, .14);
  border-radius: 9px;
  display: flex;
  gap: .55rem;
  margin-top: auto;
  padding: .68rem;
}

.payment-security-note>span {
  color: var(--neon-green);
  font-weight: 900;
}

.payment-security-note p {
  color: var(--text-muted);
  font-size: .59rem;
  line-height: 1.45;
  margin: 0;
}

.payment-modal-back {
  background: transparent;
  border: 0;
  color: var(--text-muted);
  cursor: pointer;
  font: 750 .61rem var(--font-mono);
  margin-top: .9rem;
  padding: .3rem 0;
  text-align: left;
}

.payment-modal-back:hover {
  color: var(--neon-blue);
  transform: translateX(-2px);
}

.payment-workspace {
  display: grid;
  min-height: 500px;
  padding: 1.6rem;
  place-items: center;
}

.payment-setup,
.payment-instructions {
  max-width: 340px;
  width: 100%;
}

.payment-setup h3 {
  color: var(--text-primary);
  font-size: 1.2rem;
  letter-spacing: -.035em;
  margin: .7rem 0 .38rem;
}

.payment-setup>p {
  color: var(--text-muted);
  font-size: .69rem;
  line-height: 1.55;
  margin: 0 0 1.25rem;
}

.payment-field-label {
  color: var(--text-secondary);
  display: block;
  font: 800 .61rem var(--font-mono);
  margin-bottom: .48rem;
}

.payment-currency-select {
  appearance: none;
  background: rgba(5, 7, 13, .74);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  box-sizing: border-box;
  color: var(--text-primary);
  cursor: pointer;
  font: 700 .7rem var(--font-mono);
  outline: none;
  padding: .78rem .8rem;
  width: 100%;
}

.payment-currency-select:focus {
  border-color: rgba(62, 151, 255, .7);
  box-shadow: 0 0 0 3px rgba(62, 151, 255, .09);
}

.payment-currency-picker {
  position: relative;
}

.payment-currency-input-shell {
  position: relative;
}

.payment-currency-input-shell .payment-currency-select {
  padding-left: 3rem;
  padding-right: 2.3rem;
}

.payment-token-mark {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
}

.payment-token-mark[hidden] {
  display: none;
}

.payment-token-mark-small {
  left: .72rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.payment-currency-search {
  color: var(--text-muted);
  font-size: 1.15rem;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  right: .75rem;
  top: 50%;
  transform: translateY(-53%);
}

.payment-token-icon-shell {
  align-items: center;
  display: inline-grid;
  flex: 0 0 auto;
  height: 30px;
  justify-items: center;
  overflow: visible;
  position: relative;
  width: 30px;
}

.payment-token-icon {
  height: 100%;
  object-fit: contain;
  position: relative;
  width: 100%;
  z-index: 1;
}

.payment-token-icon-fallback {
  align-items: center;
  background: rgba(62, 151, 255, .14);
  border: 1px solid rgba(62, 151, 255, .32);
  border-radius: 50%;
  color: #cce4ff;
  display: inline-flex;
  font: 800 .47rem var(--font-mono);
  height: 28px;
  justify-content: center;
  letter-spacing: -.04em;
  position: absolute;
  width: 28px;
  z-index: 0;
}

.payment-currency-results {
  background: #0d0f1a;
  border: 1px solid rgba(62, 151, 255, .3);
  border-radius: 9px;
  box-shadow: 0 18px 35px rgba(0, 0, 0, .46);
  left: 0;
  margin-top: .45rem;
  max-height: 248px;
  overflow: auto;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 4;
}

.payment-currency-results[hidden] {
  display: none;
}

.payment-currency-result {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .055);
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  gap: .65rem;
  padding: .62rem .68rem;
  text-align: left;
  width: 100%;
}

.payment-currency-result:last-child {
  border-bottom: 0;
}

.payment-currency-result:hover,
.payment-currency-result:focus-visible {
  background: rgba(62, 151, 255, .1);
  outline: none;
}

.payment-currency-result-copy {
  display: grid;
  gap: .16rem;
  min-width: 0;
}

.payment-currency-result-copy strong {
  color: #eaf4ff;
  font: 800 .62rem var(--font-mono);
  letter-spacing: .025em;
}

.payment-currency-result-copy small {
  color: var(--text-muted);
  font-size: .56rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payment-currency-result-code {
  color: var(--neon-blue);
  font: 700 .48rem var(--font-mono);
  margin-left: auto;
  opacity: .72;
  text-align: right;
}

.payment-selected-token {
  align-items: center;
  background: rgba(80, 205, 137, .055);
  border: 1px solid rgba(80, 205, 137, .2);
  border-radius: 8px;
  display: flex;
  gap: .62rem;
  margin-top: .58rem;
  padding: .5rem .6rem;
}

.payment-selected-token[hidden] {
  display: none;
}

.payment-selected-token-copy {
  display: grid;
  gap: .13rem;
  min-width: 0;
}

.payment-selected-token-copy strong {
  color: #e1ffed;
  font: 800 .59rem var(--font-mono);
  letter-spacing: .03em;
}

.payment-selected-token-copy small {
  color: var(--text-muted);
  font-size: .53rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payment-selected-token-state {
  color: var(--neon-green);
  font: 800 .49rem var(--font-mono);
  margin-left: auto;
  text-transform: uppercase;
}

.payment-create-button {
  align-items: center;
  background: linear-gradient(135deg, rgba(62, 151, 255, .28), rgba(62, 151, 255, .15));
  border: 1px solid rgba(62, 151, 255, .6);
  border-radius: 8px;
  color: #eaf4ff;
  cursor: pointer;
  display: flex;
  font: 800 .66rem var(--font-mono);
  justify-content: space-between;
  letter-spacing: .02em;
  margin-top: .72rem;
  padding: .78rem .9rem;
  width: 100%;
}

.payment-create-button:hover {
  background: rgba(62, 151, 255, .35);
  transform: translateY(-1px);
}

.payment-create-button span {
  font-size: 1rem;
}

.payment-setup-footnote {
  border-left: 2px solid rgba(62, 151, 255, .58);
  color: var(--text-muted);
  font-size: .58rem;
  line-height: 1.45;
  margin: 1rem 0 0;
  padding-left: .55rem;
}

.payment-loading {
  align-items: center;
  color: var(--text-secondary);
  display: grid;
  gap: .65rem;
  justify-items: center;
  text-align: center;
}

.payment-loading[hidden] {
  display: none !important;
}

.payment-loading-orbit {
  border: 2px solid rgba(62, 151, 255, .18);
  border-radius: 50%;
  border-right-color: var(--neon-blue);
  height: 34px;
  width: 34px;
  animation: checkout-spin .75s linear infinite;
}

.payment-loading strong {
  color: #cbe3ff;
  font: 800 .69rem var(--font-mono);
}

.payment-loading small {
  color: var(--text-muted);
  font-size: .6rem;
}

.payment-status-line {
  align-items: center;
  display: flex;
  font: 800 .59rem var(--font-mono);
  gap: .45rem;
  letter-spacing: .035em;
}

.payment-status-dot {
  background: var(--neon-blue);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(62, 151, 255, .1);
  height: 7px;
  width: 7px;
}

.payment-status-dot.status-confirming,
.payment-status-dot.status-sending {
  background: var(--neon-gold);
  box-shadow: 0 0 0 4px rgba(241, 188, 0, .1);
}

.payment-status-dot.status-finished,
.payment-status-dot.status-confirmed {
  background: var(--neon-green);
  box-shadow: 0 0 0 4px rgba(80, 205, 137, .1);
}

.payment-expiry {
  color: var(--text-muted);
  margin-left: auto;
  text-transform: uppercase;
}

.payment-qr-shell {
  background: #fff;
  border: 7px solid #fff;
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(62, 151, 255, .25), 0 12px 28px rgba(0, 0, 0, .24);
  line-height: 0;
  margin: 1.25rem auto;
  padding: 4px;
  width: max-content;
}

.payment-qr-shell img {
  height: 174px;
  image-rendering: pixelated;
  width: 174px;
}

.payment-send-amount {
  text-align: center;
}

.payment-send-amount>span {
  color: var(--text-muted);
  display: block;
  font: .57rem var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.payment-send-amount strong {
  color: var(--text-primary);
  display: block;
  font: 800 1.25rem var(--font-mono);
  letter-spacing: -.055em;
  margin-top: .28rem;
}

.payment-address-block {
  background: rgba(5, 7, 13, .72);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 8px;
  margin-top: 1rem;
  padding: .68rem;
}

.payment-address-block>span {
  color: var(--text-muted);
  display: block;
  font: .52rem var(--font-mono);
  margin-bottom: .42rem;
  text-transform: uppercase;
}

.payment-address-block>div {
  align-items: center;
  display: flex;
  gap: .55rem;
}

.payment-address-block code {
  color: #abd1ff;
  font: 700 .64rem var(--font-mono);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payment-address-block button {
  background: rgba(62, 151, 255, .12);
  border: 1px solid rgba(62, 151, 255, .27);
  border-radius: 5px;
  color: #c9e1ff;
  cursor: pointer;
  font: 800 .51rem var(--font-mono);
  margin-left: auto;
  padding: .34rem .42rem;
}

.payment-address-block button:hover {
  background: rgba(62, 151, 255, .24);
}

.payment-address-block small {
  color: var(--neon-gold);
  display: block;
  font: .52rem var(--font-mono);
  margin-top: .45rem;
}

.payment-status-rail {
  align-items: flex-start;
  display: flex;
  margin: 1.35rem .35rem .7rem;
}

.payment-rail-step {
  align-items: center;
  color: var(--text-muted);
  display: grid;
  font: .5rem var(--font-mono);
  gap: .35rem;
  justify-items: center;
  line-height: 1.35;
  text-align: center;
  width: 64px;
}

.payment-rail-step i {
  background: var(--text-muted);
  border-radius: 50%;
  height: 7px;
  width: 7px;
}

.payment-rail-step.is-active {
  color: #bddbff;
}

.payment-rail-step.is-active i {
  background: var(--neon-blue);
  box-shadow: 0 0 10px rgba(62, 151, 255, .78);
}

.payment-rail-step.is-complete {
  color: #b5e8cb;
}

.payment-rail-step.is-complete i {
  background: var(--neon-green);
}

.payment-status-rail>b {
  background: rgba(255, 255, 255, .1);
  height: 1px;
  margin-top: 3px;
  min-width: 15px;
  flex: 1;
}

.payment-instruction-message {
  color: var(--text-muted);
  font-size: .59rem;
  line-height: 1.45;
  margin: 0;
  text-align: center;
}

.payment-success {
  display: grid;
  justify-items: center;
  max-width: 350px;
  padding: .5rem;
  text-align: center;
  width: 100%;
}

.payment-success[hidden] {
  display: none !important;
}

.payment-success-orbit {
  align-items: center;
  animation: payment-success-arrive .52s var(--motion-ease, ease) both;
  background: radial-gradient(circle, rgba(80, 205, 137, .26), rgba(80, 205, 137, .06) 58%, transparent 59%);
  border: 1px solid rgba(80, 205, 137, .44);
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(80, 205, 137, .045), 0 0 42px rgba(80, 205, 137, .18);
  color: var(--neon-green);
  display: grid;
  font-size: 1.55rem;
  font-weight: 900;
  height: 76px;
  margin-bottom: 1.3rem;
  position: relative;
  width: 76px;
}

.payment-success-orbit::before,
.payment-success-orbit::after {
  border: 1px solid rgba(80, 205, 137, .14);
  border-radius: 50%;
  content: '';
  inset: -11px;
  position: absolute;
}

.payment-success-orbit::after {
  animation: payment-success-pulse 1.8s ease-out infinite;
  inset: -20px;
}

.payment-success-eyebrow {
  color: var(--neon-green);
  font: 800 .56rem var(--font-mono);
  letter-spacing: .13em;
}

.payment-success h3 {
  color: var(--text-primary);
  font-size: 1.42rem;
  letter-spacing: -.045em;
  margin: .68rem 0 .4rem;
}

.payment-success p {
  color: var(--text-secondary);
  font-size: .7rem;
  line-height: 1.5;
  margin: 0;
  max-width: 32ch;
}

.payment-success-rail {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 1.45rem 0 1.2rem;
  width: 100%;
}

.payment-success-rail span {
  color: var(--text-muted);
  font: 800 .5rem var(--font-mono);
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}

.payment-success-rail span.is-complete {
  color: #bcebd0;
}

.payment-success-rail span.is-active {
  color: var(--neon-green);
}

.payment-success-rail b {
  background: rgba(80, 205, 137, .25);
  height: 1px;
  margin: 0 .45rem;
  min-width: 18px;
  flex: 1;
}

.payment-success button {
  align-items: center;
  background: linear-gradient(135deg, rgba(80, 205, 137, .25), rgba(80, 205, 137, .12));
  border: 1px solid rgba(80, 205, 137, .62);
  border-radius: 8px;
  color: #e5fff0;
  cursor: pointer;
  display: flex;
  font: 800 .66rem var(--font-mono);
  justify-content: space-between;
  letter-spacing: .02em;
  padding: .8rem .9rem;
  width: min(100%, 285px);
}

.payment-success button:hover {
  background: rgba(80, 205, 137, .34);
  transform: translateY(-1px);
}

.payment-success button span {
  font-size: 1rem;
}

.payment-success small {
  color: var(--text-muted);
  font: .55rem var(--font-mono);
  margin-top: .7rem;
}

.payment-confirmed .payment-modal-accent {
  background: linear-gradient(90deg, var(--neon-green), #b4efcf, var(--neon-green));
}

.payment-confirmed .payment-modal-close,
.payment-confirmed .payment-modal-back {
  visibility: hidden;
}

@keyframes payment-success-arrive {
  from {
    opacity: 0;
    transform: scale(.82);
  }

  65% {
    transform: scale(1.05);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes payment-success-pulse {
  0% {
    opacity: .8;
    transform: scale(.78);
  }

  100% {
    opacity: 0;
    transform: scale(1.12);
  }
}

@media (max-width: 680px) {
  .payment-modal-overlay {
    align-items: end;
    padding: .5rem;
  }

  .payment-modal-card {
    border-radius: 14px 14px 8px 8px;
    max-height: 94vh;
  }

  .payment-modal-header {
    padding: 1rem;
  }

  .payment-modal-body {
    grid-template-columns: 1fr;
  }

  .payment-order-panel {
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    border-right: 0;
    min-height: 0;
    padding: 1rem;
  }

  .payment-order-panel>p {
    margin-bottom: .8rem;
  }

  .payment-security-note {
    display: none;
  }

  .payment-modal-back {
    margin-top: .65rem;
  }

  .payment-workspace {
    min-height: 0;
    padding: 1.25rem 1rem;
  }

  .payment-qr-shell img {
    height: 156px;
    width: 156px;
  }
}

/* Dashboard refinement: lower visual noise, stronger analyst hierarchy. */
.sidebar {
  background: rgba(11, 12, 19, .9);
  border-right-color: rgba(255, 255, 255, .07);
  width: 76px;
}

.main-wrapper {
  margin-left: 76px;
  width: calc(100% - 76px);
}

header.main-header {
  background: rgba(12, 13, 20, .8);
  border-bottom-color: rgba(255, 255, 255, .07);
  height: 74px;
  padding: 0 2rem;
}

.dashboard-grid {
  gap: 1.1rem;
  padding: 1.1rem;
}

.card {
  background: linear-gradient(145deg, rgba(25, 26, 38, .9), rgba(18, 19, 29, .9));
  border-color: rgba(255, 255, 255, .075);
  border-radius: 13px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .16);
}

.card:hover {
  border-color: rgba(62, 151, 255, .28);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .22);
}

.card h3 {
  letter-spacing: -.015em;
}

@media (max-width: 820px) {
  .access-gate {
    padding: 1rem;
  }

  .access-shell {
    grid-template-columns: 1fr;
    max-width: 500px;
    min-height: auto;
  }

  .access-intelligence {
    display: none;
  }

  .access-form-zone {
    min-height: 550px;
    padding: 2rem;
  }

  .membership-picker {
    max-width: 500px;
    padding: 1.7rem;
  }

  .plan-options {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .access-form-zone {
    padding: 1.5rem;
  }

  .membership-picker {
    border-radius: 16px;
    padding: 1.35rem;
  }

  .access-gate {
    align-items: flex-start;
    overflow-y: auto;
  }

  header.main-header {
    padding: 0 1rem;
  }
}

/* Command Center dashboard shell — replaces the previous tactical/HUD treatment. */
body::before {
  display: none;
}

.scanline {
  opacity: 0.045;
}

.glow-bg {
  opacity: 0.45;
}

.sidebar {
  background: #10111a;
  border-right-color: rgba(255, 255, 255, .06);
  box-shadow: none;
}

.sidebar-logo {
  align-items: center;
  background: rgba(62, 151, 255, .08);
  border: 1px solid rgba(62, 151, 255, .16);
  border-radius: 12px;
  display: flex;
  height: 44px;
  justify-content: center;
  margin-bottom: 2.8rem;
  width: 44px;
}

.sidebar-logo:hover {
  transform: translateY(-2px);
}

.nav-item {
  border-radius: 10px;
  height: 44px;
  width: 44px;
}

.nav-item.active {
  background: rgba(62, 151, 255, .13);
  box-shadow: none;
}

.nav-item.active::before {
  border-radius: 0 3px 3px 0;
  box-shadow: none;
  height: 22px;
  top: 11px;
}

.user-avatar {
  border-radius: 11px;
  box-shadow: none;
}

header.main-header {
  background: rgba(12, 13, 20, .94);
  border-bottom-color: rgba(255, 255, 255, .07);
  gap: 1.5rem;
  height: 80px;
  padding: 0 2rem;
}

.header-title-sec {
  min-width: 190px;
}

.header-kicker {
  color: var(--neon-blue);
  font: 700 .58rem var(--font-mono);
  letter-spacing: .13em;
  margin-bottom: .28rem;
}

.header-title-sec h1,
.main-wrapper header.main-header h1 {
  font-size: 1.2rem;
  letter-spacing: -.035em;
}

.breadcrumbs {
  font-size: .64rem;
  letter-spacing: .02em;
  margin-top: .28rem;
}

.breadcrumbs .badge {
  background: rgba(80, 205, 137, .1);
  border: 1px solid rgba(80, 205, 137, .18);
  border-radius: 999px;
  color: var(--neon-green);
  font: 700 .55rem var(--font-mono);
  letter-spacing: .07em;
  padding: .18rem .38rem;
}

.header-market-context {
  align-items: center;
  border-left: 1px solid rgba(255, 255, 255, .08);
  display: flex;
  flex: 1;
  gap: 1.8rem;
  padding-left: 1.8rem;
}

.header-context-item {
  display: flex;
  flex-direction: column;
  gap: .22rem;
  min-width: 94px;
}

.header-context-item span {
  color: var(--text-muted);
  font: 700 .57rem var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.header-context-item strong {
  color: var(--text-primary);
  font-size: .75rem;
  letter-spacing: .015em;
}

.header-context-risk strong {
  color: var(--neon-gold);
  font: 700 .66rem var(--font-mono);
  letter-spacing: .05em;
}

.header-live-state {
  align-items: center;
  display: flex;
  gap: .75rem;
}

.header-scanner-status,
.connection-status {
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 999px;
  font-size: .67rem;
  padding: .46rem .7rem;
  white-space: nowrap;
}

.connection-status {
  padding: .46rem .7rem;
}

.open-radar-btn {
  align-items: center;
  background: rgba(62, 151, 255, .11);
  border: 1px solid rgba(62, 151, 255, .34);
  border-radius: 999px;
  color: #a9d0ff;
  display: inline-flex;
  font: 700 .62rem var(--font-mono);
  gap: .42rem;
  letter-spacing: .035em;
  padding: .49rem .72rem;
  text-decoration: none;
  transition: background var(--transition-speed), border-color var(--transition-speed), color var(--transition-speed), transform var(--transition-speed);
  white-space: nowrap;
}

.open-radar-btn:hover {
  background: rgba(62, 151, 255, .2);
  border-color: var(--neon-blue);
  color: #fff;
  transform: translateY(-1px);
}

.open-radar-btn-short {
  display: none;
}

.ai-connection-btn {
  align-items: center;
  display: inline-flex;
  gap: .42rem;
  padding: .45rem .64rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  color: var(--text-secondary);
  font: 700 .61rem var(--font-mono);
  letter-spacing: .025em;
  cursor: pointer;
  transition: .18s ease;
  white-space: nowrap;
}

.ai-connection-btn:hover {
  border-color: rgba(62, 151, 255, .45);
  background: rgba(62, 151, 255, .1);
  color: #e8f2ff;
  transform: translateY(-1px);
}

.ai-connection-btn.is-connected {
  border-color: rgba(80, 205, 137, .35);
  background: rgba(80, 205, 137, .07);
  color: #b6f0d0;
}

.ai-connection-dot {
  width: 6px;
  height: 6px;
  border-radius: 99px;
  background: var(--neon-gold);
  box-shadow: 0 0 0 3px rgba(241, 188, 0, .11);
}

.ai-connection-btn.is-connected .ai-connection-dot {
  background: var(--neon-green);
  box-shadow: 0 0 0 3px rgba(80, 205, 137, .11), 0 0 8px rgba(80, 205, 137, .45);
}

.ai-connection-model {
  max-width: 92px;
  overflow: hidden;
  padding-left: .38rem;
  border-left: 1px solid rgba(255, 255, 255, .12);
  color: var(--text-muted);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-connection-btn.is-connected .ai-connection-model {
  color: #9ddab8;
}

.ai-connection-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 100001;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(5, 7, 13, .82);
  backdrop-filter: blur(12px);
}

.ai-connection-modal-card {
  position: relative;
  width: min(540px, 100%);
  overflow: hidden;
  border: 1px solid rgba(62, 151, 255, .28);
  border-radius: 16px;
  background: #141625;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .72), 0 0 32px rgba(62, 151, 255, .12);
}

.ai-connection-modal-accent {
  height: 3px;
  background: linear-gradient(90deg, var(--neon-blue), var(--neon-purple), rgba(80, 205, 137, .8));
}

.ai-connection-modal-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.4rem 1.1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.ai-connection-modal-title-wrap {
  display: flex;
  gap: .8rem;
  min-width: 0;
}

.ai-connection-modal-icon {
  display: grid;
  place-items: center;
  flex: 0 0 39px;
  height: 39px;
  border: 1px solid rgba(62, 151, 255, .35);
  border-radius: 10px;
  background: rgba(62, 151, 255, .1);
  color: #abd1ff;
  font: 800 .7rem var(--font-mono);
}

.ai-connection-eyebrow {
  display: block;
  margin-bottom: .22rem;
  color: var(--neon-blue);
  font: 800 .56rem var(--font-mono);
  letter-spacing: .12em;
}

.ai-connection-modal-header h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: 1rem;
}

.ai-connection-modal-header p {
  margin: .3rem 0 0;
  color: var(--text-muted);
  font-size: .7rem;
  line-height: 1.45;
}

.ai-connection-close {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 7px;
  background: rgba(255, 255, 255, .04);
  color: var(--text-secondary);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

.ai-connection-close:hover {
  border-color: rgba(241, 65, 108, .5);
  color: var(--neon-red);
}

.ai-connection-form {
  display: grid;
  gap: .52rem;
  padding: 1.25rem 1.4rem 1.35rem;
}

.ai-connection-form label {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--text-secondary);
  font: 800 .65rem var(--font-mono);
  letter-spacing: .025em;
}

.ai-connection-form label small {
  color: var(--text-muted);
  font: 500 .61rem var(--font-mono);
  letter-spacing: 0;
  text-align: right;
}

.ai-connection-form input {
  width: 100%;
  box-sizing: border-box;
  padding: .72rem .8rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 8px;
  outline: none;
  background: rgba(6, 8, 15, .62);
  color: var(--text-primary);
  font: 600 .76rem var(--font-mono);
  transition: .18s ease;
}

.ai-connection-form input:focus {
  border-color: rgba(62, 151, 255, .65);
  box-shadow: 0 0 0 3px rgba(62, 151, 255, .09);
}

.ai-connection-saved {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin-bottom: .25rem;
  padding: .62rem .7rem;
  border: 1px solid rgba(80, 205, 137, .16);
  border-radius: 8px;
  background: rgba(80, 205, 137, .05);
  color: var(--text-muted);
  font: 700 .6rem var(--font-mono);
}

.ai-connection-saved strong {
  color: #b8edd0;
  font-weight: 800;
}

.ai-connection-saved-divider {
  width: 1px;
  height: 12px;
  margin: 0 .18rem;
  background: rgba(255, 255, 255, .11);
}

.ai-connection-note {
  margin: .3rem 0 0;
  padding: .65rem .75rem;
  border-left: 2px solid rgba(62, 151, 255, .7);
  border-radius: 0 7px 7px 0;
  background: rgba(62, 151, 255, .045);
  color: var(--text-muted);
  font-size: .65rem;
  line-height: 1.5;
}

.ai-connection-form-message {
  min-height: 1em;
  margin: 0;
  color: var(--neon-red);
  font-size: .68rem;
}

.ai-connection-form-message.is-success {
  color: var(--neon-green);
}

.ai-connection-actions {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .25rem;
}

.ai-connection-save,
.ai-connection-remove {
  padding: .66rem .85rem;
  border-radius: 8px;
  font: 800 .64rem var(--font-mono);
  cursor: pointer;
}

.ai-connection-save {
  margin-left: auto;
  border: 1px solid rgba(62, 151, 255, .55);
  background: rgba(62, 151, 255, .18);
  color: #d9eaff;
}

.ai-connection-save:hover {
  background: rgba(62, 151, 255, .29);
}

.ai-connection-remove {
  border: 1px solid rgba(241, 65, 108, .35);
  background: rgba(241, 65, 108, .07);
  color: #ffb4c7;
}

.ai-connection-remove:hover {
  background: rgba(241, 65, 108, .15);
}

.ai-connection-save:disabled,
.ai-connection-remove:disabled {
  opacity: .6;
  cursor: wait;
}

.command-overview {
  align-items: center;
  background: linear-gradient(100deg, rgba(22, 23, 35, .94), rgba(15, 16, 25, .75));
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 1.15rem 2rem;
}

.command-overview-copy {
  align-items: baseline;
  display: flex;
  gap: .8rem;
}

.command-overview-copy .eyebrow {
  font-size: .58rem;
}

.command-overview-copy strong {
  font-size: .84rem;
  letter-spacing: -.015em;
}

.command-overview-copy>span:last-child {
  color: var(--text-muted);
  font-size: .7rem;
}

.command-overview-state {
  align-items: center;
  display: flex;
  gap: .6rem;
}

.command-overview-state small {
  color: var(--text-muted);
  display: block;
  font: .57rem var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.command-overview-state strong {
  color: var(--text-secondary);
  font-size: .68rem;
}

.state-light {
  background: var(--neon-green);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(80, 205, 137, .55);
  height: 7px;
  width: 7px;
}

.dashboard-grid {
  gap: 1.25rem;
  grid-template-columns: 276px minmax(0, 1fr) 0.6fr;
  padding: 1.4rem 1.5rem 2rem;
}

.panel {
  gap: 1.25rem;
}

.card {
  background: linear-gradient(145deg, rgba(25, 26, 38, .96), rgba(18, 19, 29, .96));
  border-color: rgba(255, 255, 255, .075);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .14);
  padding: 1.25rem;
}

.card::before,
.card::after {
  height: 7px;
  opacity: .28;
  width: 7px;
}

.card:hover {
  border-color: rgba(62, 151, 255, .32);
  box-shadow: 0 18px 35px rgba(0, 0, 0, .2);
  transform: translateY(-2px);
}

.card h3,
.council-heading,
.monitor-heading,
.ops-header {
  border-bottom-color: rgba(255, 255, 255, .065);
  color: var(--text-primary);
  font-size: .7rem;
  letter-spacing: .09em;
  margin-bottom: 1rem;
  padding-bottom: .8rem;
}

.controls-card,
.scanner-card,
.ticker-card,
.decision-card,
.council-card,
.risk-card,
.intelligence-card,
.operations-card,
.signal-monitor-card {
  border-left: 1px solid rgba(255, 255, 255, .075) !important;
}

.form-group label,
.label,
.radar-label,
.scanner-meta span,
.sizing-row span,
.ops-metric-item span {
  font-size: .62rem;
  letter-spacing: .07em;
}

input[type="text"],
input[type="number"],
select {
  background: rgba(7, 8, 13, .48);
  border-color: rgba(255, 255, 255, .1);
  border-radius: 8px;
  padding: .72rem .75rem;
}

.btn.primary-btn {
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(62, 151, 255, .16);
  font-size: .69rem;
  letter-spacing: .06em;
  padding: .78rem;
  text-transform: uppercase;
}

.ticker-grid,
.setup-grid,
.target-grid {
  gap: .6rem;
}

.ticker-item,
.setup-item,
.target-item {
  background: rgba(6, 7, 12, .35);
  border-color: rgba(255, 255, 255, .055);
  border-radius: 9px;
  padding: .68rem;
}

.exact-setup-card {
  background: linear-gradient(145deg, rgba(29, 31, 47, .98), rgba(18, 19, 29, .98));
}

.market-context-card {
  border-left: 2px solid var(--neon-blue) !important;
  overflow: hidden;
}

.market-context-heading {
  align-items: flex-start;
  background: rgba(255, 255, 255, .018);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  display: flex;
  justify-content: space-between;
  margin: -1.25rem -1.25rem 1.15rem;
  padding: 1.05rem 1.25rem .9rem;
}

.market-context-heading .eyebrow {
  color: var(--text-muted);
  display: block;
  font: .57rem var(--font-mono);
  letter-spacing: .12em;
  margin-bottom: .36rem;
  text-transform: uppercase;
}

.market-context-heading h3 {
  border: 0;
  font-size: .82rem;
  margin: 0;
  padding: 0;
}

.market-context-status {
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 6px;
  font: 700 .6rem var(--font-mono);
  letter-spacing: .08em;
  padding: .38rem .55rem;
}

.market-context-status.long {
  background: var(--neon-green-glow);
  border-color: rgba(80, 205, 137, .3);
  color: var(--neon-green);
}

.market-context-status.short {
  background: var(--neon-red-glow);
  border-color: rgba(241, 65, 108, .3);
  color: var(--neon-red);
}

.market-context-status.wait {
  background: rgba(255, 255, 255, .04);
  color: var(--text-secondary);
}

.market-context-score-row {
  align-items: center;
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

.market-context-score {
  border-right: 1px solid rgba(255, 255, 255, .08);
  display: flex;
  flex: 0 0 104px;
  flex-direction: column;
}

.market-context-score>span,
.market-context-metric>span,
.market-context-label {
  color: var(--text-muted);
  font: .57rem var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.market-context-score strong {
  color: var(--text-primary);
  font: 800 1.65rem var(--font-mono);
  letter-spacing: -.08em;
  line-height: 1.08;
}

.market-context-score strong small {
  color: var(--text-muted);
  font: 700 .62rem var(--font-mono);
  letter-spacing: 0;
  margin-left: .18rem;
}

.market-context-score-row p {
  color: var(--text-secondary);
  font-size: .72rem;
  line-height: 1.52;
  margin: 0;
}

.market-context-grid {
  display: grid;
  gap: .55rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: .85rem;
}

.market-context-metric {
  background: rgba(6, 7, 12, .35);
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 9px;
  min-height: 61px;
  padding: .62rem;
}

.market-context-metric span {
  display: block;
  margin-bottom: .36rem;
}

.market-context-metric strong {
  color: var(--text-secondary);
  display: block;
  font: 700 .63rem var(--font-mono);
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.market-context-metric strong.positive {
  color: var(--neon-green);
}

.market-context-metric strong.negative {
  color: var(--neon-red);
}

.market-context-detail-grid {
  display: grid;
  gap: .7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.market-context-detail {
  display: grid;
  gap: .34rem;
}

.market-context-detail>div {
  align-items: center;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 7px;
  display: flex;
  font-size: .64rem;
  justify-content: space-between;
  padding: .48rem .58rem;
}

.market-context-detail>div span {
  color: var(--text-muted);
}

.market-context-detail>div strong {
  color: var(--text-primary);
  font: 700 .61rem var(--font-mono);
  text-align: right;
}

.market-context-contradictions {
  background: rgba(241, 65, 108, .07);
  border: 1px solid rgba(241, 65, 108, .18);
  border-radius: 8px;
  color: #f8afbf;
  font-size: .66rem;
  line-height: 1.4;
  margin-top: .85rem;
  padding: .6rem .7rem;
}

.validation-manifest {
  margin-top: 0.85rem;
  padding: 0.85rem;
  border: 1px solid rgba(107, 126, 255, 0.18);
  border-radius: 14px;
  background:
    radial-gradient(circle at 92% 12%, rgba(107, 126, 255, 0.14), transparent 34%),
    rgba(5, 11, 24, 0.56);
}

.validation-manifest[data-state="ready"] {
  border-color: rgba(61, 220, 151, 0.24);
}

.validation-manifest[data-state="blocked"] {
  border-color: rgba(255, 102, 119, 0.28);
}

.validation-manifest > header,
.validation-manifest-meters,
.validation-manifest-meters > div {
  display: flex;
  align-items: center;
}

.validation-manifest > header {
  justify-content: space-between;
  gap: 0.75rem;
}

.validation-manifest > header > div {
  display: grid;
  gap: 0.18rem;
}

.validation-manifest > header strong {
  color: var(--text-primary);
  font-size: 0.76rem;
  letter-spacing: 0.055em;
}

.validation-manifest-badge {
  flex: 0 0 auto;
  padding: 0.3rem 0.5rem;
  border: 1px solid rgba(140, 154, 187, 0.22);
  border-radius: 999px;
  color: var(--text-muted);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.validation-manifest-badge.ready {
  border-color: rgba(61, 220, 151, 0.35);
  color: #73e8b0;
  background: rgba(61, 220, 151, 0.08);
}

.validation-manifest-badge.blocked {
  border-color: rgba(255, 102, 119, 0.36);
  color: #ff8998;
  background: rgba(255, 102, 119, 0.08);
}

.validation-manifest-meters {
  gap: 0.65rem;
  margin-top: 0.75rem;
}

.validation-manifest-meters > div {
  position: relative;
  flex: 1 1 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.38rem 0.6rem;
}

.validation-manifest-meters span,
.validation-manifest p {
  color: var(--text-muted);
  font-size: 0.66rem;
}

.validation-manifest-meters strong {
  color: var(--text-secondary);
  font: 700 0.68rem var(--font-mono);
}

.validation-manifest-meters i {
  grid-column: 1 / -1;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(140, 154, 187, 0.12);
}

.validation-manifest-meters i b {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6b7eff, #51d7c7);
  transition: width 420ms ease;
}

.validation-manifest p {
  margin: 0.68rem 0 0;
  line-height: 1.45;
}

@media (max-width: 620px) {
  .validation-manifest-meters {
    align-items: stretch;
    flex-direction: column;
  }
}

.market-context-footer {
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, .06);
  color: var(--text-muted);
  display: flex;
  font: .56rem var(--font-mono);
  gap: .65rem;
  justify-content: space-between;
  letter-spacing: .025em;
  margin-top: .9rem;
  padding-top: .72rem;
}

.market-context-footer span:last-child {
  color: var(--neon-gold);
  text-align: right;
}

/* The committee header lives in the narrower intelligence rail.  Its inline
   flex groups previously kept the standby ticker and consensus pill on one
   line, making the pill push beyond the panel at desktop widths. */
.analytics-panel .council-heading>div {
  gap: .5rem !important;
  min-width: 0;
}

.analytics-panel .council-heading>div>div:first-child {
  min-width: 0;
}

.analytics-panel .council-heading h2 {
  font-size: .78rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.analytics-panel .processing-ticker {
  display: none !important;
}

.analytics-panel .consensus-badge {
  flex: 0 0 auto;
  font-size: .6rem;
  padding: 2px 6px;
}

.setup-status {
  border-radius: 6px;
  font-size: .6rem;
  letter-spacing: .07em;
}

.target-item {
  text-align: left;
}

.signal-monitor-card {
  background: linear-gradient(145deg, rgba(21, 29, 43, .9), rgba(18, 19, 29, .96));
}

.card-tabs {
  gap: 1rem;
}

.card-tab-btn {
  font-size: .67rem;
  letter-spacing: .03em;
}

.macro-alert-banner {
  border-radius: 10px;
  margin: 1rem 1.5rem 0;
}

@media (max-width: 1320px) {
  .header-market-context {
    gap: 1rem;
  }

  .header-context-item:nth-child(3) {
    display: none;
  }

  .dashboard-grid {
    grid-template-columns: 260px minmax(0, 1fr) 280px;
  }
}

@media (max-width: 1080px) {
  .header-market-context {
    display: none;
  }

  .dashboard-grid {
    grid-template-columns: 265px minmax(0, 1fr);
  }

  .analytics-panel {
    grid-column: span 2;
  }

  .open-radar-btn-label {
    display: none;
  }

  .open-radar-btn-short {
    display: inline;
  }

  .ai-connection-label {
    display: none;
  }
}

@media (max-width: 760px) {
  .market-context-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-context-score-row {
    align-items: flex-start;
    flex-direction: column;
    gap: .65rem;
  }

  .market-context-score {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    border-right: 0;
    padding-bottom: .55rem;
    width: 100%;
  }

  .market-context-detail-grid {
    grid-template-columns: 1fr;
  }

  .market-context-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .market-context-footer span:last-child {
    text-align: left;
  }
}

@media (max-width: 760px) {
  header.main-header {
    height: auto;
    min-height: 74px;
    padding: 1rem;
  }

  .header-live-state {
    gap: .4rem;
  }

  .header-scanner-status {
    display: none;
  }

  .ai-connection-model {
    display: none;
  }

  .ai-connection-btn {
    padding: .46rem .55rem;
  }

  .ai-connection-form label {
    align-items: flex-start;
    flex-direction: column;
    gap: .18rem;
  }

  .ai-connection-form label small {
    text-align: left;
  }

  .command-overview {
    align-items: flex-start;
    flex-direction: column;
    gap: .75rem;
    padding: 1rem;
  }

  .command-overview-copy {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }

  .dashboard-grid {
    padding: 1rem;
  }
}

/* ── Institutional motion system ───────────────────────────────────────── */
:root {
  --motion-fast: 160ms;
  --motion-base: 240ms;
  --motion-slow: 420ms;
  --motion-ease: cubic-bezier(.2, .8, .2, 1);
}

.panel,
.market-context-card,
.ai-content-card,
.controls-card,
.dashboard-grid .card {
  transition: border-color var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease);
}

.panel:hover,
.market-context-card:hover,
.ai-content-card:hover,
.controls-card:hover,
.dashboard-grid .card:hover {
  border-color: rgba(62, 151, 255, .18);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .18);
}

button,
.nav-item,
.action-btn-sm,
.ai-connection-btn {
  transition: transform var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), background-color var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease);
}

button:not(:disabled):active,
.action-btn-sm:active,
.nav-item:active {
  transform: scale(.98);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 2px solid rgba(62, 151, 255, .78);
  outline-offset: 3px;
}

.connection-status .dot.green,
.header-scanner-status .scanner-dot,
.state-light {
  animation: institutional-status-breathe 2.8s ease-in-out infinite;
}

@keyframes institutional-status-breathe {

  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(80, 205, 137, .05);
    opacity: 1;
  }

  50% {
    box-shadow: 0 0 0 5px rgba(80, 205, 137, 0);
    opacity: .78;
  }
}

.motion-open {
  animation: institutional-overlay-in var(--motion-base) var(--motion-ease) both;
}

.motion-open .dossier-modal-card,
.motion-open .ai-connection-modal-card {
  animation: institutional-modal-in var(--motion-slow) var(--motion-ease) both;
}

@keyframes institutional-overlay-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes institutional-modal-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.app-toast-region {
  display: grid;
  gap: .55rem;
  pointer-events: none;
  position: fixed;
  right: 1.25rem;
  top: 5rem;
  width: min(360px, calc(100vw - 2.5rem));
  z-index: 100100;
}

.app-toast {
  align-items: center;
  background: rgba(16, 18, 29, .96);
  border: 1px solid rgba(62, 151, 255, .28);
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .42), 0 0 20px rgba(62, 151, 255, .08);
  color: var(--text-secondary);
  display: flex;
  font-size: .73rem;
  gap: .7rem;
  opacity: 0;
  padding: .75rem .8rem;
  pointer-events: auto;
  transform: translateY(-8px) scale(.985);
  transition: opacity var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease);
}

.app-toast.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.app-toast-success {
  border-color: rgba(80, 205, 137, .32);
}

.app-toast-error {
  border-color: rgba(241, 65, 108, .34);
}

.app-toast-dot {
  background: var(--neon-blue);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(62, 151, 255, .75);
  flex: 0 0 6px;
  height: 6px;
  width: 6px;
}

.app-toast-success .app-toast-dot {
  background: var(--neon-green);
  box-shadow: 0 0 10px rgba(80, 205, 137, .75);
}

.app-toast-error .app-toast-dot {
  background: var(--neon-red);
  box-shadow: 0 0 10px rgba(241, 65, 108, .75);
}

.app-toast-copy {
  flex: 1;
  line-height: 1.45;
}

.app-toast-close {
  background: transparent;
  border: 0;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  padding: 0 .12rem;
}

.app-toast-close:hover {
  color: var(--text-primary);
  transform: none;
}

/* Trade setup ledger: a measured scenario, never an automatic execution ticket. */
.setup-ledger-card {
  border-left: 3px solid var(--text-muted) !important;
  display: grid;
  gap: .72rem;
  padding: 1rem !important;
}

.setup-ledger-card.ledger-watch_only {
  border-left-color: var(--neon-blue) !important;
}

.setup-ledger-card.ledger-ready_for_manual_review,
.setup-ledger-card.ledger-conditional_manual_review {
  border-left-color: var(--neon-green) !important;
}

.setup-ledger-card.ledger-blocked_by_macro {
  border-left-color: var(--neon-red) !important;
}

.setup-ledger-header {
  align-items: flex-start;
  display: flex;
  gap: .75rem;
  justify-content: space-between;
}

.setup-ledger-header h3 {
  margin: .18rem 0 0;
}

.setup-ledger-kicker,
.setup-section-label {
  color: var(--text-muted);
  font: 800 .53rem var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.setup-ledger-statuses {
  align-items: flex-end;
  display: grid;
  gap: .3rem;
  justify-items: end;
}

.setup-ledger-type {
  color: var(--text-muted);
  font: 800 .49rem var(--font-mono);
  letter-spacing: .06em;
  max-width: 15ch;
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-evidence-hero {
  background: rgba(62, 151, 255, .05);
  border: 1px solid rgba(62, 151, 255, .18);
  border-radius: 9px;
  display: grid;
  gap: .7rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: .78rem .82rem;
}

.setup-evidence-hero.watch_only {
  background: rgba(62, 151, 255, .055);
  border-color: rgba(62, 151, 255, .25);
}

.setup-evidence-hero.ready_for_manual_review,
.setup-evidence-hero.conditional_manual_review {
  background: rgba(80, 205, 137, .055);
  border-color: rgba(80, 205, 137, .25);
}

.setup-evidence-hero.blocked_by_macro {
  background: rgba(241, 65, 108, .055);
  border-color: rgba(241, 65, 108, .25);
}

.setup-eyebrow {
  color: var(--neon-blue);
  display: block;
  font: 800 .53rem var(--font-mono);
  letter-spacing: .1em;
  margin-bottom: .27rem;
}

.ready_for_manual_review .setup-eyebrow,
.conditional_manual_review .setup-eyebrow {
  color: var(--neon-green);
}

.blocked_by_macro .setup-eyebrow {
  color: var(--neon-red);
}

.setup-evidence-hero strong {
  color: var(--text-primary);
  display: block;
  font-size: .73rem;
}

.setup-evidence-hero p {
  color: var(--text-secondary);
  font-size: .64rem;
  line-height: 1.42;
  margin: .25rem 0 0;
}

.setup-evidence-mark {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 8px;
  color: var(--neon-blue);
  display: inline-flex;
  font: 800 .85rem var(--font-mono);
  height: 28px;
  justify-content: center;
  width: 28px;
}

.ready_for_manual_review .setup-evidence-mark,
.conditional_manual_review .setup-evidence-mark {
  color: var(--neon-green);
}

.blocked_by_macro .setup-evidence-mark {
  color: var(--neon-red);
}

.setup-provenance {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

.setup-provenance-chip {
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 5px;
  color: var(--text-secondary);
  font: 700 .5rem var(--font-mono);
  letter-spacing: .045em;
  max-width: 100%;
  overflow: hidden;
  padding: .3rem .4rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-price-map {
  display: grid;
  gap: .7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: .1rem 0;
}

.setup-price-column {
  min-width: 0;
  padding: .25rem .1rem;
}

.setup-price-column.invalidation {
  border-left: 1px solid rgba(255, 255, 255, .07);
  padding-left: .75rem;
}

.setup-price-column>span,
.setup-control-strip span {
  color: var(--text-muted);
  display: block;
  font: 800 .52rem var(--font-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.setup-price-column strong {
  color: var(--text-primary);
  display: block;
  font-size: .8rem;
  margin-top: .25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-price-column.entry strong {
  color: var(--neon-blue);
}

.setup-price-column.invalidation strong {
  color: var(--neon-red);
}

.setup-price-column small {
  color: var(--text-secondary);
  display: block;
  font: 700 .57rem var(--font-mono);
  margin-top: .22rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-control-strip {
  background: rgba(0, 0, 0, .14);
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 7px;
  display: grid;
  gap: .35rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: .52rem;
}

.setup-control-strip>div {
  min-width: 0;
}

.setup-control-strip strong {
  color: var(--text-secondary);
  display: block;
  font: 800 .57rem var(--font-mono);
  margin-top: .18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-target-journey {
  border-top: 1px solid rgba(255, 255, 255, .06);
  padding-top: .72rem;
}

.setup-target-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: .52rem;
}

.setup-target-node {
  min-width: 0;
  padding: 0 .35rem;
  position: relative;
  text-align: center;
}

.setup-target-node::after {
  background: rgba(255, 255, 255, .11);
  content: '';
  height: 1px;
  left: 50%;
  position: absolute;
  right: -50%;
  top: 3px;
}

.setup-target-node:last-child::after {
  display: none;
}

.setup-target-node i {
  background: var(--text-muted);
  border-radius: 50%;
  display: block;
  height: 7px;
  margin: 0 auto .38rem;
  position: relative;
  width: 7px;
  z-index: 1;
}

.setup-target-node.active i {
  background: var(--neon-blue);
  box-shadow: 0 0 8px rgba(62, 151, 255, .65);
}

.setup-target-node span {
  color: var(--text-muted);
  display: block;
  font: 700 .48rem var(--font-mono);
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.setup-target-node strong {
  color: var(--text-secondary);
  display: block;
  font-size: .58rem;
  margin-top: .15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-safety-note {
  color: var(--text-muted);
  font-size: .58rem;
  line-height: 1.35;
  text-align: center;
}

.setup-leverage-table {
  border-top: 1px solid rgba(255, 255, 255, .055);
  margin-top: -.05rem;
  padding-top: .5rem;
}

@media (max-width: 760px) {
  .app-toast-region {
    right: .75rem;
    top: 4.7rem;
    width: calc(100vw - 1.5rem);
  }

  .setup-provenance {
    display: grid;
  }

  .setup-control-strip {
    grid-template-columns: 1fr;
  }

  .setup-control-strip>div {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }

  .setup-control-strip strong {
    margin-top: 0;
  }

  .setup-target-node {
    padding: 0 .18rem;
  }
}

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* ── Signal Confirmation Evidence Card ──────────────────────────────── */
.confirmation-evidence-card {
  border: 1px solid rgba(255, 255, 255, .06);
}

.confirmation-playbook-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.55rem;
  margin-top: 0.35rem;
  border-radius: 6px;
  background: rgba(0, 0, 0, .2);
  border: 1px solid rgba(255, 255, 255, .06);
}

.confirmation-playbook-label {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.confirmation-playbook-value {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--neon-blue);
}

.confirmation-phase-sep {
  color: var(--text-muted);
  font-size: 0.7rem;
}

.confirmation-phase-value {
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--text-secondary);
}

/* Execution check strip — reuses gate-chip design language */
.confirmation-exec-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.confirm-exec-chip {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.45rem;
  border-radius: 4px;
  background: rgba(0, 0, 0, .16);
  border: 1px solid rgba(255, 255, 255, .07);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
}

.confirm-exec-chip .exec-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--text-muted);
}

.confirm-exec-chip.passed {
  border-color: rgba(80, 205, 137, .2);
  color: var(--text-secondary);
}

.confirm-exec-chip.passed .exec-dot {
  background: var(--neon-green);
  box-shadow: 0 0 4px var(--neon-green);
}

.confirm-exec-chip.failed {
  border-color: rgba(241, 188, 0, .2);
  color: var(--text-secondary);
}

.confirm-exec-chip.failed .exec-dot {
  background: var(--neon-gold);
  box-shadow: 0 0 4px var(--neon-gold);
}

.confirm-exec-chip.blocked {
  border-color: rgba(255, 90, 113, .25);
  color: var(--text-secondary);
}

.confirm-exec-chip.blocked .exec-dot {
  background: var(--neon-red, #ff5a71);
  box-shadow: 0 0 4px var(--neon-red, #ff5a71);
}

.venue-evidence-panel {
  position: relative;
  overflow: hidden;
  margin-top: .65rem;
  padding: .7rem;
  border: 1px solid rgba(96, 165, 250, .16);
  border-radius: 10px;
  background:
    radial-gradient(circle at 100% 0, rgba(96, 165, 250, .10), transparent 42%),
    linear-gradient(145deg, rgba(7, 15, 28, .82), rgba(7, 12, 21, .55));
}

.venue-evidence-panel::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  content: "";
  background: linear-gradient(180deg, var(--neon-blue), transparent);
  box-shadow: 0 0 12px rgba(96, 165, 250, .45);
}

.venue-evidence-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
}

.venue-evidence-head > div {
  display: grid;
  gap: .1rem;
  min-width: 0;
}

.venue-evidence-kicker {
  color: var(--text-muted);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.venue-evidence-head strong {
  color: var(--text-primary);
  font-size: .72rem;
  line-height: 1.25;
}

.venue-evidence-badge {
  flex: 0 0 auto;
  padding: .2rem .45rem;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 999px;
  font-size: .52rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.venue-evidence-badge.healthy {
  border-color: rgba(80, 205, 137, .28);
  color: var(--neon-green);
  background: rgba(80, 205, 137, .09);
}

.venue-evidence-badge.degraded {
  border-color: rgba(241, 188, 0, .28);
  color: var(--neon-gold);
  background: rgba(241, 188, 0, .08);
}

.venue-evidence-badge.starting {
  color: var(--text-muted);
  background: rgba(255, 255, 255, .03);
}

.venue-evidence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .35rem;
  margin-top: .6rem;
}

.venue-evidence-metric {
  min-width: 0;
  padding: .45rem .5rem;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 7px;
  background: rgba(0, 0, 0, .18);
}

.venue-evidence-metric span {
  display: block;
  margin-bottom: .16rem;
  color: var(--text-muted);
  font-size: .5rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.venue-evidence-metric strong {
  display: block;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: .57rem;
  line-height: 1.35;
  min-height: 2.7em;
  overflow-wrap: anywhere;
  white-space: normal;
}

.venue-evidence-metric strong[data-tone="positive"] {
  color: var(--neon-green);
}

.venue-evidence-metric strong[data-tone="negative"] {
  color: var(--neon-red, #ff5a71);
}

.venue-evidence-metric strong[data-tone="warning"] {
  color: var(--neon-gold);
}

.venue-evidence-panel p {
  margin: .55rem 0 0;
  color: var(--text-muted);
  font-size: .55rem;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .venue-evidence-grid {
    grid-template-columns: 1fr;
  }
}

/* Status badge color variants for the confirmation card */
.confirmation-evidence-card .telemetry-badge.confirmed {
  background: rgba(80, 205, 137, .15) !important;
  color: var(--neon-green) !important;
}

.confirmation-evidence-card .telemetry-badge.rejected {
  background: rgba(255, 90, 113, .15) !important;
  color: var(--neon-red, #ff5a71) !important;
}

.confirmation-evidence-card .telemetry-badge.watching {
  background: rgba(241, 188, 0, .15) !important;
  color: var(--neon-gold) !important;
}

/* Evidence value color helpers */
.confirmation-evidence-card .value.positive {
  color: var(--neon-green) !important;
}

.confirmation-evidence-card .value.negative {
  color: var(--neon-red, #ff5a71) !important;
}

.confirmation-evidence-card .value.neutral {
  color: var(--text-muted) !important;
}

.confirmation-evidence-card .value.warning {
  color: var(--neon-gold) !important;
}

/* Completed-candle market story shared by the monitor and setup ledger. */
.market-story-panel {
  --story-accent: var(--neon-blue);
  position: relative;
  overflow: hidden;
  margin: 0 0 .72rem;
  border: 1px solid rgba(62, 151, 255, .18);
  border-radius: 11px;
  background:
    radial-gradient(circle at 92% 0, rgba(62, 151, 255, .09), transparent 34%),
    linear-gradient(145deg, rgba(10, 17, 31, .9), rgba(4, 9, 18, .76));
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

.market-story-panel::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: var(--story-accent);
  box-shadow: 0 0 14px color-mix(in srgb, var(--story-accent) 50%, transparent);
  content: "";
}

.market-story-panel[data-story-tone="actionable"] {
  --story-accent: var(--neon-green);
  border-color: rgba(80, 205, 137, .25);
  background:
    radial-gradient(circle at 92% 0, rgba(80, 205, 137, .095), transparent 34%),
    linear-gradient(145deg, rgba(7, 23, 23, .88), rgba(4, 10, 18, .78));
}

.market-story-panel[data-story-tone="stale"] {
  --story-accent: var(--neon-gold);
  border-color: rgba(241, 188, 0, .27);
  background:
    radial-gradient(circle at 92% 0, rgba(241, 188, 0, .09), transparent 34%),
    linear-gradient(145deg, rgba(25, 20, 7, .82), rgba(7, 10, 17, .82));
}

.market-story-panel[data-story-tone="invalidated"] {
  --story-accent: var(--neon-red);
  border-color: rgba(255, 90, 113, .27);
  background:
    radial-gradient(circle at 92% 0, rgba(255, 90, 113, .09), transparent 34%),
    linear-gradient(145deg, rgba(25, 8, 16, .84), rgba(8, 9, 16, .84));
}

.market-story-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .7rem;
  padding: .78rem .82rem .62rem;
}

.market-story-kicker {
  display: block;
  margin-bottom: .19rem;
  color: var(--story-accent);
  font: 800 .5rem var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.market-story-header strong {
  color: var(--text-primary);
  font-size: .78rem;
}

.market-story-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .3rem;
}

.market-story-badge {
  max-width: 24ch;
  overflow: hidden;
  padding: .25rem .42rem;
  border: 1px solid color-mix(in srgb, var(--story-accent) 32%, transparent);
  border-radius: 999px;
  color: var(--story-accent);
  background: color-mix(in srgb, var(--story-accent) 7%, transparent);
  font: 800 .49rem var(--font-mono);
  letter-spacing: .035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.market-story-badge.direction[data-direction="bullish"] {
  color: var(--neon-green);
}

.market-story-badge.direction[data-direction="bearish"] {
  color: var(--neon-red);
}

.market-story-metadata {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0 .82rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .065);
  border-radius: 7px;
  background: rgba(255, 255, 255, .055);
}

.market-story-metadata > span {
  min-width: 0;
  padding: .46rem .5rem;
  background: rgba(3, 8, 16, .84);
}

.market-story-metadata b,
.market-story-metadata strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.market-story-metadata b {
  margin-bottom: .15rem;
  color: var(--text-muted);
  font-size: .48rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.market-story-metadata strong {
  color: var(--text-secondary);
  font: 800 .57rem var(--font-mono);
}

.market-story-sequence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .44rem;
  padding: .62rem .82rem;
}

.market-story-step {
  position: relative;
  min-width: 0;
  min-height: 94px;
  padding: .58rem .62rem .55rem;
  border: 1px solid rgba(255, 255, 255, .065);
  border-radius: 8px;
  background: rgba(0, 0, 0, .17);
}

.market-story-step::after {
  position: absolute;
  inset: .58rem auto auto 0;
  width: 2px;
  height: 17px;
  border-radius: 2px;
  background: var(--story-accent);
  opacity: .72;
  content: "";
}

.market-story-step > span {
  display: block;
  padding-left: .25rem;
  color: var(--story-accent);
  font: 800 .49rem var(--font-mono);
  letter-spacing: .075em;
  text-transform: uppercase;
}

.market-story-step p {
  margin: .38rem 0 0;
  color: var(--text-secondary);
  font-size: .61rem;
  line-height: 1.48;
}

.market-story-step small {
  display: block;
  margin-top: .34rem;
  padding-top: .32rem;
  border-top: 1px solid rgba(255, 255, 255, .055);
  color: var(--text-muted);
  font-size: .53rem;
  line-height: 1.4;
}

.market-story-step.current {
  border-color: color-mix(in srgb, var(--story-accent) 24%, transparent);
  background: color-mix(in srgb, var(--story-accent) 4%, rgba(0, 0, 0, .17));
}

.market-story-action {
  display: flex;
  align-items: center;
  gap: .42rem;
  padding: .52rem .82rem;
  border-top: 1px solid rgba(255, 255, 255, .06);
  color: var(--story-accent);
  background: rgba(0, 0, 0, .16);
  font: 800 .52rem var(--font-mono);
  letter-spacing: .055em;
}

.market-story-action i {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border: 1px solid var(--story-accent);
  border-radius: 50%;
  background: color-mix(in srgb, var(--story-accent) 42%, transparent);
  box-shadow: 0 0 7px color-mix(in srgb, var(--story-accent) 55%, transparent);
}

.market-story-reward {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(180px, 1fr);
  align-items: center;
  gap: .7rem;
  margin: .55rem .82rem 0;
  padding: .5rem .58rem;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 7px;
  background: rgba(0, 0, 0, .16);
}

.market-story-reward > div span,
.market-story-reward > div strong {
  display: block;
}

.market-story-reward > div span {
  margin-bottom: .15rem;
  color: var(--text-muted);
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.market-story-reward > div strong {
  color: var(--text-secondary);
  font: 800 .57rem var(--font-mono);
}

.market-story-reward p {
  margin: 0;
  color: var(--text-muted);
  font-size: .56rem;
  line-height: 1.42;
  text-align: right;
}

.market-story-reward[data-reward-tone="adequate"] {
  border-color: rgba(80, 205, 137, .22);
}

.market-story-reward[data-reward-tone="adequate"] strong {
  color: var(--neon-green);
}

.market-story-reward[data-reward-tone="insufficient"] {
  border-color: rgba(255, 90, 113, .3);
  background: rgba(255, 90, 113, .055);
}

.market-story-reward[data-reward-tone="insufficient"] strong,
.market-story-reward[data-reward-tone="insufficient"] p {
  color: var(--neon-red);
}

.signal-monitor-card.monitor-actionable {
  border-left-color: var(--neon-green) !important;
}

.signal-monitor-card.monitor-stale {
  border-left-color: var(--neon-gold) !important;
}

.signal-monitor-card.monitor-invalidated,
.setup-ledger-card.reward-insufficient {
  border-left-color: var(--neon-red) !important;
}

.monitor-confirmation-panel.story-actionable {
  border-color: rgba(80, 205, 137, .28);
}

.monitor-confirmation-panel.story-stale {
  border-color: rgba(241, 188, 0, .3);
  background: rgba(241, 188, 0, .06);
}

.monitor-confirmation-panel.story-invalidated {
  border-color: rgba(255, 90, 113, .3);
  background: rgba(255, 90, 113, .055);
}

.monitor-confirmation-panel.story-stale .monitor-confirmation-kicker {
  color: var(--neon-gold);
}

.monitor-confirmation-panel.story-invalidated .monitor-confirmation-kicker {
  color: var(--neon-red);
}

.monitor-status.actionable {
  border: 1px solid rgba(80, 205, 137, .24);
  color: var(--neon-green);
  background: rgba(80, 205, 137, .1);
}

.monitor-status.stale,
.monitor-status.waiting,
.monitor-status.tactical {
  border: 1px solid rgba(241, 188, 0, .24);
  color: var(--neon-gold);
  background: rgba(241, 188, 0, .09);
}

.monitor-evidence-hero.actionable {
  border-color: rgba(80, 205, 137, .24);
  background: rgba(80, 205, 137, .055);
}

.monitor-evidence-hero.stale {
  border-color: rgba(241, 188, 0, .27);
  background: rgba(241, 188, 0, .055);
}

.monitor-evidence-hero.invalidated {
  border-color: rgba(255, 90, 113, .28);
  background: rgba(255, 90, 113, .055);
}

.monitor-evidence-hero.actionable .monitor-eyebrow,
.monitor-evidence-hero.actionable .monitor-evidence-mark {
  color: var(--neon-green);
}

.monitor-evidence-hero.stale .monitor-eyebrow,
.monitor-evidence-hero.stale .monitor-evidence-mark {
  color: var(--neon-gold);
}

.monitor-evidence-hero.invalidated .monitor-eyebrow,
.monitor-evidence-hero.invalidated .monitor-evidence-mark {
  color: var(--neon-red);
}

.setup-ledger-card.reward-insufficient .setup-evidence-hero {
  border-color: rgba(255, 90, 113, .27);
  background: rgba(255, 90, 113, .055);
}

.setup-ledger-card.reward-insufficient .setup-eyebrow,
.setup-ledger-card.reward-insufficient .setup-evidence-mark {
  color: var(--neon-red);
}

.setup-status.blocked_by_reward {
  border-color: rgba(255, 90, 113, .3);
  color: var(--neon-red);
  background: rgba(255, 90, 113, .09);
}

@media (max-width: 760px) {
  .market-story-header {
    align-items: stretch;
    flex-direction: column;
  }

  .market-story-badges {
    justify-content: flex-start;
  }

  .market-story-metadata {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-story-sequence {
    grid-template-columns: 1fr;
  }

  .market-story-step {
    min-height: 0;
  }

  .market-story-reward {
    grid-template-columns: 1fr;
  }

  .market-story-reward p {
    text-align: left;
  }
}

/* Radar: Causal Flight Deck */
.radar-container.flight-deck-container {
  width: 100%;
  max-width: none;
  height: calc(100vh - 74px);
  min-height: 620px;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.flight-deck {
  display: flex;
  height: 100%;
  min-width: 0;
  flex-direction: column;
  background:
    radial-gradient(circle at 82% 12%, rgba(62, 151, 255, .06), transparent 30rem),
    radial-gradient(circle at 54% 95%, rgba(114, 57, 234, .045), transparent 28rem),
    var(--bg-color);
}

.flight-ribbon {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: auto minmax(270px, .85fr) minmax(520px, 1.4fr);
  align-items: center;
  gap: 1.35rem;
  min-height: 86px;
  padding: .8rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, .065);
  background: rgba(12, 13, 20, .88);
  backdrop-filter: blur(18px);
}

.flight-pulse,
.flight-controls,
.flight-opportunity-head,
.flight-opportunity-meta,
.flight-opportunity-footer,
.flight-stage-heading,
.flight-action-bar,
.flight-action-metrics,
.flight-stage-actions {
  display: flex;
  align-items: center;
}

.flight-pulse {
  gap: .72rem;
  min-width: 9.8rem;
}

.flight-pulse-copy,
.flight-metric {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .18rem;
}

.flight-eyebrow {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.flight-pulse-copy strong {
  color: var(--text-primary);
  font-size: .75rem;
  letter-spacing: .06em;
}

.flight-radar-mini {
  position: relative;
  display: block;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  overflow: hidden;
  border: 1px solid rgba(62, 151, 255, .24);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(62, 151, 255, .12), rgba(62, 151, 255, .025) 54%, transparent 56%), rgba(0, 0, 0, .34);
  box-shadow: inset 0 0 18px rgba(62, 151, 255, .08);
}

.flight-radar-mini::before,
.flight-radar-mini::after {
  position: absolute;
  content: "";
}

.flight-radar-mini::before {
  inset: 0;
  border-radius: inherit;
  background: conic-gradient(from 0deg, rgba(62, 151, 255, .48), transparent 30%);
  animation: flight-radar-sweep 3.4s linear infinite;
}

.flight-radar-mini::after {
  top: 28%;
  left: 63%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--neon-green);
  box-shadow: 0 0 9px var(--neon-green);
}

@keyframes flight-radar-sweep {
  to { transform: rotate(360deg); }
}

.flight-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: .4rem;
  min-width: 0;
  padding-left: 1rem;
  border-left: 1px solid rgba(255, 255, 255, .06);
}

.flight-metric { padding: .35rem .65rem; }
.flight-metric strong {
  overflow: hidden;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 1.02rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.flight-metric.review strong { color: var(--neon-purple); }
.flight-metric.score strong { color: var(--neon-gold); }
.flight-metric.volatility strong { color: var(--neon-blue); }
.flight-metric.score strong small { color: var(--text-secondary); font-size: .6rem; }

.flight-controls {
  min-width: 0;
  justify-content: flex-end;
  gap: .62rem;
}

.flight-filter-group {
  display: flex;
  flex: 0 1 auto;
  gap: .18rem;
  padding: .24rem;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 10px;
  background: rgba(0, 0, 0, .26);
}

.flight-filter-group .filter-btn {
  padding: .42rem .66rem;
  border-radius: 7px;
  font-size: .67rem;
  white-space: nowrap;
}

.flight-scan-select {
  min-width: 9.3rem;
  padding: .54rem .68rem;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 9px;
  outline: none;
  background: rgba(0, 0, 0, .3);
  color: var(--text-primary);
  font-size: .68rem;
  font-weight: 700;
  cursor: pointer;
}

.flight-controls .top-research-btn {
  flex: 0 0 auto;
  min-width: 0;
  padding: .52rem .7rem;
  font-size: .68rem;
  white-space: nowrap;
}

.flight-main {
  display: grid;
  grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
  min-height: 0;
  flex: 1;
}

.flight-opportunities {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, .065);
  background: rgba(10, 11, 18, .38);
}

.flight-pane-heading {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .72rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  background: rgba(0, 0, 0, .12);
}

.flight-pane-heading strong {
  color: var(--text-secondary);
  font-size: .65rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.flight-refresh {
  display: flex;
  align-items: center;
  gap: .42rem;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: .58rem;
  white-space: nowrap;
}

.flight-opportunity-list,
.flight-intelligence {
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .12) transparent;
}

.flight-opportunity-list {
  flex: 1;
  overscroll-behavior: contain;
}

.flight-opportunity {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: .58rem;
  padding: 1rem;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .055);
  outline: none;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background .2s ease, opacity .2s ease;
}

.flight-opportunity::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  content: "";
  background: transparent;
}

.flight-opportunity:hover,
.flight-opportunity:focus-visible,
.flight-opportunity.selected { background: rgba(62, 151, 255, .055); }
.flight-opportunity.selected::before {
  background: var(--neon-blue);
  box-shadow: 0 0 10px rgba(62, 151, 255, .7);
}
.flight-opportunity.stale { opacity: .72; }
.flight-opportunity.invalidated { opacity: .56; }

.flight-opportunity-head,
.flight-opportunity-footer { justify-content: space-between; gap: .75rem; }
.flight-rank {
  color: var(--neon-blue);
  font-family: var(--font-mono);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .08em;
}
.flight-symbol {
  display: block;
  margin-top: .16rem;
  color: var(--text-primary);
  font-size: 1rem;
  font-weight: 800;
}
.flight-score {
  padding: .28rem .46rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 6px;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: .62rem;
  font-weight: 700;
  white-space: nowrap;
}
.flight-score.high {
  border-color: rgba(80, 205, 137, .28);
  background: rgba(80, 205, 137, .08);
  color: var(--neon-green);
}
.flight-opportunity-meta { flex-wrap: wrap; gap: .38rem; }

.flight-context-pill,
.flight-state-pill {
  padding: .24rem .4rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 5px;
  background: rgba(255, 255, 255, .025);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: .53rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.flight-context-pill.bullish,
.flight-state-pill.actionable {
  border-color: rgba(80, 205, 137, .22);
  background: rgba(80, 205, 137, .07);
  color: var(--neon-green);
}
.flight-context-pill.bearish,
.flight-state-pill.invalidated {
  border-color: rgba(241, 65, 108, .22);
  background: rgba(241, 65, 108, .07);
  color: var(--neon-red);
}
.flight-state-pill.stale {
  border-color: rgba(241, 188, 0, .24);
  background: rgba(241, 188, 0, .07);
  color: var(--neon-gold);
}
.flight-opportunity-thesis {
  color: var(--text-secondary);
  font-size: .67rem;
  line-height: 1.48;
}
.flight-coverage {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: .55rem;
}
.flight-review-inline {
  padding: .36rem .62rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 6px;
  background: rgba(255, 255, 255, .035);
  color: var(--text-primary);
  font-size: .62rem;
  font-weight: 700;
  cursor: pointer;
}
.flight-review-inline:hover {
  border-color: rgba(62, 151, 255, .38);
  background: rgba(62, 151, 255, .12);
}

.flight-intelligence {
  position: relative;
  background: rgba(12, 13, 20, .58);
  overscroll-behavior: contain;
}
.flight-stage { min-height: 100%; }
.flight-stage-empty {
  display: grid;
  min-height: 100%;
  place-items: center;
  padding: 2rem;
  text-align: center;
}
.flight-stage-empty > div { max-width: 28rem; }
.flight-stage-empty strong {
  display: block;
  margin: .8rem 0 .45rem;
  color: var(--text-primary);
  font-size: 1.05rem;
}
.flight-stage-empty p {
  color: var(--text-muted);
  font-size: .76rem;
  line-height: 1.6;
}
.flight-stage-radar { width: 68px; height: 68px; margin: 0 auto; }

.flight-stage-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.5rem 1.75rem 1.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, .055);
}
.flight-stage-heading { flex-wrap: wrap; gap: .55rem; margin-bottom: .65rem; }
.flight-stage-heading h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.6rem, 2.8vw, 2.45rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.flight-stage-heading h2 span { color: rgba(255, 255, 255, .18); }
.flight-stage-summary {
  max-width: 48rem;
  color: var(--text-secondary);
  font-size: .78rem;
  line-height: 1.58;
}
.flight-stage-side {
  display: flex;
  min-width: 9rem;
  flex-direction: column;
  align-items: flex-end;
  gap: .5rem;
}
.flight-evidence-meter {
  display: flex;
  align-items: center;
  gap: .45rem;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: .53rem;
}
.flight-evidence-bars { display: flex; gap: 3px; }
.flight-evidence-bars i {
  width: 5px;
  height: 15px;
  border-radius: 2px;
  background: rgba(255, 255, 255, .08);
}
.flight-evidence-bars i.available {
  background: var(--neon-green);
  box-shadow: 0 0 7px rgba(80, 205, 137, .28);
}
.flight-stage-link {
  border: 0;
  background: transparent;
  color: var(--neon-blue);
  font-size: .62rem;
  font-weight: 700;
  cursor: pointer;
}

.flight-stage-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: 1px solid rgba(255, 255, 255, .055);
  background: rgba(0, 0, 0, .16);
}
.flight-stage-metric {
  min-width: 0;
  padding: 1rem 1.2rem;
  border-right: 1px solid rgba(255, 255, 255, .055);
}
.flight-stage-metric:last-child { border-right: 0; }
.flight-stage-metric small,
.flight-action-metric small {
  display: block;
  margin-bottom: .42rem;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: .53rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.flight-stage-metric strong {
  display: block;
  overflow-wrap: anywhere;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: .75rem;
  line-height: 1.45;
}
.flight-stage-metric strong.good { color: var(--neon-green); }
.flight-stage-metric strong.risk { color: var(--neon-red); }

.flight-story { padding: 1.4rem 1.75rem 1.75rem; }
.flight-story-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.flight-story-title strong {
  color: var(--text-secondary);
  font-size: .66rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.flight-story-sequence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}
.flight-story-step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .65rem;
}
.flight-story-step > header { display: flex; align-items: center; gap: .55rem; }
.flight-story-index {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 50%;
  color: var(--neon-blue);
  font-family: var(--font-mono);
  font-size: .6rem;
  font-weight: 700;
}
.flight-story-step:nth-child(2) .flight-story-index { color: var(--neon-green); }
.flight-story-step:nth-child(3) .flight-story-index { color: var(--neon-gold); }
.flight-story-step > header strong {
  color: var(--text-primary);
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.flight-story-card {
  min-height: 155px;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 11px;
  background: rgba(0, 0, 0, .22);
}
.flight-story-card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: .71rem;
  line-height: 1.58;
}
.flight-failure {
  display: block;
  margin-top: .75rem;
  padding-top: .65rem;
  border-top: 1px solid rgba(255, 255, 255, .055);
  color: var(--text-muted);
  font-size: .61rem;
  line-height: 1.45;
}
.flight-failure b {
  color: var(--neon-red);
  font-family: var(--font-mono);
  font-size: .53rem;
  text-transform: uppercase;
}

.flight-action-bar {
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, .065);
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(21, 22, 33, .95), rgba(15, 16, 25, .95));
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
}
.flight-action-metrics { gap: 1rem; }
.flight-action-metric + .flight-action-metric {
  padding-left: 1rem;
  border-left: 1px solid rgba(255, 255, 255, .06);
}
.flight-action-metric strong {
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: .7rem;
}
.flight-action-metric strong.good { color: var(--neon-green); }
.flight-action-metric strong.watch { color: var(--neon-gold); }
.flight-action-metric strong.risk { color: var(--neon-red); }
.flight-stage-actions { justify-content: flex-end; gap: .6rem; }
.flight-stage-actions .action-btn-sm {
  min-width: 7.5rem;
  padding: .65rem .8rem;
  text-align: center;
}
.flight-stage-actions .primary {
  border-color: rgba(62, 151, 255, .44);
  background: var(--neon-blue);
  color: #06101d;
}
.flight-intelligence .radar-research-briefs { margin: 0 1.75rem 1.75rem; }
.flight-opportunity-list .radar-evidence-loading {
  min-height: 320px;
  padding: 1.6rem 1rem;
  flex-direction: column;
  text-align: center;
}
.flight-opportunity-list .evidence-loading-copy { width: 100%; flex-basis: auto; }
.flight-opportunity-list .evidence-loading-stages { grid-template-columns: 1fr; }
.flight-opportunity-list .radar-empty-state { min-height: 260px; }

@media (max-width: 1360px) and (min-width: 1181px) {
  .flight-ribbon { grid-template-columns: auto minmax(250px, 1fr); }
  .flight-controls { grid-column: 1 / -1; justify-content: flex-start; }
  .flight-controls .top-research-btn { margin-left: auto; }
}

@media (max-width: 1180px) {
  .radar-container.flight-deck-container {
    height: auto;
    min-height: calc(100vh - 74px);
    overflow: visible;
  }
  .flight-ribbon { grid-template-columns: auto minmax(250px, 1fr); }
  .flight-controls { grid-column: 1 / -1; justify-content: flex-start; }
  .flight-main {
    min-height: 720px;
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  }
  .flight-stage-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .flight-stage-metric:nth-child(2) { border-right: 0; }
  .flight-stage-metric:nth-child(-n + 2) { border-bottom: 1px solid rgba(255, 255, 255, .055); }
}

@media (max-width: 820px) {
  .radar-container.flight-deck-container { min-height: 0; }
  .flight-ribbon { grid-template-columns: 1fr; gap: .7rem; }
  .flight-metrics { padding: 0; border-left: 0; }
  .flight-controls { grid-column: auto; flex-wrap: wrap; justify-content: flex-start; }
  .flight-filter-group { width: 100%; overflow-x: auto; }
  .flight-main { display: flex; min-height: 0; flex-direction: column; }
  .flight-opportunities {
    max-height: 390px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .065);
  }
  .flight-intelligence { overflow: visible; }
  .flight-story-sequence { grid-template-columns: 1fr; }
  .flight-story-card { min-height: 0; }
}

@media (max-width: 560px) {
  .flight-ribbon,
  .flight-stage-header,
  .flight-story { padding-right: .85rem; padding-left: .85rem; }
  .flight-controls,
  .flight-stage-header,
  .flight-action-bar,
  .flight-stage-actions,
  .flight-action-metrics {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }
  .flight-scan-select,
  .flight-controls .top-research-btn { width: 100%; }
  .flight-stage-side { min-width: 0; align-items: flex-start; }
  .flight-stage-metrics { grid-template-columns: 1fr; }
  .flight-stage-metric {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
  }
  .flight-action-metric + .flight-action-metric {
    padding-top: .7rem;
    padding-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .06);
    border-left: 0;
  }
  .flight-stage-actions .action-btn-sm { width: 100%; }
  .flight-intelligence .radar-research-briefs { margin: 0 .85rem .85rem; }
}
