/* ══════════════════════════════════════════════════════════════════════════
   Vue Statistiques (js/stats.js) — réutilise .dash-kpis/.dash-kpi/.dash-title-row
   /.rdv-stat-card/.dash-sec-title de cockpit.css tels quels (mêmes classes,
   pas de redéfinition ici). Ce fichier ne couvre que ce qui est propre à cette
   vue : filtres, cartes génériques, graphes SVG maison, tableau classement.
   ══════════════════════════════════════════════════════════════════════════ */

#crm-panel .stats-filterbar{display:flex;gap:10px;margin:14px 0 20px;flex-wrap:wrap}
#crm-panel .stats-select{
  font-family:var(--mono);font-size:11px;font-weight:600;color:var(--t1);
  background:var(--bg1);border:1px solid var(--bd);border-radius:8px;padding:7px 10px;cursor:pointer;
}
#crm-panel .stats-select:hover{border-color:var(--pu)}

#crm-panel .stats-sec-title{
  font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--t3);
  font-weight:700;margin-bottom:10px;
}

#crm-panel .stats-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
@media (max-width:900px){#crm-panel .stats-grid-2{grid-template-columns:1fr}}

#crm-panel .stats-card{
  background:rgba(255,255,255,.02);border:1px solid var(--bd);border-radius:10px;
  padding:14px 16px;margin-bottom:14px;
}
#crm-panel .stats-card-title{
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--t3);margin-bottom:10px;
}

/* Graphes SVG maison (courbes/barres) — traits fins, pas de fond derrière la zone
   de tracé (le fond vient déjà de .stats-card), grille discrète en arrière-plan. */
#crm-panel .stats-chart-wrap{width:100%}
#crm-panel .stats-svg-chart{width:100%;height:auto;overflow:visible}
#crm-panel .stats-grid{stroke:var(--bd);stroke-width:1}
#crm-panel .stats-axis-x,#crm-panel .stats-axis-y{
  font-family:var(--mono);font-size:8px;fill:var(--t3);
}
#crm-panel .stats-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
#crm-panel .stats-svg-chart circle{cursor:pointer;transition:r .12s}
#crm-panel .stats-svg-chart circle:hover{r:5.5}
#crm-panel .stats-svg-chart rect{cursor:pointer;opacity:.92;transition:opacity .12s}
#crm-panel .stats-svg-chart rect:hover{opacity:1}

#crm-panel .stats-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;padding-left:2px}
#crm-panel .stats-legend-item{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--t2)}
#crm-panel .stats-legend-item i{width:8px;height:8px;border-radius:2px;display:inline-block}

/* Listes à barres horizontales (statuts leads, organismes) */
#crm-panel .stats-hbars{display:flex;flex-direction:column;gap:8px}
#crm-panel .stats-hbar-row{display:grid;grid-template-columns:130px 1fr 34px;align-items:center;gap:10px}
#crm-panel .stats-hbar-label{font-size:10.5px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#crm-panel .stats-hbar-track{height:8px;border-radius:4px;background:rgba(255,255,255,.05);overflow:hidden}
#crm-panel .stats-hbar-fill{height:100%;border-radius:4px}
#crm-panel .stats-hbar-val{font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--t1);text-align:right}

/* Classement agents */
#crm-panel .stats-table-wrap{overflow-x:auto;border:1px solid var(--bd);border-radius:10px}
#crm-panel .stats-table{width:100%;border-collapse:collapse;font-size:11.5px}
#crm-panel .stats-table th{
  text-align:left;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--t3);font-weight:700;padding:10px 12px;background:rgba(255,255,255,.03);
  border-bottom:1px solid var(--bd);
}
#crm-panel .stats-table td{padding:9px 12px;border-bottom:1px solid var(--bd);color:var(--t1)}
#crm-panel .stats-table tbody tr:last-child td{border-bottom:none}
#crm-panel .stats-table tbody tr:hover{background:rgba(255,255,255,.02)}
#crm-panel .stats-table-pts{font-family:var(--mono);font-weight:800;color:var(--go2)}

/* Objectif du jour (appels/durée/points) — ported depuis l'ancien cockpit (.ac-obj-*),
   demande Steve 2026-08-06 : 3e barre "points" ajoutée, badge/message pilotés côté n8n
   (presence-data-nocodb, formule à 3 facteurs). */
