.OutgoingCallScreen_overlay__0nPau {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #0A0A0F;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 80px 24px 60px;
}

.OutgoingCallScreen_top__TRbTJ {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.OutgoingCallScreen_avatarWrap__kNtEN {
  position: relative;
  width: 110px;
  height: 110px;
}

.OutgoingCallScreen_pulse__Kh2or {
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.15);
  animation: OutgoingCallScreen_pulse__Kh2or 2s ease-out infinite;
}

.OutgoingCallScreen_pulse__Kh2or:nth-child(2) {
  inset: -32px;
  animation-delay: 0.5s;
}

@keyframes OutgoingCallScreen_pulse__Kh2or {
  0% { transform: scale(0.85); opacity: 0.6; }
  100% { transform: scale(1.15); opacity: 0; }
}

.OutgoingCallScreen_avatar__V8Dj2 {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, 0.2);
  position: relative;
  z-index: 1;
}

.OutgoingCallScreen_avatarPlaceholder__iJie2 {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: #1C1C2E;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  font-weight: 700;
  color: #9CA3AF;
  border: 3px solid rgba(255, 255, 255, 0.2);
  position: relative;
  z-index: 1;
}

.OutgoingCallScreen_name__mCWmn {
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  text-align: center;
}

.OutgoingCallScreen_label__e0mkN {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
}

.OutgoingCallScreen_avatarWrapBusy__iPOOc {
  animation: OutgoingCallScreen_shake__dk7Db 0.4s ease-in-out;
}

@keyframes OutgoingCallScreen_shake__dk7Db {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

.OutgoingCallScreen_avatarBusy__JpYDN {
  border-color: rgba(239, 68, 68, 0.5);
  filter: grayscale(0.6);
  opacity: 0.7;
}

.OutgoingCallScreen_busyBadge__0Qod8 {
  position: absolute;
  bottom: 2px;
  right: 2px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #EF4444;
  border: 3px solid #0A0A0F;
  display: flex;
  align-items: center;
  justify-content: center;
}

.OutgoingCallScreen_busyPill__ACgz_ {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #FCA5A5;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 999px;
  padding: 8px 16px;
}

.OutgoingCallScreen_busyDot__9cgn4 {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #EF4444;
  animation: OutgoingCallScreen_busyDotPulse__g_jzw 1s ease-in-out infinite;
}

@keyframes OutgoingCallScreen_busyDotPulse__g_jzw {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

.OutgoingCallScreen_hangupButton__WSL4Y {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: #EF4444;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.1s ease;
}

.OutgoingCallScreen_hangupButton__WSL4Y:active {
  transform: scale(0.92);
}

.IncomingCallScreen_overlay__p4Pnl {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #0A0A0F;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 80px 24px 60px;
}

.IncomingCallScreen_top__msJGr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.IncomingCallScreen_avatar__6ywu3 {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, 0.2);
}

.IncomingCallScreen_avatarPlaceholder__O2_0L {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: #1C1C2E;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  font-weight: 700;
  color: #9CA3AF;
  border: 3px solid rgba(255, 255, 255, 0.2);
}

.IncomingCallScreen_name__cmdeA {
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  text-align: center;
}

.IncomingCallScreen_label__v0_WT {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
}

.IncomingCallScreen_actions__xyGe0 {
  display: flex;
  gap: 48px;
  align-items: center;
}

.IncomingCallScreen_acceptButton__6WNtz,
.IncomingCallScreen_rejectButton__fMd8B {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.1s ease;
  flex-direction: column;
  gap: 6px;
}

.IncomingCallScreen_acceptButton__6WNtz:active,
.IncomingCallScreen_rejectButton__fMd8B:active {
  transform: scale(0.92);
}

.IncomingCallScreen_acceptButton__6WNtz {
  background: #22C55E;
}

.IncomingCallScreen_rejectButton__fMd8B {
  background: #EF4444;
}

.IncomingCallScreen_actionLabel__zBGhz {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
  margin-top: 8px;
}

.IncomingCallScreen_actionWrap__c94X4 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.IncomingCallScreen_acceptButtonDisabled__tYv__ {
  background: #2a2a3a;
  cursor: not-allowed;
  opacity: 0.5;
}

.IncomingCallScreen_acceptButtonDisabled__tYv__:active {
  transform: none;
}

.IncomingCallScreen_permissionHint__w2Z0L {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.45);
  text-align: center;
  padding: 0 32px;
  line-height: 1.5;
  margin-bottom: 40px;
}

.ActiveCallScreen_overlay__1UAp6 {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #0A0A0F;
  display: flex;
  flex-direction: column;
}

/* Video call layout */
.ActiveCallScreen_remoteVideoWrap__8_Ka9 {
  flex: 1;
  position: relative;
  background: #111118;
  overflow: hidden;
}

.ActiveCallScreen_remoteVideo__RdSnr {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ActiveCallScreen_noVideoCenter__wnwMr {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.ActiveCallScreen_avatar__ZFZyh {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, 0.2);
}

.ActiveCallScreen_avatarPlaceholder__U8_Fp {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: #1C1C2E;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  font-weight: 700;
  color: #9CA3AF;
  border: 3px solid rgba(255, 255, 255, 0.2);
}

.ActiveCallScreen_name__tPNFc {
  font-size: 22px;
  font-weight: 600;
  color: #ffffff;
}

.ActiveCallScreen_duration__9NELA {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.5);
  font-variant-numeric: tabular-nums;
}

