/* Свёрнутый звонок — строка диалога сразу под шапкой, не над окном. */
#call-overlay #call-expand-act{display:none}
#call-overlay.screen-share #call-local,
#call-overlay.screen-share #call-remote{transform:none !important}
#call-overlay.screen-share #call-mirror{display:none}
#call-overlay #call-screen.on{background:#3bb4d4;color:#fff}
#call-overlay.screen-share:not(.me-large):not(.docked) #call-pip{width:168px;height:94px}
#call-overlay.screen-share:not(.me-large) #call-pip video{object-fit:contain;transform:none !important}
#call-overlay.me-large:not(.docked) #call-pip{
  inset:0 !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;
  width:100% !important;height:100% !important;
  border:0;border-radius:0;box-shadow:none;z-index:1;cursor:pointer
}
#call-overlay.me-large.screen-share:not(.docked) #call-pip video{
  object-fit:contain;transform:none !important;background:#000
}
#call-overlay.me-large.screen-share:not(.docked) #call-pip::after{
  content:"Ваш экран";position:absolute;left:16px;bottom:108px;z-index:2;
  padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.5);color:#fff;
  font-size:13px;pointer-events:none
}
#call-overlay.me-large:not(.docked) video#call-remote{
  inset:auto !important;top:16px !important;right:16px !important;left:auto !important;bottom:auto !important;
  width:112px !important;height:152px !important;
  border-radius:18px;z-index:5;object-fit:cover;pointer-events:auto;cursor:pointer
}
#call-overlay.me-large:not(.docked):not(.has-remote) video#call-remote{display:none !important}
#call-overlay.me-large.remote-screen:not(.docked) video#call-remote{
  width:168px !important;height:94px !important;object-fit:contain !important
}
#call-overlay.remote-screen video#call-remote{object-fit:contain !important}
#call-overlay.screen-share::before,
#call-overlay.remote-screen::before{opacity:0}
#call-overlay.screen-share .call-avatar-wrap,
#call-overlay.remote-screen .call-avatar-wrap{display:none !important}
#call-overlay.screen-share:not(.docked) .call-stage,
#call-overlay.remote-screen:not(.docked) .call-stage{
  position:absolute;top:12px;left:12px;right:auto;bottom:auto;
  width:auto;flex:none;align-items:flex-start;justify-content:flex-start;
  padding:0;pointer-events:none;background:none
}
#call-overlay.screen-share:not(.docked) .call-info,
#call-overlay.remote-screen:not(.docked) .call-info{
  display:flex;align-items:center;gap:8px;
  padding:3px 10px;border-radius:999px;text-align:left;
  background:rgba(8,14,22,.62);max-width:none
}
#call-overlay.screen-share:not(.docked) .call-name,
#call-overlay.remote-screen:not(.docked) .call-name{
  font-size:13px;line-height:1.2;margin:0;font-weight:650
}
#call-overlay.screen-share:not(.docked) .call-status,
#call-overlay.remote-screen:not(.docked) .call-status{display:none}
#call-overlay.screen-share:not(.docked) .call-meta,
#call-overlay.remote-screen:not(.docked) .call-meta{margin:0;gap:6px;min-height:0}
#call-overlay.screen-share:not(.docked) .call-timer,
#call-overlay.remote-screen:not(.docked) .call-timer{font-size:12px}
#call-overlay.screen-share:not(.docked) .call-q-label,
#call-overlay.remote-screen:not(.docked) .call-q-label{font-size:11px;min-width:0}
.call-name-row{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;margin:0 0 8px}
.call-name-row .call-name{margin:0}
#call-overlay.docked .call-name-row,
#call-overlay.screen-share .call-name-row,
#call-overlay.remote-screen .call-name-row{margin:0}
.call-peer-mic{
  display:none;width:32px;height:32px;flex:0 0 32px;border-radius:50%;
  background:#e5484d;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.35)
}
.call-peer-mic.on{display:flex}
.call-peer-mic svg{
  width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round
}
.call-sys-vol{
  display:none;position:absolute;right:86px;top:50%;transform:translateY(-58%);z-index:7;
  flex-direction:column;align-items:center;gap:8px;
  width:54px;padding:14px 0 12px;border-radius:999px;color:#fff;
  background:rgba(12,18,28,.38);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 14px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.call-sys-vol[hidden]{display:none !important}
#call-overlay.has-sys.active:not(.docked):not(.ui-gone) .call-sys-vol,
#call-overlay.remote-sys.active:not(.docked):not(.ui-gone) .call-sys-vol{display:flex}
.call-sys-vol span{font-size:11px;font-weight:650;opacity:.9}
.call-sys-vol b{font:650 11px/1 Manrope,system-ui,sans-serif;font-variant-numeric:tabular-nums;opacity:.92}
#call-sys-range{
  writing-mode:vertical-lr;direction:rtl;width:28px;height:148px;margin:0;
  accent-color:#3bb4d4;cursor:pointer;background:transparent
}
#call-overlay.screen-share:not(.docked) .call-dock,
#call-overlay.remote-screen:not(.docked) .call-dock{
  position:absolute;left:50%;right:auto;bottom:18px;top:auto;
  transform:translateX(-50%);margin:0;z-index:6
}
#call-overlay.active.video-on:not(.me-large):not(.has-remote) .call-avatar-wrap{display:grid !important}
#call-overlay.docked.video-on:not(.has-remote) #call-pip,
#call-overlay.docked.screen-share:not(.has-remote) #call-pip{
  display:block !important;position:relative !important;inset:auto !important;
  top:auto !important;right:auto !important;width:168px !important;height:94px !important;
  flex:0 0 168px;margin:0 8px 0 0;border-radius:10px;z-index:2
}
#call-overlay.docked.video-on:not(.has-remote) #call-local,
#call-overlay.docked.screen-share:not(.has-remote) #call-local{
  display:block !important;width:100%;height:100%;object-fit:contain;transform:none !important
}
#call-overlay.docked.has-remote video#call-remote{
  display:block !important;position:relative !important;inset:auto !important;
  top:auto !important;right:auto !important;left:auto !important;bottom:auto !important;
  width:168px !important;height:94px !important;flex:0 0 168px;margin:0 8px 0 0;
  border-radius:10px;object-fit:cover !important;z-index:2;background:#111
}
#call-overlay.docked.remote-screen.has-remote video#call-remote{object-fit:contain !important}
#call-overlay.docked.has-remote #call-pip{display:none !important}
#chat > #call-overlay.docked,
#sidebar > #call-overlay.docked{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  height:auto !important;
  z-index:2;
}
#call-overlay.docked{
  position:relative;
  inset:auto;
  top:auto;
  left:auto;
  right:auto;
  bottom:auto;
  transform:none;
  width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  flex:0 0 auto;
  z-index:2;
  margin:0;
  border-radius:0;
  box-shadow:none;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  padding:6px 12px;
  background:var(--bg-2);
  color:var(--text);
  border-bottom:1px solid var(--line);
}
@media(max-width:820px){
  #call-overlay.docked{position:relative;inset:auto;top:auto;left:auto;right:auto;bottom:auto;transform:none;width:100%;z-index:5}
}
#call-overlay.docked::before,
#call-overlay.docked video,
#call-overlay.docked .call-pip,
#call-overlay.docked .call-avatar-wrap,
#call-overlay.docked .call-sas,
#call-overlay.docked #call-chats-act{display:none !important}
#call-overlay.docked #call-expand-act{display:flex}
#call-overlay.docked .call-stage{
  flex:1 1 auto;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  padding:0 8px 0 0;
  text-align:left;
  min-width:0;
}
#call-overlay.docked .call-info{
  display:flex;flex-direction:row;align-items:center;gap:10px;
  max-width:none;min-width:0
}
#call-overlay.docked .call-name-row{justify-content:flex-start;min-width:0;flex:0 1 auto}
#call-overlay.docked .call-name{
  font-size:15px;
  margin:0;
  flex:0 1 auto;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#call-overlay.docked .call-status{font-size:12px;color:var(--muted)}
