/* Original Lives V0.36.8: Ventana de perfil flotante con mini dock lateral.
   No altera elementos internos, endpoints ni datos de cuentas. */
#olContactsOverlay.ol-contacts-overlay{
  position:fixed;
  inset:0;
  display:block;
  padding:0;
  /* Critical: aurora-v336 had a full-screen background with !important.
     Without this override the floating profile hides the entire website. */
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
  pointer-events:none;
  z-index:100;
}
#olContactsOverlay.ol-contacts-overlay[hidden]{display:none!important}
#olContactsOverlay .ol-contacts-dialog{
  position:absolute;
  left:12px;
  top:12px;
  right:auto;
  bottom:auto;
  transform:none;
  backdrop-filter:none;
  width:min(700px,calc(100vw - 24px));
  min-width:280px;
  max-width:calc(100vw - 16px);
  max-height:calc(100dvh - 16px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  pointer-events:auto;
  isolation:isolate;
  box-shadow:0 18px 65px rgba(0,0,0,.65),0 0 0 1px rgba(176,132,240,.18),0 0 30px rgba(105,55,171,.21);
}
#olContactsOverlay .ol-contacts-top{
  flex:0 0 auto;
  user-select:none;
  -webkit-user-select:none;
  touch-action:none;
  cursor:grab;
  gap:9px;
}
#olContactsOverlay .ol-contacts-top:active{cursor:grabbing}
#olContactsOverlay .ol-contacts-top strong{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#olContactsOverlay .ol-contacts-top button{flex:0 0 auto;cursor:pointer;touch-action:manipulation}
#olContactsOverlay .ol-contacts-content{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}
#olContactsOverlay .ol-contacts-notice{flex:0 0 auto}
#olContactsOverlay .ol366-minimize{
  width:36px;height:36px;min-width:36px;
  padding:4px 7px;
  border:1px solid rgba(180,133,237,.56);
  border-radius:10px;
  background:rgba(85,56,131,.5);
  color:#f7eaff;
  font-size:21px;
  line-height:1;
  display:grid;
  place-items:center;
}
#olContactsOverlay .ol366-minimize:hover,
#olContactsOverlay .ol366-minimize:focus-visible{background:#66399a;border-color:#d6adff}
#olContactsOverlay .ol366-resize-handle{
  position:absolute;
  right:0;
  bottom:0;
  width:29px;
  height:29px;
  z-index:20;
  display:grid;
  place-items:end;
  padding:0 5px 4px 0;
  cursor:nwse-resize;
  touch-action:none;
  color:#d9bafa;
  text-shadow:0 0 7px #ad7bf2;
  user-select:none;
  -webkit-user-select:none;
  font-size:19px;
  line-height:1;
}
#olContactsOverlay .ol366-resize-handle:hover{color:#fff}
/* Hidden dialog is not allowed to inherit the old display:flex rules. */
#olContactsOverlay .ol-contacts-dialog[hidden]{display:none!important}
#olContactsOverlay .ol368-mini-dock[hidden]{display:none!important}
#olContactsOverlay .ol368-mini-dock{
  position:fixed;
  z-index:5;
  box-sizing:border-box;
  top:clamp(85px,24dvh,310px);
  right:14px;
  left:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  width:157px;
  height:64px;
  padding:7px;
  border:1px solid rgba(138,177,215,.46);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(25,43,66,.96),rgba(35,26,66,.94));
  box-shadow:0 8px 26px rgba(0,0,0,.32),0 0 15px rgba(110,78,170,.15),inset 0 1px rgba(255,255,255,.09);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  pointer-events:auto;
}
#olContactsOverlay .ol368-dock-restore{
  appearance:none;
  display:flex;
  align-items:center;
  gap:8px;
  flex:1 1 auto;
  min-width:0;
  min-height:46px;
  padding:3px 3px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#f5ecff;
  text-align:left;
  font:700 12px/1.25 system-ui,sans-serif;
  cursor:pointer;
  touch-action:manipulation;
}
#olContactsOverlay .ol368-dock-avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:12px;
  background:linear-gradient(155deg,#55447a,#283952);
  border:1px solid rgba(171,140,244,.5);
  color:#e7c9ff;
  font-size:21px;
}
#olContactsOverlay .ol368-dock-avatar img{display:block;width:100%;height:100%;object-fit:cover}
#olContactsOverlay .ol368-dock-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#olContactsOverlay .ol368-dock-close{
  appearance:none;
  width:36px;
  min-width:36px;
  height:40px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:11px;
  border:1px solid rgba(172,169,195,.3);
  background:rgba(255,255,255,.035);
  color:#cad5e5;
  font:500 23px/1 system-ui,sans-serif;
  cursor:pointer;
  touch-action:manipulation;
}
#olContactsOverlay .ol368-dock-restore:hover,
#olContactsOverlay .ol368-dock-restore:focus-visible{background:rgba(120,95,176,.23)}
#olContactsOverlay .ol368-dock-close:hover,
#olContactsOverlay .ol368-dock-close:focus-visible{background:rgba(191,59,103,.20);border-color:rgba(250,149,176,.7);color:#fff}
#olContactsOverlay .ol368-mini-dock button:focus-visible{outline:2px solid #9ceff2;outline-offset:2px}
@media(max-width:600px){
  #olContactsOverlay .ol-contacts-dialog{
    min-width:min(280px,calc(100vw - 16px));
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 12px);
  }
  #olContactsOverlay .ol366-minimize{width:34px;height:34px;min-width:34px}
  #olContactsOverlay .ol366-resize-handle{width:34px;height:34px}
  #olContactsOverlay .ol368-mini-dock{right:10px;top:clamp(78px,22dvh,245px);width:149px;height:62px;padding:6px}
}
@media(prefers-reduced-motion:reduce){
  #olContactsOverlay .ol-contacts-dialog{scroll-behavior:auto}
}

/* V0.36.9: Mini perfil justo ARRIBA de la burbuja Chat Global. */
#olContactsOverlay .ol368-mini-dock{
  top:auto;
  right:18px;
  bottom:96px; /* fallback; JS lo alinea con el Chat Global real */
}
@media(max-width:600px){
  #olContactsOverlay .ol368-mini-dock{
    top:auto;
    right:10px;
    bottom:82px; /* fallback móvil */
  }
}