/* Local video pip */
.ActiveCallScreen_localPip__KCrqJ {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 90px;
  height: 130px;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.2);
  background: #111;
  z-index: 2;
}

/* Controls bar */
.ActiveCallScreen_controls__aMF78 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  padding: 24px 24px 48px;
  background: rgba(0, 0, 0, 0.6);
}

.ActiveCallScreen_controlBtn___DkdI {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s ease, transform 0.1s ease;
}

.ActiveCallScreen_controlBtn___DkdI:active {
  transform: scale(0.9);
}

.ActiveCallScreen_controlBtn___DkdI.ActiveCallScreen_off__qFgo2 {
  background: rgba(255, 255, 255, 0.25);
}

.ActiveCallScreen_hangupBtn__SQuYi {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: #EF4444;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.1s ease;
}

.ActiveCallScreen_hangupBtn__SQuYi:active {
  transform: scale(0.92);
}

.ActiveCallScreen_durationOverlay__46iQI {
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

/* ── Balance widget ─────────────────────────────────────────────── */

/* Audio layout — sits between content and controls */
.ActiveCallScreen_balanceWidget__wxVnn {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 10px 20px 10px 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 100px;
  margin: 0 auto 20px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Coin icon container — subtle amber circle behind it */
.ActiveCallScreen_balanceIconWrap__AWVd8 {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(251, 176, 59, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Vertical text stack */
.ActiveCallScreen_balanceTextStack__q4qNh {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

/* Video layout — top-left corner, same pill style as audio but scaled down */
.ActiveCallScreen_balanceWidgetVideo___qYJ1 {
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 7px;
  padding: 7px 14px 7px 9px;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 100px;
  z-index: 3;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Smaller icon wrap + icon for video variant */
.ActiveCallScreen_balanceWidgetVideo___qYJ1 .ActiveCallScreen_balanceIconWrap__AWVd8 {
  width: 34px;
  height: 34px;
}

.ActiveCallScreen_balanceWidgetVideo___qYJ1 .ActiveCallScreen_balanceLabel__JIq44 {
  font-size: 9px;
}

.ActiveCallScreen_balanceWidgetVideo___qYJ1 .ActiveCallScreen_balanceAmount__cygDW {
  font-size: 13px;
  line-height: 20px;
}

.ActiveCallScreen_balanceIconWrapSmall__DDGJO {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(251, 176, 59, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Amber glow flash on deduction */
.ActiveCallScreen_balanceWidget__wxVnn.ActiveCallScreen_deducted__kg0dZ,
.ActiveCallScreen_balanceWidgetVideo___qYJ1.ActiveCallScreen_deducted__kg0dZ {
  border-color: rgba(251, 176, 59, 0.7);
  box-shadow: 0 0 16px rgba(251, 176, 59, 0.3);
  animation: ActiveCallScreen_glowFade__Fy7oV 0.9s ease forwards;
}

@keyframes ActiveCallScreen_glowFade__Fy7oV {
  0%   { border-color: rgba(251, 176, 59, 0.7); box-shadow: 0 0 16px rgba(251, 176, 59, 0.3); }
  100% { border-color: rgba(255, 255, 255, 0.1); box-shadow: none; }
}

.ActiveCallScreen_balanceLabel__JIq44 {
  font-size: 10px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.ActiveCallScreen_balanceRow___MNiq {
  display: flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

/* Coin icon — pops on deduction */
.ActiveCallScreen_coinIcon__F6GOl {
  flex-shrink: 0;
}

.ActiveCallScreen_coinIcon__F6GOl.ActiveCallScreen_pop__UBiAp {
  animation: ActiveCallScreen_coinPop__VPoCr 0.35s cubic-bezier(0.34, 1.6, 0.64, 1) forwards;
}

@keyframes ActiveCallScreen_coinPop__VPoCr {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.5); }
  100% { transform: scale(1); }
}

/* Number slot — clips outgoing/incoming numbers */
.ActiveCallScreen_balanceSlot__fq9Eo {
  position: relative;
  overflow: hidden;
  height: 20px; /* matches balanceAmount line-height exactly */
}

.ActiveCallScreen_balanceAmount__cygDW {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  font-variant-numeric: tabular-nums;
  line-height: 20px;
}

.ActiveCallScreen_balanceAmountSmall__2fT9W {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  font-variant-numeric: tabular-nums;
  line-height: 20px;
}

/* Old number exits upward */
.ActiveCallScreen_balanceAmount__cygDW.ActiveCallScreen_exitUp__KtBjd,
.ActiveCallScreen_balanceAmountSmall__2fT9W.ActiveCallScreen_exitUp__KtBjd {
  animation: ActiveCallScreen_exitUp__KtBjd 0.28s ease forwards;
}

/* New number enters from below */
.ActiveCallScreen_balanceAmount__cygDW.ActiveCallScreen_enterUp__oWl2G,
.ActiveCallScreen_balanceAmountSmall__2fT9W.ActiveCallScreen_enterUp__oWl2G {
  animation: ActiveCallScreen_enterUp__oWl2G 0.28s ease forwards;
}

@keyframes ActiveCallScreen_exitUp__KtBjd {
  from { transform: translateY(0);     opacity: 1; }
  to   { transform: translateY(-100%); opacity: 0; }
}

@keyframes ActiveCallScreen_enterUp__oWl2G {
  from { transform: translateY(100%); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

