
/* Privé conférence 2 à 5 personnes */
.pm-group-add-btn{border:1px solid rgba(82,211,255,.65)!important;background:linear-gradient(180deg,rgba(35,135,200,.92),rgba(20,72,130,.94))!important;color:#fff!important;border-radius:7px!important;padding:3px 8px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 0 10px rgba(82,211,255,.20)!important}.pm-group-add-btn:hover{filter:brightness(1.12)}
.gpm-overlay{position:fixed;inset:0;z-index:11050;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.72);backdrop-filter:none;-webkit-backdrop-filter:none}
.gpm-card{width:min(1120px,96vw);height:min(780px,94vh);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:2px solid #55d7ff;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,rgba(5,12,18,.98),rgba(2,5,9,.99));box-shadow:0 0 34px rgba(85,215,255,.24),0 22px 70px rgba(0,0,0,.7);color:#fff}
.gpm-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:linear-gradient(90deg,rgba(85,215,255,.15),rgba(108,255,87,.08));border-bottom:1px solid rgba(85,215,255,.28)}
.gpm-title{font-size:20px;font-weight:950;color:#8eeaff}.gpm-subtitle{font-size:12px;color:rgba(255,255,255,.68);margin-top:2px}
.gpm-header-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.gpm-btn{border:1px solid rgba(255,255,255,.20);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;padding:8px 11px;font-weight:850;cursor:pointer}.gpm-btn:hover{filter:brightness(1.12)}.gpm-btn.add{border-color:#55d7ff;color:#b7efff;background:rgba(50,150,220,.12)}.gpm-btn.media.on{border-color:#6cff57;color:#d9ffd1;background:rgba(40,160,80,.22);box-shadow:0 0 12px rgba(108,255,87,.18)}.gpm-btn.leave{border-color:#ff6262;color:#ffb0b0;background:rgba(160,30,30,.16)}
.gpm-members{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.28)}.gpm-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;border:1px solid rgba(108,255,87,.28);background:rgba(108,255,87,.08);font-size:12px;font-weight:800}.gpm-chip.pending{border-color:rgba(255,232,79,.38);color:#ffe87c;background:rgba(255,232,79,.08)}
.gpm-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,40%);gap:0}.gpm-media{min-height:0;padding:10px;overflow:auto;border-right:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 50% 10%,rgba(85,215,255,.08),transparent 46%),#030609}.gpm-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gpm-cam-slot{position:relative;min-height:170px;aspect-ratio:16/9;border:1px solid rgba(85,215,255,.28);border-radius:14px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45)}.gpm-cam-slot video{width:100%;height:100%;object-fit:cover}.gpm-cam-name{position:absolute;left:8px;bottom:8px;z-index:4;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:900}.gpm-local video{transform:scaleX(-1)}
.gpm-chat{min-height:0;display:flex;flex-direction:column;background:rgba(0,0,0,.26)}.gpm-messages{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px}.gpm-line{margin:7px 0;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.055);border-left:3px solid #55d7ff;overflow-wrap:anywhere}.gpm-line.mine{border-left-color:#6cff57;background:rgba(108,255,87,.06)}.gpm-line.system{border-left-color:#ffe84f;color:#ffeaa0;font-style:italic;font-size:12px}.gpm-line b{color:#8eeaff}.gpm-line.mine b{color:#a6ff97}.gpm-time{opacity:.52;font-size:10px;margin-left:6px}
.gpm-compose{display:flex;gap:8px;padding:10px;border-top:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.42)}.gpm-input{flex:1;min-height:46px;max-height:110px;resize:vertical;border:1px solid rgba(85,215,255,.32);border-radius:11px;background:#071019;color:#fff;padding:9px 10px;font:inherit}.gpm-send{align-self:flex-end;border:1px solid #55d7ff;border-radius:10px;background:linear-gradient(180deg,#40c8f5,#1876ad);color:#fff;font-weight:950;padding:10px 14px;cursor:pointer}
.gpm-picker-overlay{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.72)}.gpm-picker{width:min(560px,94vw);max-height:86vh;overflow:auto;border:2px solid #55d7ff;border-radius:18px;background:#071018;color:#fff;padding:16px;box-shadow:0 18px 60px rgba(0,0,0,.7)}.gpm-picker h3{margin:0 0 5px;color:#8eeaff}.gpm-picker p{margin:0 0 12px;color:rgba(255,255,255,.72)}.gpm-user-list{display:flex;flex-direction:column;gap:7px;max-height:380px;overflow:auto;padding:4px}.gpm-user-row{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.04);cursor:pointer}.gpm-user-row:hover{border-color:rgba(85,215,255,.48)}.gpm-user-row input{accent-color:#55d7ff}.gpm-picker-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}
.gpm-invite-card{width:min(520px,94vw);border:2px solid #6cff57;border-radius:18px;background:#07100b;color:#fff;padding:18px;box-shadow:0 0 30px rgba(108,255,87,.22),0 20px 60px rgba(0,0,0,.68)}.gpm-invite-card h3{margin:0 0 8px;color:#a8ff9a}.gpm-invite-members{color:#d8f8ff;line-height:1.5}.gpm-empty-media{grid-column:1/-1;padding:36px 18px;text-align:center;color:rgba(255,255,255,.54);border:1px dashed rgba(255,255,255,.12);border-radius:14px}
@media(max-width:800px){.gpm-card{height:96vh;width:98vw}.gpm-main{grid-template-columns:1fr;grid-template-rows:minmax(180px,42%) minmax(0,1fr)}.gpm-media{border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}.gpm-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gpm-cam-slot{min-height:110px}.gpm-header{align-items:flex-start}.gpm-title{font-size:17px}.gpm-btn{padding:7px 9px;font-size:12px}}
@media(max-width:520px){.gpm-overlay{padding:4px}.gpm-card{width:100vw;height:100vh;border-radius:0}.gpm-media-grid{grid-template-columns:1fr}.gpm-header{padding:9px}.gpm-members{padding:7px 9px}.gpm-header-actions{gap:4px}.gpm-btn{padding:6px 7px}.gpm-media{padding:7px}.gpm-messages{padding:8px}}


/* Contrôles caméra locale du privé conférence : uniquement la vignette "Moi" */
.gpm-local-controls{position:absolute;top:8px;right:8px;z-index:8;display:flex;align-items:center;gap:6px;max-width:calc(100% - 16px)}
.gpm-local-controls button{border:1px solid rgba(255,255,255,.30);border-radius:8px;padding:5px 8px;background:rgba(0,0,0,.68);color:#fff;font-size:11px;line-height:1.1;font-weight:900;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.42);backdrop-filter:none;-webkit-backdrop-filter:none}
.gpm-local-controls button:hover{filter:brightness(1.18)}
.gpm-local-pip{border-color:rgba(85,215,255,.72)!important;color:#bcefff!important}
.gpm-local-close{border-color:rgba(255,98,98,.82)!important;color:#ffc0c0!important;background:rgba(105,8,8,.72)!important}
@media(max-width:520px){.gpm-local-controls{top:6px;right:6px;gap:4px}.gpm-local-controls button{padding:5px 6px;font-size:10px}.gpm-local-pip{max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}


/* Sécurité invitation privé conférence : la fenêtre ne peut plus bloquer l'écran */
.gpm-invite-card{position:relative}
.gpm-invite-x{
  position:absolute;
  top:9px;
  right:10px;
  z-index:4;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,98,98,.78);
  border-radius:50%;
  background:rgba(105,8,8,.78);
  color:#ffd0d0;
  font-size:22px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 3px 12px rgba(0,0,0,.38);
}
.gpm-invite-x:hover{filter:brightness(1.18);border-color:#ff7d7d}
.gpm-invite-card h3{padding-right:42px}


/* ===== Privé conférence : mode fenêtre flottante ===== */
.gpm-btn.view{
  border-color:rgba(255,232,79,.48);
  color:#fff3a8;
  background:rgba(255,232,79,.08);
}

.gpm-overlay.gpm-minimized{
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:none;
  padding:0;
  align-items:initial;
  justify-content:initial;
}

.gpm-overlay.gpm-minimized .gpm-card{
  pointer-events:auto;
  position:fixed;
  right:14px;
  bottom:14px;
  width:min(520px,calc(100vw - 28px));
  height:min(430px,calc(100vh - 28px));
  border-radius:16px;
  box-shadow:0 18px 48px rgba(0,0,0,.68),0 0 20px rgba(85,215,255,.20);
  z-index:11051;
  grid-template-rows:auto auto minmax(0,1fr) auto;
}

.gpm-overlay.gpm-minimized .gpm-header{
  cursor:move;
  user-select:none;
  padding:8px 10px;
}
.gpm-overlay.gpm-minimized .gpm-title{font-size:15px}
.gpm-overlay.gpm-minimized .gpm-subtitle{font-size:10px}
.gpm-overlay.gpm-minimized .gpm-header-actions{gap:4px}
.gpm-overlay.gpm-minimized .gpm-btn{padding:6px 8px;font-size:11px}
.gpm-overlay.gpm-minimized .gpm-members{padding:6px 9px;gap:4px}
.gpm-overlay.gpm-minimized .gpm-chip{padding:3px 7px;font-size:10px}

/* En mode réduit on privilégie le texte privé ; les médias restent actifs,
   mais prennent moins de place afin de laisser le chat principal visible. */
.gpm-overlay.gpm-minimized .gpm-main{
  grid-template-columns:minmax(0,42%) minmax(0,58%);
}
.gpm-overlay.gpm-minimized .gpm-media{padding:6px}
.gpm-overlay.gpm-minimized .gpm-messages{padding:7px}
.gpm-overlay.gpm-minimized .gpm-line{margin:4px 0;padding:5px 7px;font-size:11px}
.gpm-overlay.gpm-minimized .gpm-compose{padding:6px;gap:5px}
.gpm-overlay.gpm-minimized .gpm-input{min-height:36px;max-height:70px;font-size:12px}
.gpm-overlay.gpm-minimized .gpm-send{padding:6px 9px;font-size:11px}

/* Le chat principal derrière reste entièrement cliquable. */
.gpm-overlay.gpm-minimized ~ *{
  pointer-events:auto;
}

@media(max-width:800px){
  .gpm-overlay.gpm-minimized .gpm-card{
    width:min(460px,calc(100vw - 16px));
    height:min(390px,calc(100vh - 16px));
    right:8px;
    bottom:8px;
  }
  .gpm-overlay.gpm-minimized .gpm-main{
    grid-template-columns:minmax(0,40%) minmax(0,60%);
    grid-template-rows:minmax(0,1fr);
  }
}

@media(max-width:560px){
  .gpm-overlay.gpm-minimized .gpm-card{
    width:calc(100vw - 10px);
    height:52vh;
    right:5px;
    bottom:5px;
    border-radius:13px;
  }
  .gpm-overlay.gpm-minimized .gpm-main{
    grid-template-columns:1fr;
  }
  .gpm-overlay.gpm-minimized .gpm-media{
    display:none;
  }
}
