/* ============================================================================
   AZALYS v17.44 — Messagerie interne flottante globale
   Objectif : rendre les messages internes visibles sur toutes les pages cabinet,
   y compris lorsqu'un collaborateur travaille dans un dossier client.
   ============================================================================ */

.internal-chat-floating{
  position:fixed;
  right:188px;
  bottom:24px;
  z-index:1499;
  display:block;
}
.internal-chat-floating.hidden{display:none!important;}
.internal-chat-btn{
  position:relative;
  width:62px;
  min-width:62px;
  height:62px;
  padding:0;
  border:0;
  border-radius:24px;
  cursor:grab;
  display:grid;
  place-items:center;
  overflow:visible;
  color:#fff;
  background:
    radial-gradient(circle at 24% 18%,rgba(34,211,238,.44),transparent 34%),
    linear-gradient(135deg,#0891b2 0%,#2563eb 54%,#4f46e5 100%);
  box-shadow:
    0 20px 48px rgba(37,99,235,.34),
    0 7px 18px rgba(14,165,233,.18),
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -16px 32px rgba(49,46,129,.18);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  animation:floatingChatPulse 3.8s ease-in-out infinite;
  touch-action:none;
}
.internal-chat-btn:hover{
  transform:translateY(-3px) scale(1.025);
  box-shadow:
    0 26px 62px rgba(37,99,235,.44),
    0 10px 24px rgba(34,211,238,.20),
    inset 0 1px 0 rgba(255,255,255,.40),
    inset 0 -16px 34px rgba(49,46,129,.20);
}
.internal-chat-glow{
  position:absolute;
  inset:-11px;
  z-index:-1;
  border-radius:32px;
  background:radial-gradient(circle,rgba(34,211,238,.34),rgba(79,70,229,.18) 48%,transparent 72%);
  filter:blur(10px);
  pointer-events:none;
}
.internal-chat-face{
  position:relative;
  width:42px;
  height:34px;
  border-radius:17px;
  display:block;
  overflow:visible;
  background:
    linear-gradient(90deg,rgba(210,250,255,.88),rgba(210,250,255,.88)) 8px 10px/12px 3px no-repeat,
    linear-gradient(90deg,rgba(210,250,255,.78),rgba(210,250,255,.78)) 8px 17px/11px 3px no-repeat,
    linear-gradient(90deg,rgba(210,250,255,.68),rgba(210,250,255,.68)) 8px 24px/10px 3px no-repeat,
    linear-gradient(145deg,rgba(255,255,255,.30),rgba(255,255,255,.08) 58%,rgba(59,130,246,.10));
  border:1px solid rgba(224,242,254,.72);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 0 20px rgba(34,211,238,.34),
    0 11px 22px rgba(15,23,42,.15);
  backdrop-filter:blur(8px);
}
.internal-chat-face::before{
  content:"";
  position:absolute;
  left:7px;
  bottom:-6px;
  width:13px;
  height:13px;
  border-radius:0 0 0 4px;
  transform:rotate(45deg);
  background:linear-gradient(135deg,rgba(226,251,255,.28),rgba(34,211,238,.20));
  border-left:1px solid rgba(224,242,254,.62);
  border-bottom:1px solid rgba(224,242,254,.62);
  box-shadow:0 0 14px rgba(34,211,238,.26);
}
.internal-chat-face::after{
  content:"";
  position:absolute;
  right:7px;
  top:10px;
  width:17px;
  height:13px;
  border-radius:4px;
  background:
    linear-gradient(135deg,transparent 46%,rgba(147,197,253,.95) 48%,rgba(147,197,253,.95) 52%,transparent 54%),
    linear-gradient(225deg,transparent 46%,rgba(147,197,253,.95) 48%,rgba(147,197,253,.95) 52%,transparent 54%),
    linear-gradient(180deg,#ffffff,#eaf5ff);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.72) inset,
    0 6px 15px rgba(15,23,42,.16),
    0 0 18px rgba(255,255,255,.34);
}
.internal-chat-badge{
  position:absolute;
  right:-7px;
  top:-8px;
  min-width:24px;
  height:24px;
  padding:0 6px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  background:linear-gradient(135deg,#ef4444,#f97316);
  color:#fff;
  font-size:11px;
  font-weight:1000;
  box-shadow:0 11px 26px rgba(239,68,68,.42);
}
.internal-chat-badge.hidden{display:none!important;}
.internal-chat-btn::after{
  content:"Interne";
  position:absolute;
  right:72px;
  top:50%;
  transform:translateY(-50%) scale(.96);
  transform-origin:right center;
  opacity:0;
  pointer-events:none;
  border-radius:999px;
  padding:7px 11px;
  background:rgba(8,23,52,.91);
  color:#fff;
  font-size:12px;
  font-weight:850;
  letter-spacing:.01em;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(15,23,42,.20);
  transition:.18s ease;
}
.internal-chat-btn:hover::after{opacity:1;transform:translateY(-50%) scale(1);}
.internal-chat-floating.has-unread .internal-chat-btn{animation:clientUnreadPulse 1.45s ease-in-out infinite!important;}
.internal-chat-floating.has-unread .internal-chat-glow{background:radial-gradient(circle,rgba(239,68,68,.36),rgba(37,99,235,.22) 50%,transparent 74%);}

.internal-chat-panel{
  position:absolute;
  right:0;
  bottom:76px;
  width:min(380px,calc(100vw - 28px));
  max-height:min(590px,calc(100vh - 118px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(191,219,254,.92);
  border-radius:26px;
  background:rgba(255,255,255,.97);
  box-shadow:0 28px 80px rgba(15,23,42,.22);
  backdrop-filter:blur(16px);
}
.internal-chat-panel.hidden{display:none!important;}
.internal-chat-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px 12px 16px;
  background:linear-gradient(135deg,#eff6ff,#f5f3ff);
  border-bottom:1px solid #dbeafe;
}
.internal-chat-head-left{display:flex;align-items:center;gap:11px;min-width:0;}
.internal-chat-avatar{
  position:relative;
  width:38px;
  min-width:38px;
  height:38px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#e0faff,#eef2ff);
  border:1px solid rgba(191,219,254,.78);
  box-shadow:0 10px 24px rgba(37,99,235,.13);
}
.internal-chat-avatar::before{
  content:"";
  width:27px;
  height:22px;
  border-radius:11px;
  background:
    linear-gradient(90deg,#60a5fa,#60a5fa) 6px 7px/7px 2px no-repeat,
    linear-gradient(90deg,#60a5fa,#60a5fa) 6px 12px/7px 2px no-repeat,
    linear-gradient(135deg,transparent 45%,#93c5fd 47%,#93c5fd 52%,transparent 54%) 15px 7px/10px 8px no-repeat,
    linear-gradient(225deg,transparent 45%,#93c5fd 47%,#93c5fd 52%,transparent 54%) 15px 7px/10px 8px no-repeat,
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(219,234,254,.74));
  border:1px solid rgba(125,211,252,.55);
  box-shadow:0 0 16px rgba(34,211,238,.20);
}
.internal-chat-head strong{display:block;color:#0f172a;font-size:15px;}
.internal-chat-head span{display:block;color:#64748b;font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px;}
.internal-chat-head-actions{display:flex;gap:6px;}
.internal-chat-head-actions .icon-btn{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.78);}
.internal-chat-toolbar{padding:10px 12px;border-bottom:1px solid #e2e8f0;background:#fff;}
.internal-chat-toolbar .control{min-height:38px;border-radius:14px;font-weight:750;color:#0f172a;}
.internal-chat-thread{
  padding:14px;
  overflow:auto;
  min-height:250px;
  max-height:360px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  scrollbar-width:thin;
}
.internal-chat-empty{
  border:1px dashed #bfdbfe;
  border-radius:20px;
  padding:22px;
  text-align:center;
  background:#fff;
}
.internal-chat-empty strong{display:block;color:#0f172a;}
.internal-chat-empty span{display:block;color:#64748b;font-size:13px;line-height:1.45;margin-top:5px;}
.internal-chat-msg{display:flex;margin:10px 0;}
.internal-chat-msg.from-them{justify-content:flex-start;}
.internal-chat-msg.from-me{justify-content:flex-end;}
.internal-chat-msg-bubble{
  max-width:86%;
  border:1px solid #dbeafe;
  border-radius:18px;
  padding:10px 12px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  font-size:13px;
  line-height:1.45;
}
.internal-chat-msg.from-me .internal-chat-msg-bubble{
  background:linear-gradient(135deg,#2563eb,#4f46e5);
  color:#fff;
  border-color:#2563eb;
  box-shadow:0 13px 28px rgba(37,99,235,.22);
}
.internal-chat-msg-meta{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:11px;}
.internal-chat-msg-meta span{opacity:.75;}
.internal-chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:#fff;border-top:1px solid #e2e8f0;}
.internal-chat-compose textarea{resize:none;min-height:52px;border-radius:16px;}
.internal-chat-compose .btn{border-radius:16px;}
.internal-chat-note{padding:0 14px 12px;color:#64748b;font-size:11px;background:#fff;}

.ai-floating.is-dragging,
.client-chat-floating.is-dragging,
.cabinet-chat-floating.is-dragging,
.internal-chat-floating.is-dragging{opacity:.96;}
.ai-floating-head.floating-drag-handle,
.client-chat-head.floating-drag-handle,
.cabinet-chat-head.floating-drag-handle,
.internal-chat-head.floating-drag-handle{cursor:grab;}
.ai-floating.is-dragging .floating-drag-handle,
.client-chat-floating.is-dragging .floating-drag-handle,
.cabinet-chat-floating.is-dragging .floating-drag-handle,
.internal-chat-floating.is-dragging .floating-drag-handle{cursor:grabbing;}

@media(max-width:720px){
  .internal-chat-floating{right:144px;bottom:16px;}
  .internal-chat-btn{width:56px;min-width:56px;height:56px;border-radius:21px;}
  .internal-chat-face{transform:scale(.92);}
  .internal-chat-btn::after{display:none!important;}
  .internal-chat-panel{right:-146px;bottom:74px;width:calc(100vw - 28px);max-height:calc(100vh - 104px);border-radius:22px;}
  .internal-chat-compose{grid-template-columns:1fr;}
  .internal-chat-compose .btn{width:100%;}
  .internal-chat-head span{max-width:190px;}
}

@media(prefers-reduced-motion:reduce){
  .internal-chat-btn,
  .internal-chat-glow{animation:none!important;}
}

/* V5.53 — Messagerie interne flottante : pièces jointes et emojis */
.internal-chat-compose{grid-template-columns:1fr;}
.internal-chat-compose-actions{display:grid;grid-template-columns:36px 36px 1fr;gap:7px;align-items:center;}
.internal-chat-mini-btn{width:36px;height:36px;border:1px solid #dbeafe;border-radius:13px;background:#f8fafc;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;}
.internal-chat-mini-btn:hover{background:#eff6ff;}
.internal-chat-compose .internal-attachment-preview{margin:0;}
.internal-chat-emoji-picker{margin:0;max-width:100%;}
.internal-chat-msg.from-me .internal-attachment{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25);color:#fff;}
.internal-chat-msg.from-me .internal-attachment span,.internal-chat-msg.from-me .internal-attachment small{color:#fff;}

/* AZALYS V5.55 — stabilité de la messagerie interne flottante */
.internal-chat-thread{scroll-behavior:auto!important;overflow-anchor:none!important;}
.internal-chat-floating{contain:layout style;}
body.az-view-internal-messages #internal-chat-floating,body.az-view-internal-messages #client-chat-floating,body.az-view-internal-messages #cabinet-chat-floating,body.az-view-internal-messages #ai-floating{display:none!important;}
