:root { color-scheme: dark; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.grid-overlay {
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(circle at center, black, transparent 85%);
}

.glass {
  border-radius: 1.5rem;
  border: 1px solid rgba(255,255,255,.09);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  backdrop-filter: blur(22px);
  box-shadow: 0 12px 48px rgba(0,0,0,.24);
}

.glass-soft {
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.stat-card, .category-card, .field-card, .mini-card, .mini-strategy {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(18px);
}

.stat-card {
  min-width: 130px;
  border-radius: 1rem;
  padding: .95rem 1rem;
}

.stat-card span {
  display: block;
  color: rgb(148 163 184);
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.stat-card strong {
  display: block;
  margin-top: .35rem;
  font-size: 1.05rem;
  font-weight: 800;
}

.category-card {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  border-radius: 1.35rem;
  padding: 1.15rem;
  text-align: left;
  transition: .22s ease;
}

.category-card.active {
  box-shadow: 0 0 0 1px rgba(99,102,241,.28), 0 0 36px rgba(99,102,241,.16);
}

.chip {
  width: fit-content;
  border-radius: 999px;
  padding: .3rem .65rem;
  font-size: .72rem;
  font-weight: 700;
}

.field-card {
  display: block;
  border-radius: 1.2rem;
  padding: .95rem;
}

.field-label {
  display: block;
  margin-bottom: .55rem;
  font-size: .82rem;
  font-weight: 700;
  color: rgb(226 232 240);
}

.field-input {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(2,6,23,.65);
  color: white;
  outline: none;
  padding: .85rem 1rem;
  transition: .2s ease;
}

.field-input:focus {
  border-color: rgba(129,140,248,.65);
  box-shadow: 0 0 0 4px rgba(99,102,241,.14);
}

.field-input.locked {
  color: rgb(165 180 252);
  border-color: rgba(99,102,241,.22);
  background: linear-gradient(180deg, rgba(79,70,229,.18), rgba(15,23,42,.85));
}

.field-help {
  display: block;
  margin-top: .55rem;
  font-size: .76rem;
  color: rgb(148 163 184);
  line-height: 1.55;
}

.mini-card {
  border-radius: 1rem;
  padding: 1rem;
}

.mini-card dt {
  color: rgb(148 163 184);
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mini-card dd {
  margin-top: .45rem;
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.5;
}

.mini-strategy {
  border-radius: 1rem;
  padding: .95rem 1rem;
  color: rgb(226 232 240);
  line-height: 1.6;
}

.offer-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .32rem .65rem;
  font-size: .72rem;
  font-weight: 700;
}

.offer-badge.ignored { background: rgba(244,63,94,.12); color: rgb(253 164 175); }
.offer-badge.market { background: rgba(250,204,21,.12); color: rgb(253 224 71); }
.offer-badge.base { background: rgba(34,197,94,.12); color: rgb(134 239 172); }
.offer-badge.target { background: rgba(99,102,241,.16); color: rgb(165 180 252); }
.offer-badge.target-lowest { background: rgba(16,185,129,.16); color: rgb(110 231 183); }
.offer-badge.valid { background: rgba(255,255,255,.08); color: rgb(226 232 240); }

.toggle-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  width: 92px;
  min-width: 92px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(15,23,42,.8);
  padding: 0 16px;
  color: white;
  font-weight: 800;
  transition: .25s ease;
}

.toggle-btn.on {
  background: linear-gradient(135deg, rgba(16,185,129,.9), rgba(20,184,166,.82));
  color: #052e2b;
}

.toggle-btn.off {
  background: linear-gradient(135deg, rgba(239,68,68,.35), rgba(71,85,105,.82));
  color: white;
}

.toggle-knob {
  position: absolute;
  left: 6px;
  top: 6px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 10px 26px rgba(0,0,0,.25);
  transition: transform .25s ease;
}

.toggle-btn.on .toggle-knob { transform: translateX(44px); }

@media (max-width: 640px) {
  .stat-card { min-width: 100%; }
}

/* Wider/readable Retail edit offer links section */
.retail-targets-card {
  width: 100%;
}

.retail-target-row .field-card {
  min-width: 0;
}

.retail-target-row .field-input {
  min-height: 54px;
  font-size: 1rem;
}

.retail-target-row .field-label {
  font-size: .9rem;
  line-height: 1.35;
}

@media (min-width: 1280px) {
  #retailTargetsList {
    max-width: 100%;
  }
}


.tbc-status-bar {
  border-radius: 1.5rem;
  border: 1px solid rgba(251,191,36,.18);
  background: radial-gradient(circle at top right, rgba(251,191,36,.14), transparent 35%), linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 48px rgba(0,0,0,.24);
  padding: 1.35rem;
}
.tbc-status-bar-ok { border-color: rgba(16,185,129,.24); background: radial-gradient(circle at top right, rgba(16,185,129,.15), transparent 35%), linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)); }
.tbc-status-bar-warn { border-color: rgba(251,191,36,.26); background: radial-gradient(circle at top right, rgba(251,191,36,.18), transparent 35%), linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)); }
.tbc-status-bar-bad { border-color: rgba(244,63,94,.26); background: radial-gradient(circle at top right, rgba(244,63,94,.16), transparent 35%), linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)); }
.tbc-status-dot {
  width: .68rem;
  height: .68rem;
  border-radius: 999px;
  background: rgb(251 191 36);
  box-shadow: 0 0 0 6px rgba(251,191,36,.12), 0 0 24px rgba(251,191,36,.45);
}
.tbc-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.045);
  padding: .78rem .9rem;
  text-align: left;
  transition: .18s ease;
}
.tbc-status-row:hover { background: rgba(255,255,255,.075); transform: translateY(-1px); }
.tbc-status-row.active { border-color: rgba(251,191,36,.38); box-shadow: 0 0 0 1px rgba(251,191,36,.12); }

