/* FP Digital Portal 10.7 — inline Discord-style stream cards */
.voice-participant-card-v104.sharing{
  min-height:250px!important;
}
.voice-participant-card-v104.sharing .voice-participant-visual-v104{
  min-height:145px!important;
  width:100%!important;
}
.voice-inline-stream-v107{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  aspect-ratio:16/9!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border))!important;
  border-radius:13px!important;
  background:#05070c!important;
  color:#fff!important;
  cursor:pointer!important;
  box-shadow:0 14px 35px rgba(0,0,0,.3)!important;
}
.voice-inline-stream-host-v107{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  background:radial-gradient(circle at 50% 50%,rgba(112,73,240,.16),transparent 62%),#05070c!important;
}
.voice-inline-stream-video-v107,
.voice-inline-stream-host-v107 video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#05070c!important;
}
.voice-inline-stream-loading-v107{
  color:rgba(255,255,255,.68)!important;
  font-size:.58rem!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
}
.voice-inline-stream-top-v107{
  position:absolute!important;
  top:8px!important;
  left:8px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px 7px!important;
  border-radius:999px!important;
  background:rgba(8,10,16,.75)!important;
  backdrop-filter:blur(12px)!important;
  pointer-events:none!important;
}
.voice-inline-stream-top-v107 b{
  padding:2px 5px!important;
  border-radius:5px!important;
  background:#ed4245!important;
  font-size:.48rem!important;
  letter-spacing:.06em!important;
}
.voice-inline-stream-top-v107 small{font-size:.5rem!important;color:#fff!important}
.voice-inline-stream-open-v107{
  position:absolute!important;
  inset:auto 8px 8px 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:9px!important;
  background:rgba(8,10,16,.78)!important;
  color:#fff!important;
  font-size:.55rem!important;
  font-weight:900!important;
  opacity:0!important;
  transform:translateY(5px)!important;
  transition:.16s ease!important;
  pointer-events:none!important;
}
.voice-inline-stream-v107:hover .voice-inline-stream-open-v107,
.voice-inline-stream-v107:focus-visible .voice-inline-stream-open-v107{
  opacity:1!important;
  transform:none!important;
}
.voice-inline-camera-v107{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  border:1px solid var(--border)!important;
  border-radius:13px!important;
  background:#070910!important;
}
.voice-inline-camera-v107 video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.voice-inline-camera-v107>span:last-child{
  position:absolute!important;
  left:8px!important;
  bottom:8px!important;
  z-index:2!important;
  padding:5px 7px!important;
  border-radius:7px!important;
  background:rgba(5,7,12,.72)!important;
  color:#fff!important;
  font-size:.5rem!important;
  font-weight:850!important;
}
.voice-participant-card-v104.sharing .voice-activity-bars-v104{
  bottom:-7px!important;
  z-index:4!important;
}
/* The expanded viewer remains an in-page panel. Fullscreen is opt-in only. */
.voice-stream-viewer-v103:not(:fullscreen):not(.minimized){
  position:absolute!important;
  inset:0!important;
  z-index:20!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:0!important;
  background:#03050a!important;
}
.voice-stream-viewer-v103:not(:fullscreen):not(.minimized) .voice-stream-video-host-v103 video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  .voice-participant-card-v104.sharing{min-height:220px!important}
  .voice-participant-card-v104.sharing .voice-participant-visual-v104{min-height:130px!important}
  .voice-inline-stream-open-v107{opacity:1!important;transform:none!important}
}