#crm-panel .ac-obj-block{
  background:rgba(255,255,255,.02);border:1px solid var(--bd);border-radius:10px;
  padding:14px 16px;margin-bottom:20px;
}
#crm-panel .ac-obj-row{display:flex;align-items:center;gap:9px;padding:4px 0}
#crm-panel .ac-obj-label{font-size:10px;color:var(--t3);width:56px;flex-shrink:0}
#crm-panel .ac-obj-track{flex:1;height:7px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}
#crm-panel .ac-obj-fill{height:100%;border-radius:99px;transition:width .6s ease;background:var(--pu2)}
#crm-panel .ac-obj-fill.ok{background:var(--gr)}
#crm-panel .ac-obj-fill.warn{background:var(--go)}
#crm-panel .ac-obj-val{font-size:10px;color:var(--t2);font-family:var(--mono);width:52px;text-align:right;flex-shrink:0}
#crm-panel .ac-obj-badge{
  display:inline-flex;align-items:center;gap:6px;margin-top:8px;
  font-size:11px;padding:5px 10px;border-radius:7px;font-weight:700;
}
#crm-panel .ac-obj-badge.warn{background:rgba(240,192,64,.1);color:var(--go);border:1px solid rgba(240,192,64,.2)}
#crm-panel .ac-obj-badge.bad{background:rgba(251,146,60,.1);color:var(--or);border:1px solid rgba(251,146,60,.2)}
#crm-panel .ac-obj-badge.abs{background:rgba(248,113,113,.1);color:var(--rd);border:1px solid rgba(248,113,113,.2)}

/* Bannière "objectif atteint" — bien plus visible que le petit badge des autres statuts
   (demande Steve 2026-08-06 : "ça soit bien visible, bien compréhensible"). */
#crm-panel .ac-obj-goal{
  display:flex;align-items:center;gap:10px;margin-top:10px;
  padding:12px 14px;border-radius:10px;
  background:rgba(52,211,153,.14);border:1px solid rgba(52,211,153,.35);
  box-shadow:0 0 20px rgba(52,211,153,.12);
}
#crm-panel .ac-obj-goal-ic{font-size:20px;line-height:1;flex-shrink:0}
#crm-panel .ac-obj-goal-text{display:flex;flex-direction:column;gap:2px}
#crm-panel .ac-obj-goal-title{font-weight:800;color:var(--gr);font-size:12.5px;letter-spacing:.02em}
#crm-panel .ac-obj-goal-sub{font-size:11px;color:var(--t2)}

/* Objectif du mois — barre unique points réalisés / objectif du mois. */
#crm-panel .om-block{
  background:rgba(255,255,255,.02);border:1px solid var(--bd);border-radius:10px;
  padding:14px 16px;margin-bottom:20px;
}
#crm-panel .om-row{display:flex;align-items:center;gap:10px;margin-top:6px}
#crm-panel .om-track{flex:1;height:9px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}
#crm-panel .om-fill{height:100%;border-radius:99px;transition:width .6s ease;background:var(--pu2)}
#crm-panel .om-fill.ok{background:var(--gr)}
#crm-panel .om-val{font-family:var(--mono);font-size:11px;color:var(--t2);white-space:nowrap}
#crm-panel .om-sub{font-size:11px;color:var(--t3);margin-top:6px}
#crm-panel .om-sub.ok{color:var(--gr);font-weight:700}

/* Calendrier mensuel objectif — jours ouvrés seulement (demande Steve 2026-08-06), une
   petite case par jour, verte/rouge selon si l'objectif du jour a été atteint ce jour-là. */
#crm-panel .om-cal{
  background:rgba(255,255,255,.02);border:1px solid var(--bd);border-radius:10px;
  padding:14px 16px;margin-bottom:20px;
}
#crm-panel .om-cal-grid{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
#crm-panel .om-cal-cell{width:16px;height:16px;border-radius:4px;flex-shrink:0}
#crm-panel .om-cal-cell.ok{background:var(--gr)}
#crm-panel .om-cal-cell.bad{background:var(--rd)}
#crm-panel .om-cal-cell.nodata{background:rgba(255,255,255,.08);border:1px solid var(--t3)}
#crm-panel .om-cal-cell.future{background:rgba(255,255,255,.05);border:1.5px dashed var(--t3)}
#crm-panel .om-cal-cell.today{background:rgba(196,181,253,.22);border:2px solid var(--pu2)}

@media (max-width:640px){
  #crm-panel .stats-hbar-row{grid-template-columns:90px 1fr 30px;gap:6px}
}

/* Login Google (js/auth.js, 2026-08-01) — bouton officiel Google Identity Services
   + séparateur avant le picker agent/PIN existant, inchangé en dessous. */
#crm-panel .google-signin-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px 0 18px}
#crm-panel .google-signin-wrap.hidden{display:none}
#crm-panel .google-signin-sep{font-size:10px;color:var(--t3);letter-spacing:.05em;margin:0}
