/* TuniRFID — Onboarding (bouton "?", menu, checklist). Charger driver.css avant. */
#btn-help{background:none;border:none;cursor:pointer;font-size:18px;color:#475569;width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
#btn-help:hover{background:#eef2ff;color:#4f46e5}

.onb-menu{position:fixed;top:54px;right:14px;z-index:6000;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.16);width:250px;padding:6px;display:none}
.onb-menu.open{display:block}
.onb-menu .onb-lang{display:flex;gap:6px;padding:6px;border-bottom:1px solid #f1f5f9;margin-bottom:4px}
.onb-menu .onb-lang button{flex:1;border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:5px;cursor:pointer;font-weight:700;font-size:13px}
.onb-menu .onb-lang button.active{background:#4f46e5;color:#fff;border-color:#4f46e5}
.onb-item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;padding:10px;border-radius:8px;cursor:pointer;font-size:14px;color:#1e293b;text-align:left}
.onb-item:hover{background:#f1f5f9}
.onb-item .ic{width:20px;text-align:center;flex:none}

.onb-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:6090;display:none}
.onb-backdrop.open{display:block}
.onb-drawer{position:fixed;top:0;right:0;height:100%;width:344px;max-width:92vw;background:#fff;box-shadow:-8px 0 40px rgba(0,0,0,.18);z-index:6100;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}
.onb-drawer.open{transform:translateX(0)}
.onb-drawer header{padding:15px 16px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}
.onb-drawer header h3{margin:0;font-size:16px;color:#0f172a}
.onb-close{border:none;background:none;font-size:24px;line-height:1;cursor:pointer;color:#64748b}
.onb-prog{padding:12px 16px;font-size:13px;color:#475569}
.onb-prog .bar{height:8px;background:#e2e8f0;border-radius:99px;margin-top:6px;overflow:hidden}
.onb-prog .bar > i{display:block;height:100%;width:0;background:#16a34a;border-radius:99px;transition:width .3s}
.onb-list{list-style:none;margin:0;padding:8px 12px;overflow:auto}
.onb-row{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid #eef2f7;border-radius:10px;margin-bottom:8px}
.onb-row[onclick]{cursor:pointer}
.onb-row[onclick]:hover{background:#f8fafc;border-color:#dbe3ec}
.onb-row .chk{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;font-weight:700}
.onb-row.done .chk{background:#16a34a;border-color:#16a34a}
.onb-row .txt b{display:block;font-size:14px;color:#0f172a}
.onb-row .txt span{font-size:12px;color:#64748b}
.onb-row.done .txt b{text-decoration:line-through;color:#94a3b8}

/* Banniere "Mode demo" (boutique demo publique) */
.onb-demo-bar{position:fixed;left:0;right:0;bottom:0;z-index:6050;background:#155e75;color:#fff;font-size:13px;
  padding:8px 14px;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;
  box-shadow:0 -4px 20px rgba(0,0,0,.18)}
.onb-demo-bar a{background:#fff;color:#155e75;font-weight:700;padding:5px 12px;border-radius:8px;text-decoration:none}
.onb-demo-bar a:hover{background:#e0f2fe}

/* RTL (arabe) — applique uniquement aux surfaces onboarding, pas a toute l'app */
.onb-rtl{direction:rtl;text-align:right}
.onb-menu.onb-rtl{right:auto;left:14px}
.onb-item.onb-rtl,.onb-rtl .onb-item{text-align:right}
.onb-drawer.onb-rtl{right:auto;left:0;transform:translateX(-100%);box-shadow:8px 0 40px rgba(0,0,0,.18)}
.onb-drawer.onb-rtl.open{transform:translateX(0)}

/* ── Assistant d'aide (chat RAG) — aligne au design StockManager (bleu marque) ─ */
.onb-asst{position:fixed;bottom:18px;right:18px;z-index:6200;
  width:374px;max-width:calc(100vw - 24px);height:72vh;max-height:560px;min-height:380px;
  background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;
  box-shadow:0 24px 60px rgba(15,23,42,.24),0 2px 8px rgba(15,23,42,.08);
  display:none;flex-direction:column;font-family:'Segoe UI',system-ui,sans-serif}
.onb-asst.open{display:flex;animation:onbAsstIn .22s cubic-bezier(.16,.84,.44,1)}
@keyframes onbAsstIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}

.onb-asst-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;color:#fff;
  background:linear-gradient(135deg,#1A4F8A 0%,#2563eb 100%)}
.onb-asst-ttl{font-weight:700;font-size:15px;letter-spacing:.2px}
.onb-asst-x{background:rgba(255,255,255,.18);border:none;color:#fff;width:26px;height:26px;border-radius:8px;
  font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.onb-asst-x:hover{background:rgba(255,255,255,.32)}

.onb-asst-body{flex:1;overflow-y:auto;padding:14px;background:#f6f8fb;display:flex;flex-direction:column;gap:12px}
.onb-asst-body::-webkit-scrollbar{width:8px}
.onb-asst-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}

.onb-msg{display:flex;flex-direction:column;gap:6px;max-width:100%}
.onb-msg-user{align-items:flex-end}
.onb-msg-bot{align-items:flex-start}
.onb-bub{max-width:86%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.55;
  white-space:pre-wrap;word-wrap:break-word;animation:onbBubIn .18s ease both}
@keyframes onbBubIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.onb-msg-user .onb-bub{background:linear-gradient(135deg,#1A4F8A,#2563eb);color:#fff;border-bottom-right-radius:5px}
.onb-msg-bot .onb-bub{background:#fff;border:1px solid #e7edf3;color:#1e293b;border-bottom-left-radius:5px;
  box-shadow:0 1px 2px rgba(15,23,42,.05)}
.onb-bub.onb-typing{color:#94a3b8;letter-spacing:3px;font-size:18px;animation:onbTyping 1.1s ease-in-out infinite}
@keyframes onbTyping{0%,100%{opacity:.45}50%{opacity:1}}

.onb-src{display:flex;flex-wrap:wrap;gap:6px}
.onb-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;text-decoration:none;
  color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;padding:4px 9px;border-radius:99px;
  transition:background .15s,border-color .15s}
.onb-chip:hover{background:#dbeafe;border-color:#93c5fd}

.onb-asst-foot{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #eef2f7;background:#fff}
.onb-asst-foot input{flex:1;border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;font-size:13.5px;
  font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.onb-asst-foot input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.onb-asst-foot button{background:#1A4F8A;color:#fff;border:none;border-radius:10px;padding:0 16px;font-weight:700;
  font-size:13.5px;cursor:pointer;transition:background .15s}
.onb-asst-foot button:hover{background:#163f6e}

/* RTL (arabe / darija) */
.onb-asst.onb-rtl{right:auto;left:18px}
.onb-asst.onb-rtl .onb-msg-user{align-items:flex-start}
.onb-asst.onb-rtl .onb-msg-bot{align-items:flex-end}
.onb-asst.onb-rtl .onb-msg-user .onb-bub{border-bottom-right-radius:14px;border-bottom-left-radius:5px}
.onb-asst.onb-rtl .onb-msg-bot .onb-bub{border-bottom-left-radius:14px;border-bottom-right-radius:5px}

@media(max-width:560px){
  .onb-asst{right:8px;left:8px;bottom:8px;width:auto;height:80vh;max-height:none}
  .onb-asst.onb-rtl{left:8px;right:8px}
}
