/* Loader, overlay broadcast — extrait de index.php */
#synLoader{
    position:fixed;inset:0;z-index:9999;
    background:#f4f6f9;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    transition:opacity .5s ease,visibility .5s ease;
  }
  #synLoader.fade{opacity:0;visibility:hidden;pointer-events:none}
  .sl-logo{
    font-family:system-ui,-apple-system,sans-serif;
    font-weight:900;font-size:26px;letter-spacing:-1px;
    color:#0f172a;margin-bottom:4px;
  }
  .sl-logo span{color:#3b82f6}
  .sl-sub{
    font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    color:#94a3b8;margin-bottom:36px;
  }
  .sl-track{
    width:160px;height:2px;background:#e2e8f0;
    border-radius:99px;overflow:hidden;margin-bottom:14px;
  }
  .sl-bar{
    height:100%;width:0%;background:#3b82f6;
    border-radius:99px;transition:width .4s cubic-bezier(.4,0,.2,1);
  }
  .sl-step{
    font-size:11px;font-weight:600;color:#94a3b8;
    letter-spacing:.03em;height:16px;
  }
  
/* ── Broadcast (notification plein écran) ── */
.broadcastOverlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s}
.broadcastOverlay.on{opacity:1;pointer-events:all}
.broadcastCard{max-width:600px;width:90vw;border-radius:20px;padding:48px 40px;text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.5);transform:translateY(24px);transition:transform .35s;position:relative}
.broadcastOverlay.on .broadcastCard{transform:translateY(0)}
.broadcastIcon{font-size:56px;line-height:1;margin-bottom:16px}
.broadcastTitle{font-size:28px;font-weight:900;line-height:1.2;margin-bottom:14px;letter-spacing:-.02em}
.broadcastMsg{font-size:16px;font-weight:500;line-height:1.7;opacity:.85;margin-bottom:32px;white-space:pre-wrap}
.broadcastBtn{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;border:none;border-radius:12px;font-size:15px;font-weight:800;cursor:pointer;transition:all .15s;letter-spacing:-.01em}
.broadcastBtn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.broadcastCounter{position:absolute;top:16px;right:20px;font-size:12px;font-weight:700;opacity:.5}
.broadcastDots{display:flex;gap:6px;justify-content:center;margin-top:20px}
.broadcastDot{width:8px;height:8px;border-radius:50%;opacity:.3;transition:opacity .2s}
.broadcastDot.on{opacity:1}
.bcAdminCard{border:1.5px solid rgba(15,23,42,.1);border-radius:10px;padding:12px 14px;margin-bottom:8px;display:flex;align-items:center;gap:12px;transition:border-color .12s}
.bcAdminCard:hover{border-color:#3b82f6}
.bcBadge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;flex-shrink:0}
.bcBadge.on{background:#d1fae5;color:#065f46}
.bcBadge.off{background:#f3f4f6;color:#6b7280}

/* Section Données (clients / fournisseurs) */
@keyframes spin{to{transform:rotate(360deg)}}
    .dataBadge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600}
    .dataBadge.phone{background:#ecfdf5;color:#065f46}
    .dataBadge.email{background:#eff6ff;color:#1d4ed8}
    #dataDropZone:hover,#dataDropZone.drag{border-color:#3b82f6!important;background:#eff6ff!important}
    @media(max-width:700px){
      #dataTableHead{display:none!important}
      #dataEditGrid{grid-template-columns:1fr!important}
      #dataEditGrid>div{grid-column:1/-1!important}
    }