/* ─────────────────────────────────────────────────────────────────────────
   PANEL SUITE — shared top navigation bar (matches IGV / SkyCoach panels)
   Added so Eldorado joins the shared suite look & app switcher.
   ───────────────────────────────────────────────────────────────────────── */
.suite-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 52px;
  z-index: 100;
  background: rgba(2,6,23,.92);
  border-bottom: 1px solid rgba(255,255,255,.07);
  backdrop-filter: blur(20px) saturate(1.5);
}
.suite-nav-inner {
  max-width: 1600px; margin: 0 auto; height: 100%;
  padding: 0 1.25rem;
  display: flex; align-items: center; gap: 1rem;
}
.suite-brand { display:flex; align-items:center; gap:.6rem; text-decoration:none; flex-shrink:0; }
.suite-brand-icon { width:28px; height:28px; border-radius:.5rem; background:linear-gradient(135deg,#6366f1,#d946ef); display:flex; align-items:center; justify-content:center; color:white; flex-shrink:0; }
.suite-brand-label { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#64748b; }
.suite-switcher { display:flex; align-items:center; gap:.25rem; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:999px; padding:.2rem; margin-left:.5rem; }
.suite-app-btn { display:flex; align-items:center; gap:.4rem; padding:.3rem .75rem; border-radius:999px; text-decoration:none; font-size:.78rem; font-weight:600; color:#64748b; transition:all .2s ease; position:relative; }
.suite-app-btn:hover { color:#e2e8f0; background:rgba(255,255,255,.05); }
.suite-app-btn.active { color:white; background:rgba(255,255,255,.09); }
.suite-app-icon { font-size:.85rem; }
.suite-app-active-dot { width:5px; height:5px; border-radius:50%; background:#38bdf8; box-shadow:0 0 6px #38bdf8; flex-shrink:0; }
.suite-app-btn.active .igv-icon ~ .suite-app-active-dot { background:#818cf8; box-shadow:0 0 6px #818cf8; }
.suite-app-btn.active .eldorado-icon ~ .suite-app-active-dot { background:#fbbf24; box-shadow:0 0 6px #fbbf24; }
.suite-user { margin-left:auto; display:flex; align-items:center; gap:.75rem; }
.suite-username { font-size:.75rem; font-weight:600; color:#64748b; }
.suite-logout-btn { display:flex; align-items:center; gap:.4rem; padding:.35rem .75rem; border-radius:.6rem; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.04); color:#64748b; font-size:.75rem; font-weight:600; cursor:pointer; transition:all .2s; font-family:inherit; }
.suite-logout-btn:hover { background:rgba(255,255,255,.08); color:#e2e8f0; }

/* ─────────────────────────────────────────────────────────────────────────
   LIVE ACTIVITY LOG  (shared styling for the bot action feed)
   ───────────────────────────────────────────────────────────────────────── */
.act-panel-head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }
.act-pulse { display:inline-flex; align-items:center; gap:.45rem; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#94a3b8; }
.act-pulse-dot { width:.5rem; height:.5rem; border-radius:999px; background:#10b981; box-shadow:0 0 0 0 rgba(16,185,129,.6); }
.act-pulse.act-pulse-live .act-pulse-dot { animation: actPulse 1.4s ease-out; }
@keyframes actPulse { 0%{ box-shadow:0 0 0 0 rgba(16,185,129,.55);} 100%{ box-shadow:0 0 0 8px rgba(16,185,129,0);} }

.act-feed { display:flex; flex-direction:column; gap:.5rem; max-height:460px; overflow-y:auto; padding-right:.35rem; }
.act-feed::-webkit-scrollbar { width:8px; }
.act-feed::-webkit-scrollbar-thumb { background:rgba(255,255,255,.12); border-radius:999px; }

.act-row { display:flex; gap:.65rem; align-items:flex-start; border-radius:.85rem; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.035); padding:.6rem .75rem; }
.act-row .act-dot { width:.55rem; height:.55rem; margin-top:.3rem; border-radius:999px; flex-shrink:0; background:#64748b; }
.act-row.act-ok .act-dot    { background:#10b981; box-shadow:0 0 8px rgba(16,185,129,.5); }
.act-row.act-warn .act-dot  { background:#f59e0b; box-shadow:0 0 8px rgba(245,158,11,.5); }
.act-row.act-error .act-dot { background:#f43f5e; box-shadow:0 0 8px rgba(244,63,94,.5); }
.act-row.act-skip .act-dot  { background:#64748b; }
.act-row.act-info .act-dot  { background:#38bdf8; box-shadow:0 0 8px rgba(56,189,248,.45); }

.act-body { min-width:0; flex:1; }
.act-line { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.act-label { font-size:.85rem; font-weight:600; color:#e2e8f0; }
.act-badge { font-size:.6rem; font-weight:800; letter-spacing:.08em; padding:.12rem .4rem; border-radius:999px; flex-shrink:0; }
.act-badge.act-ok    { background:rgba(16,185,129,.14); color:#6ee7b7; }
.act-badge.act-warn  { background:rgba(245,158,11,.14); color:#fcd34d; }
.act-badge.act-error { background:rgba(244,63,94,.14); color:#fda4af; }
.act-badge.act-skip  { background:rgba(255,255,255,.08); color:#cbd5e1; }
.act-badge.act-info  { background:rgba(56,189,248,.14); color:#7dd3fc; }
.act-note { margin-top:.25rem; font-size:.76rem; line-height:1.45; color:#94a3b8; word-break:break-word; }
.act-meta { margin-top:.3rem; display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.act-action { font-size:.66rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:#64748b; }
.act-time { font-size:.68rem; color:#64748b; flex-shrink:0; }
.act-empty { padding:1.25rem; text-align:center; font-size:.8rem; color:#64748b; border:1px dashed rgba(255,255,255,.1); border-radius:.85rem; }

.act-profile { border:1px solid rgba(255,255,255,.08); border-radius:1rem; background:rgba(255,255,255,.025); padding:.6rem .65rem; margin-bottom:.6rem; }
.act-profile-head { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.15rem .25rem .5rem; border-bottom:1px solid rgba(255,255,255,.06); margin-bottom:.5rem; }
.act-profile-name { font-size:.82rem; font-weight:700; color:#fcd34d; }
.act-profile-count { font-size:.66rem; font-weight:600; color:#64748b; }
.act-profile-events { display:flex; flex-direction:column; gap:.4rem; }
