/* NEVIRO 1.0.46.0 · CALL EXPERIENCE PHASE 2 */
.nwcx-overlay{
  position:fixed;inset:0;z-index:12100;
  display:grid;place-items:center;
  padding:22px;
  background:
    radial-gradient(circle at 50% 32%,rgba(116,86,236,.22),transparent 32%),
    rgba(4,8,22,.78);
  backdrop-filter:blur(18px) saturate(1.08);
  opacity:0;pointer-events:none;
  transition:opacity .18s ease;
}
.nwcx-overlay.is-open{opacity:1;pointer-events:auto}
.nwcx-sheet{
  width:min(430px,calc(100vw - 28px));
  border:1px solid rgba(154,137,255,.28);
  border-radius:28px;
  padding:26px 24px 22px;
  background:linear-gradient(160deg,rgba(15,22,47,.985),rgba(7,12,29,.99));
  box-shadow:0 38px 120px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.05);
  color:#eef3ff;
  text-align:center;
  transform:translateY(14px) scale(.975);
  transition:transform .2s ease;
}
.nwcx-overlay.is-open .nwcx-sheet{transform:translateY(0) scale(1)}
.nwcx-pulse{
  position:relative;
  width:100px;height:100px;margin:0 auto 18px;
  display:grid;place-items:center;
}
.nwcx-pulse::before,.nwcx-pulse::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:1px solid rgba(143,115,255,.38);
  animation:nwcxPulse 1.7s ease-out infinite;
}
.nwcx-pulse::after{animation-delay:.55s}
@keyframes nwcxPulse{
  0%{transform:scale(.76);opacity:.7}
  75%,100%{transform:scale(1.38);opacity:0}
}
.nwcx-avatar{
  position:relative;z-index:2;
  width:78px;height:78px;border-radius:26px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#7757ef,#e766b5);
  box-shadow:0 16px 48px rgba(95,68,219,.38),inset 0 0 0 1px rgba(255,255,255,.18);
  color:#fff;font:900 32px/1 Inter,system-ui;
}
.nwcx-eyebrow{color:#8794bd;font:900 9px/1 Inter,system-ui;letter-spacing:.14em}
.nwcx-name{margin-top:9px;font:900 25px/1.15 Inter,system-ui;letter-spacing:-.02em}
.nwcx-type{margin-top:7px;color:#aab5d5;font:800 11px/1.4 Inter,system-ui}
.nwcx-chips{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:16px 0 21px}
.nwcx-chip{padding:7px 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035);color:#aab7d8;font:850 8px/1 Inter,system-ui}
.nwcx-chip.is-good{color:#83e9bc;border-color:rgba(105,226,175,.24);background:rgba(65,190,138,.08)}
.nwcx-chip.is-warn{color:#ffd27e;border-color:rgba(255,205,109,.20);background:rgba(213,157,51,.07)}
.nwcx-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nwcx-actions button{
  min-height:54px;border-radius:17px;border:1px solid rgba(255,255,255,.08);
  color:#fff;font:900 12px/1 Inter,system-ui;cursor:pointer;
}
.nwcx-actions .reject{background:linear-gradient(135deg,#7d273a,#b63f57)}
.nwcx-actions .accept{background:linear-gradient(135deg,#2bb381,#438de5)}
.nwcx-actions .cancel{grid-column:1/-1;background:#151d3a;color:#c5cee8}
.nwcx-note{margin-top:14px;color:#66749c;font:750 8px/1.4 Inter,system-ui}
.nwcx-overlay[data-kind="VIDEO"] .nwcx-avatar{background:linear-gradient(135deg,#ce579f,#7255ed)}
.nwcx-overlay[data-direction="OUT"] .nwcx-pulse::before,
.nwcx-overlay[data-direction="OUT"] .nwcx-pulse::after{border-color:rgba(88,177,255,.34)}

/* Compact tools injected into the existing call card. */
.nwcx-card-tools{display:flex;align-items:center;gap:5px;margin-left:auto}
.nwcx-card-tools button{
  width:29px;height:29px;padding:0;border:1px solid rgba(255,255,255,.09);
  border-radius:9px;background:#131b36;color:#abb8dc;
  font:900 13px/1 Inter,system-ui;cursor:pointer;
}
.nwcx-card-tools button:hover{color:#fff;border-color:rgba(149,126,255,.46)}
.nwv-call-timer{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:54px;height:24px;padding:0 8px;margin-left:4px;
  border-radius:999px;background:rgba(82,224,166,.09);
  border:1px solid rgba(82,224,166,.18);
  color:#80e7bc;font:900 9px/1 Consolas,monospace;
}

/* Minimized call card. */
.nwv-card.is-minimized{
  top:auto!important;right:18px!important;bottom:18px!important;
  width:min(300px,calc(100vw - 24px))!important;
  border-radius:15px!important;
}
.nwv-card.is-minimized .nwv-head{border-bottom:0!important;padding:10px 11px!important}
.nwv-card.is-minimized .nwv-icon{width:35px;height:35px;border-radius:11px;font-size:16px}
.nwv-card.is-minimized .nwv-copy small,
.nwv-card.is-minimized .nwv-meter,
.nwv-card.is-minimized .nwv-video-stage,
.nwv-card.is-minimized .nwv-info,
.nwv-card.is-minimized .nwv-diag,
.nwv-card.is-minimized .nwv-error,
.nwv-card.is-minimized .nwv-actions,
.nwv-card.is-minimized .nwv-security{display:none!important}

/* Theater mode for active video. */
.nwv-card.is-theater{
  inset:16px!important;
  width:auto!important;
  max-width:none!important;
  height:calc(100vh - 32px)!important;
  border-radius:22px!important;
  display:flex!important;
  flex-direction:column;
}
.nwv-card.is-theater .nwv-video-stage{
  flex:1;min-height:0;
  aspect-ratio:auto!important;
  margin:0 16px 12px!important;
}
.nwv-card.is-theater .nwv-video-stage [data-video-remote]{
  width:100%;height:100%;object-fit:contain;background:#030611;
}
.nwv-card.is-theater .nwv-video-stage [data-video-local]{
  width:min(220px,26vw);right:16px;bottom:16px;
}
.nwv-card.is-theater .nwv-diag,
.nwv-card.is-theater .nwv-security{display:none}
.nwv-card.is-theater .nwv-info{padding-bottom:8px}
.nwv-card.is-theater .nwv-actions{padding-bottom:14px}

/* While fullscreen incoming UI is open, keep legacy call card out of the way. */
body.nwcx-ringing .nwv-card[data-state="INCOMING"],
body.nwcx-ringing .nwv-card[data-state="CALLING"]{
  opacity:0!important;pointer-events:none!important;
}

@media(max-width:760px){
  .nwcx-overlay{padding:12px;align-items:end}
  .nwcx-sheet{
    width:100%;border-radius:26px 26px 18px 18px;
    padding:25px 18px calc(20px + env(safe-area-inset-bottom));
  }
  .nwcx-avatar{width:72px;height:72px;border-radius:24px;font-size:28px}
  .nwcx-pulse{width:92px;height:92px}
  .nwcx-name{font-size:23px}
  .nwcx-actions button{min-height:58px}
  .nwv-card.is-theater{
    inset:8px!important;
    height:calc(100vh - 16px)!important;
    border-radius:16px!important;
  }
  .nwv-card.is-theater .nwv-video-stage{
    margin:0 8px 8px!important;
  }
  .nwv-card.is-theater .nwv-video-stage [data-video-local]{
    width:34vw;right:10px;bottom:10px;
  }
  .nwv-card.is-minimized{
    left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;
  }
}