/* Participant controls and Discord-style inline streams */
.voice-participant-card-v104{
  position:relative!important;
  overflow:visible!important;
}
.voice-card-settings-button-v107{
  width:30px!important;
  height:24px!important;
  border:1px solid color-mix(in srgb,var(--border) 82%,transparent)!important;
  border-radius:8px!important;
  background:color-mix(in srgb,var(--panel) 82%,transparent)!important;
  color:var(--muted)!important;
  font-size:.66rem!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
}
.voice-card-settings-button-v107:hover,
.voice-card-settings-button-v107:focus-visible{
  color:var(--text)!important;
  border-color:color-mix(in srgb,var(--accent) 65%,var(--border))!important;
  background:color-mix(in srgb,var(--accent) 16%,var(--panel))!important;
}
.voice-participant-avatar-shell-v104.voice-participant-settings-target-v107,
.voice-inline-camera-v107{
  border:0!important;
  cursor:pointer!important;
}
.voice-avatar-settings-hint-v107{
  position:absolute!important;
  left:50%!important;
  bottom:12px!important;
  transform:translate(-50%,8px)!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:rgba(5,7,12,.82)!important;
  color:#fff!important;
  font-size:.52rem!important;
  font-weight:850!important;
  opacity:0!important;
  transition:.16s ease!important;
  pointer-events:none!important;
  white-space:nowrap!important;
}
.voice-participant-settings-target-v107:hover .voice-avatar-settings-hint-v107,
.voice-participant-settings-target-v107:focus-visible .voice-avatar-settings-hint-v107{
  opacity:1!important;
  transform:translate(-50%,0)!important;
}
.voice-participant-identity-button-v107{
  width:100%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  text-align:center!important;
  cursor:pointer!important;
}
.voice-participant-identity-button-v107:hover b{
  color:var(--accent)!important;
}
.voice-inline-stream-v107.paused .voice-inline-stream-host-v107{
  background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 17%,transparent),transparent 60%),#070910!important;
}
.voice-inline-stream-paused-v107{
  display:grid!important;
  place-items:center!important;
  min-height:100%!important;
  color:rgba(255,255,255,.72)!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.voice-participant-card-v104.stream-paused{
  opacity:.9!important;
}
.voice-participant-settings-panel-v107{
  position:fixed!important;
  z-index:100050!important;
  width:min(320px,calc(100vw - 24px))!important;
  padding:12px!important;
  border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border))!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--panel) 96%,#05060a)!important;
  color:var(--text)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.46)!important;
  backdrop-filter:blur(22px)!important;
}
.voice-participant-settings-panel-v107[hidden]{display:none!important}
.voice-participant-settings-panel-v107>header{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:10px!important;
  padding:2px 2px 12px!important;
  border-bottom:1px solid var(--border)!important;
}
.voice-settings-avatar-v107{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,var(--accent),var(--accent2))!important;
  color:#fff!important;
  font-weight:900!important;
}
.voice-settings-avatar-v107 img{width:100%!important;height:100%!important;object-fit:cover!important}
.voice-participant-settings-panel-v107>header div:nth-child(2){min-width:0!important}
.voice-participant-settings-panel-v107>header b,
.voice-participant-settings-panel-v107>header small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.voice-participant-settings-panel-v107>header small{margin-top:3px!important;color:var(--muted)!important;font-size:.65rem!important}
.voice-participant-settings-panel-v107>header button{
  width:30px!important;height:30px!important;border:1px solid var(--border)!important;border-radius:9px!important;background:var(--card)!important;color:var(--text)!important;cursor:pointer!important
}
.voice-participant-settings-panel-v107>section{
  display:grid!important;
  gap:10px!important;
  padding:12px 2px 2px!important;
}
.voice-participant-settings-panel-v107>section+section{border-top:1px solid var(--border)!important}
.voice-participant-settings-panel-v107 label{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:7px 10px!important;
  color:var(--muted)!important;
  font-size:.66rem!important;
  font-weight:800!important;
}
.voice-participant-settings-panel-v107 label input{
  grid-column:1/-1!important;
  width:100%!important;
  accent-color:var(--accent)!important;
}
.voice-participant-settings-panel-v107 output{color:var(--text)!important}
.voice-participant-settings-panel-v107 section>button,
.voice-participant-setting-actions-v107 button{
  min-height:34px!important;
  border:1px solid var(--border)!important;
  border-radius:10px!important;
  background:var(--card)!important;
  color:var(--text)!important;
  font-size:.65rem!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.voice-participant-settings-panel-v107 section>button:hover,
.voice-participant-setting-actions-v107 button:hover{
  border-color:color-mix(in srgb,var(--accent) 65%,var(--border))!important;
  background:color-mix(in srgb,var(--accent) 12%,var(--card))!important;
}
.voice-participant-setting-actions-v107{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.voice-participant-setting-actions-v107 button:last-child{grid-column:1/-1!important}
.voice-participant-setting-actions-v107 button:disabled{opacity:.45!important;cursor:not-allowed!important}

/* Expanded stream is an in-page focus view; Fullscreen remains a separate explicit action. */
.voice-stream-viewer-v103:not(:fullscreen):not(.minimized){
  z-index:32!important;
}
.voice-stream-viewer-v103:fullscreen{
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  border-radius:0!important;
}

@media(max-width:720px){
  .voice-participant-settings-panel-v107{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    top:auto!important;
    width:auto!important;
  }
}
