/* ============================================================
   CRM Widget – Floating FAB + Speed-dial  v2.1
   ============================================================ */
:root {
  --cw-accent:  #6366f1;
  --cw-accent-h:#818cf8;
  --cw-dark:    #131626;
  --cw-border:  rgba(255,255,255,.1);
  --cw-shadow:  0 12px 40px rgba(0,0,0,.4);
}
.crm-widget {
  position: fixed; bottom: 24px; right: 24px; z-index: 99997;
  display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
  font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.crm-widget__menu {
  display: flex; flex-direction: column; align-items: flex-end; gap: 8px;
  pointer-events: none; opacity: 0; transform: translateY(10px) scale(.97);
  transition: opacity .22s ease, transform .22s cubic-bezier(.4,0,.2,1);
}
.crm-widget.is-open .crm-widget__menu { pointer-events: auto; opacity: 1; transform: translateY(0) scale(1); }
.crm-widget__action {
  display: flex; align-items: center; gap: 10px;
  padding: 0; background: none; border: none; cursor: pointer;
}
.crm-widget__action-tip {
  background: var(--cw-dark); color: #e8ecf8; font-size: 13px; font-weight: 500;
  padding: 7px 13px; border-radius: 20px; border: 1px solid var(--cw-border);
  box-shadow: var(--cw-shadow); white-space: nowrap; transition: background .15s;
}
.crm-widget__action:hover .crm-widget__action-tip { background: #1a1e30; }
.crm-widget__action-icon {
  width: 44px; height: 44px; border-radius: 50%; background: var(--cw-dark);
  border: 1px solid var(--cw-border); box-shadow: 0 4px 16px rgba(0,0,0,.35);
  display: flex; align-items: center; justify-content: center; color: #e8ecf8;
  flex-shrink: 0; transition: background .15s, transform .15s, box-shadow .15s;
}
.crm-widget__action:hover .crm-widget__action-icon { background: var(--cw-accent); transform: scale(1.08); box-shadow: 0 6px 20px rgba(99,102,241,.4); }
.crm-widget__fab {
  width: 58px; height: 58px; border-radius: 50%; background: var(--cw-accent);
  border: none; cursor: pointer; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 28px rgba(99,102,241,.5); position: relative; overflow: hidden;
  transition: background .2s, transform .18s, box-shadow .2s; flex-shrink: 0;
}
.crm-widget__fab:hover { background: var(--cw-accent-h); transform: scale(1.06); box-shadow: 0 12px 36px rgba(99,102,241,.6); }
.crm-widget__fab:active { transform: scale(.97); }
.crm-widget__fab::after { content:''; position:absolute; inset:0; background:radial-gradient(circle,rgba(255,255,255,.25) 0%,transparent 70%); opacity:0; transition:opacity .3s; }
.crm-widget__fab:active::after { opacity:1; }
.crm-widget__fab-chat, .crm-widget__fab-x {
  position: absolute; color: #fff; display: flex; align-items: center; justify-content: center;
  transition: opacity .2s, transform .25s cubic-bezier(.4,0,.2,1);
}
.crm-widget__fab-x { opacity: 0; transform: rotate(-90deg) scale(.6); }
.crm-widget.is-open .crm-widget__fab-chat { opacity: 0; transform: rotate(90deg) scale(.6); }
.crm-widget.is-open .crm-widget__fab-x    { opacity: 1; transform: rotate(0) scale(1); }
.crm-widget__fab::before { content:''; position:absolute; inset:-6px; border-radius:50%; border:2px solid var(--cw-accent); opacity:0; animation: cw-pulse 2.5s ease-out 2s 3; }
@keyframes cw-pulse { 0% { opacity:.6;transform:scale(1); } 100% { opacity:0;transform:scale(1.5); } }
@media (max-width:480px) { .crm-widget { bottom:16px; right:16px; } .crm-widget__fab { width:52px; height:52px; } }
@media (prefers-reduced-motion:reduce) { .crm-widget__menu,.crm-widget__fab,.crm-widget__fab-chat,.crm-widget__fab-x,.crm-widget__fab::before { transition:none;animation:none; } }
