/* ============================================================
   BOT LIFECYCLE — styles (reprend les tokens BlueFox existants)
   ============================================================ */
.bl-wrap { max-width: 1200px; }
.bl-wrap h3 { font-size: 20px; font-weight: 700; color: var(--text-primary, #EAF0FF); margin: 0 0 6px; }
.bl-wrap h4 { font-size: 15px; font-weight: 600; color: var(--text-primary, #EAF0FF); margin: 0 0 10px; }

.bl-note {
  font-size: 13px; color: var(--text-muted, #9AA6D1);
  background: var(--bg-card, #0F1428);
  border: 1px solid var(--border-color, rgba(31,107,255,0.15));
  border-radius: 10px; padding: 10px 14px; margin: 10px 0; line-height: 1.5;
}
.bl-note.bl-warn { border-left: 3px solid var(--warning, #FFB020); }
.bl-note.bl-info { border-left: 3px solid var(--cyan-main, #4FD1FF); }

.bl-empty {
  padding: 30px; text-align: center; color: var(--text-muted, #9AA6D1);
  background: var(--bg-card, #0F1428);
  border: 1px dashed var(--border-color, rgba(31,107,255,0.15));
  border-radius: 12px; margin: 14px 0;
}

.bl-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 16px 0 8px; }
.bl-ctl { display: flex; flex-direction: column; gap: 5px; }
.bl-ctl label { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--text-muted, #9AA6D1); font-weight: 600; }
.bl-ctl select, .bl-ctl input {
  background: var(--bg-card, #0F1428);
  border: 1px solid var(--border-color, rgba(31,107,255,0.15));
  color: var(--text-primary, #EAF0FF);
  border-radius: 10px; padding: 9px 12px; font-size: 13px; min-width: 180px;
}
.bl-ctl select:focus, .bl-ctl input:focus { outline: none; border-color: var(--cyan-main, #4FD1FF); }
.bl-hint { font-weight: 400; text-transform: none; letter-spacing: 0; opacity: .7; }

.bl-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 12px 0; }
.bl-kpi {
  background: var(--bg-card, #0F1428);
  border: 1px solid var(--border-color, rgba(31,107,255,0.15));
  border-radius: 14px; padding: 16px; text-align: center;
}
.bl-kpi-v { font-size: 22px; font-weight: 700; font-family: 'JetBrains Mono', monospace; color: var(--text-primary, #EAF0FF); }
.bl-kpi-v.pos { color: var(--success, #2ED573); }
.bl-kpi-v.neg { color: var(--danger, #FF4D4F); }
.bl-kpi-l { font-size: 11px; color: var(--text-muted, #9AA6D1); text-transform: uppercase; letter-spacing: .5px; margin-top: 4px; }

.bl-panel {
  background: var(--bg-card, #0F1428);
  border: 1px solid var(--border-color, rgba(31,107,255,0.15));
  border-radius: 14px; padding: 16px; margin: 14px 0;
}
.bl-scroll { overflow-x: auto; }

.bl-tbl { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.bl-tbl th {
  background: rgba(31,107,255,0.08); color: var(--text-primary, #EAF0FF);
  padding: 9px 10px; text-align: center; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .4px; white-space: nowrap;
  border-bottom: 1px solid var(--border-color, rgba(31,107,255,0.15));
}
.bl-tbl td {
  padding: 8px 10px; text-align: center;
  border-bottom: 1px solid rgba(31,107,255,0.08);
  font-family: 'JetBrains Mono', monospace;
}
.bl-tbl tr:hover td { background: rgba(31,107,255,0.04); }
.bl-tbl .pos { color: var(--success, #2ED573); }
.bl-tbl .neg { color: var(--danger, #FF4D4F); }
.bl-tbl .warn { color: var(--warning, #FFB020); }
.bl-tbl tr.bl-best td { background: rgba(46,213,115,0.07); }
.bl-tbl tr.bl-bust td { background: rgba(255,77,79,0.06); }
.bl-tbl tr.bl-pay td { background: rgba(46,213,115,0.06); }