#call-overlay.docked .call-status:empty{display:none}
#call-overlay.docked .call-meta{margin:0;justify-content:flex-start;min-height:0;gap:8px}
#call-overlay.docked .call-quality{display:flex !important;height:14px;opacity:1}
#call-overlay.docked .call-quality span{background:color-mix(in srgb, var(--text) 28%, transparent)}
#call-overlay.docked .call-quality.q1 span:nth-child(1){background:#e53935}
#call-overlay.docked .call-quality.q2 span:nth-child(-n+2){background:#ffb74d}
#call-overlay.docked .call-quality.q3 span:nth-child(-n+3),
#call-overlay.docked .call-quality.q4 span{background:#66bb6a}
#call-overlay.docked .call-q-label{display:block !important;font-size:12px;color:var(--muted);min-width:0}
#call-overlay.docked .call-timer{font-size:13px;color:var(--muted)}
#call-overlay.docked .call-btn{background:var(--bg-3);color:var(--text)}
#call-overlay.docked .call-btn.end{background:#e5484d;color:#fff}
#call-overlay.docked .call-btn.accept{background:#2fbf71;color:#fff}
#call-overlay.docked .call-dock{
  width:auto;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
#call-overlay.docked .call-actions{flex-wrap:nowrap;gap:6px;justify-content:flex-end}
#call-overlay.docked .call-act{min-width:0;max-width:none;flex:0 0 auto;gap:0}
#call-overlay.docked .call-act .lbl{display:none}
#call-overlay.video-on:not(.remote-screen) video#call-remote{object-fit:contain}
#call-overlay #call-pip{cursor:pointer}
#call-overlay .call-pip-mirror{width:28px;height:28px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center}
#call-overlay .call-pip-mirror svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#call-overlay.docked #call-flip-act,
#call-overlay.docked #call-look-act,
#call-overlay.docked #call-q-act,
#call-overlay.docked #call-ui-act{display:none !important}
#call-overlay.docked .call-btn,
#call-overlay.docked .call-btn.accept{width:40px;height:40px}
#call-overlay.docked .call-btn svg,
#call-overlay.docked .call-btn.accept svg{width:18px;height:18px}
#call-overlay:not(.docked) .call-dock{
  position:relative;width:max-content;max-width:calc(100% - 24px);
  margin:0 auto 14px;padding:10px 12px 8px;border-radius:22px
}
#call-overlay:not(.docked) .call-actions{flex-wrap:nowrap;gap:8px;justify-content:center}
#call-overlay:not(.docked) .call-actions > .call-act{flex:0 0 auto;min-width:0;max-width:none;gap:4px}
#call-overlay:not(.docked) .call-btn{width:46px;height:46px}
#call-overlay:not(.docked) .call-btn svg{width:20px;height:20px}
#call-overlay:not(.docked) .call-btn.accept{width:52px;height:52px}
#call-overlay:not(.docked) .call-btn.accept svg{width:22px;height:22px}
#call-overlay:not(.docked) .call-actions > .call-act > .lbl{font-size:11px}
#call-more-act{position:relative}
#call-more-pop{
  display:none;position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);
  flex-direction:column;gap:4px;padding:8px;border-radius:16px;z-index:6;
  background:rgba(16,24,34,.94);border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 28px rgba(0,0,0,.35)
}
#call-more-pop.open{display:flex}
#call-more-pop .call-act{
  flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;
  width:max-content;min-width:176px;max-width:none;flex:0 0 auto
}
#call-more-pop .call-btn{width:40px;height:40px}
#call-more-pop .call-btn svg{width:18px;height:18px}
#call-more-pop .lbl{font-size:13px;white-space:nowrap}
#call-overlay .call-bar-hide{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  width:28px;height:22px;padding:0;border:0;border-radius:999px;cursor:pointer;z-index:5;
  display:flex;align-items:center;justify-content:center;background:rgba(16,24,34,.88);color:#fff
}
#call-overlay .call-bar-hide svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#call-overlay .call-bar-show{
  display:none;position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:6;
  border:0;border-radius:999px;padding:8px 14px;background:rgba(16,24,34,.88);color:#fff;cursor:pointer
}
#call-overlay.bar-gone:not(.docked) .call-dock{display:none}
#call-overlay.bar-gone:not(.docked) .call-bar-show{display:inline-flex}
#call-overlay.docked .call-bar-hide,
#call-overlay.docked .call-bar-show{display:none !important}
#call-overlay.docked #call-more-act > .call-btn,
#call-overlay.docked #call-more-act > .lbl{display:none}
#call-overlay.docked #call-more-pop{
  display:flex;position:static;transform:none;flex-direction:row;gap:6px;
  padding:0;background:transparent;border:0;box-shadow:none
}
#call-overlay.docked #call-more-pop .call-act{width:auto;flex-direction:column}
#call-overlay.docked #call-more-pop .lbl{display:none}
.call-link-card{
  position:fixed;z-index:80;top:14px;right:14px;left:auto;bottom:auto;
  width:auto;max-width:calc(100vw - 28px);
  padding:7px 12px;border-radius:999px;color:#fff;
  background:rgba(16,24,34,.92);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 22px rgba(0,0,0,.28)
}
.call-link-card[hidden]{display:none !important}
.call-link-grid{display:flex;align-items:center;gap:14px;text-align:left}
.call-link-grid > div{display:flex;align-items:center;gap:5px}
.call-link-grid span{font-size:11px;letter-spacing:.02em;opacity:.72}
.call-link-grid b{font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}
.call-link-card .lk-up{color:#3ddc84;font-size:14px;font-weight:800;opacity:1}
.call-link-card .lk-down{color:#5eb6ff;font-size:14px;font-weight:800;opacity:1}
#call-overlay.docked .call-link-card{
  position:static;z-index:auto;top:auto;right:auto;left:auto;bottom:auto;
  margin:0;padding:0;max-width:none;
  background:transparent;border:0;box-shadow:none;color:var(--text)
}
.call-vol-rail{
  position:absolute;right:22px;top:50%;transform:translateY(-58%);z-index:7;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  width:54px;padding:14px 0 12px;border-radius:999px;color:#fff;
  background:rgba(12,18,28,.38);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 14px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.call-vol-rail b{
  font:650 11px/1 Manrope,system-ui,sans-serif;font-variant-numeric:tabular-nums;opacity:.92
}
.call-vol-slot{position:relative;width:28px;height:148px;cursor:pointer;touch-action:none}
.call-vol-slot::before{
  content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;transform:translateX(-50%);
  border-radius:999px;background:rgba(255,255,255,.2)
}
.call-vol-fill{
  position:absolute;left:50%;bottom:0;width:4px;height:var(--p,100%);transform:translateX(-50%);
  border-radius:999px;background:linear-gradient(180deg,#f4fbff,#5eb6ff);pointer-events:none
}
.call-vol-thumb{
  position:absolute;left:50%;bottom:var(--p,100%);width:18px;height:18px;margin:0 0 -9px -9px;
  border-radius:50%;background:#fff;pointer-events:none;
  box-shadow:0 2px 10px rgba(0,0,0,.4),0 0 0 6px rgba(143,208,255,.22)
}
.call-vol-rail svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.88}
.call-vol-rail.quiet .wave{display:none}
#call-overlay:not(.active) .call-vol-rail,
#call-overlay.docked .call-vol-rail,
#room-overlay.incoming .call-vol-rail,
#room-overlay.docked .call-vol-rail{display:none}
.call-mic-meter{
  position:absolute;left:22px;top:50%;transform:translateY(-58%);z-index:7;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  width:46px;padding:14px 0 12px;border-radius:999px;color:#fff;
  background:rgba(12,18,28,.38);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 14px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.call-mic-meter b{font:650 11px/1 Manrope,system-ui,sans-serif;opacity:.92}
.call-mic-scale{
  width:10px;height:148px;display:flex;flex-direction:column-reverse;gap:4px
}
.call-mic-scale i{
  flex:1;border-radius:999px;background:rgba(255,255,255,.16)
}
.call-mic-scale i.on{background:#7ddea0}
.call-mic-scale i.on:nth-child(n+6){background:#ffd56a}
.call-mic-scale i.on:nth-child(n+8){background:#ff7a7a}
.call-dock-mic{display:none}
#call-overlay.docked .call-dock-mic{display:flex;align-items:center;flex:0 0 auto}
#call-overlay.docked .call-dock-mic .call-mic-scale{
  width:72px;height:8px;flex-direction:row;gap:2px
}
#call-overlay.docked .call-dock-mic .call-mic-scale i{
  height:100%;min-height:0;
  background:color-mix(in srgb, var(--text) 28%, transparent)
}
#call-overlay.docked .call-dock-mic .call-mic-scale i.on{background:#3cba6e}
#call-overlay.docked .call-dock-mic .call-mic-scale i.on:nth-child(n+6){background:#e0a020}
#call-overlay.docked .call-dock-mic .call-mic-scale i.on:nth-child(n+8){background:#e5484d}
.call-q-card{
  position:fixed;z-index:80;width:min(240px,calc(100vw - 16px));
  padding:8px;border-radius:16px;color:#fff;
  background:rgba(16,24,34,.96);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 40px rgba(0,0,0,.42);display:flex;flex-direction:column;gap:4px
}
.call-q-card[hidden]{display:none !important}
.call-q-card button{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:0;border-radius:12px;padding:10px 12px;cursor:pointer;
  background:transparent;color:#fff;font:600 14px/1.2 Manrope,system-ui,sans-serif
}
.call-q-card button span{font-size:12px;font-weight:550;opacity:.68}
.call-q-card button.on{background:rgba(255,255,255,.14)}
#call-overlay.ui-gone:not(.docked) .call-info,
#call-overlay.ui-gone:not(.docked) .call-vol-rail,
#call-overlay.ui-gone:not(.docked) .call-sys-vol,
#call-overlay.ui-gone:not(.docked) .call-mic-meter,
#room-overlay.ui-gone:not(.docked) .room-title,
#room-overlay.ui-gone:not(.docked) .room-who,
#room-overlay.ui-gone:not(.docked) .call-vol-rail,
#room-overlay.ui-gone:not(.docked) .call-mic-meter{display:none !important}
#call-overlay:not(.active) .call-mic-meter,
#call-overlay.docked .call-mic-meter,
#room-overlay.incoming .call-mic-meter,
#room-overlay.docked .call-mic-meter{display:none}
@media(max-width:720px){
  #call-overlay:not(.docked) .call-actions > .call-act > .lbl{display:none}
}
