/* Broadcast OS SCMA module stylesheet: contribute. Module-specific rules belong here. Shared shell rules remain in modules/core/shell.css. */

/* v1.7.39 — Contributor camera join must be usable on every device size.
   Keep the Connect Camera Now action reachable inside safe-area, short-height,
   mobile, tablet, Chromebook, and embedded producer-modal layouts. */
.bos-connect-modal{
  align-items:flex-start !important;
  justify-content:center !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  padding:
    max(10px, env(safe-area-inset-top))
    max(10px, env(safe-area-inset-right))
    max(10px, env(safe-area-inset-bottom))
    max(10px, env(safe-area-inset-left)) !important;
}
.bos-connect-card{
  width:min(100%, 520px) !important;
  max-height:calc(100dvh - max(20px, env(safe-area-inset-top)) - max(20px, env(safe-area-inset-bottom))) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
  padding:clamp(14px, 3.4vw, 22px) !important;
  margin:auto 0;
}
.bos-connect-card h1{font-size:clamp(1.15rem, 5.8vw, 1.55rem) !important; line-height:1.05;}
.bos-connect-card .small{font-size:clamp(.78rem, 2.8vw, .92rem); line-height:1.35;}
.bos-connect-fields{gap:8px !important; margin:10px 0 !important;}
.bos-connect-fields .field{gap:4px;}
.bos-connect-card .actions{
  position:sticky;
  bottom:0;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-top:10px;
  padding-bottom:max(2px, env(safe-area-inset-bottom));
  background:linear-gradient(180deg, rgba(11,15,24,0), rgba(11,15,24,.96) 28%, rgba(11,15,24,.99));
}
#connectBtn{
  flex:1 1 220px;
  min-height:46px;
  white-space:normal;
}
#refreshDevices{flex:0 1 auto; min-height:42px;}
@media(max-height:680px){
  .bos-connect-card{max-width:620px !important;}
  .bos-connect-card .badge.live{display:none !important;}
  .bos-connect-card h1{margin:0 0 6px !important;}
  .bos-connect-fields{grid-template-columns:1fr 1fr !important;}
  .bos-connect-card .field input,
  .bos-connect-card .field select{min-height:36px; padding:7px 9px;}
}
@media(max-width:560px), (max-height:520px){
  .bos-connect-fields{grid-template-columns:1fr !important;}
  .bos-connect-card .actions{flex-direction:column-reverse;}
  #connectBtn,#refreshDevices{width:100%; flex-basis:auto;}
}

/* Contributor live-room reference panel. This stays inside the contributor
   module and only affects the contributor camera page. */
.bos-room-view{
  display:flex;
  flex-direction:column;
  resize:both;
  min-width:min(280px, calc(100vw - 20px));
  min-height:190px;
  max-width:calc(100vw - 20px);
  max-height:calc(100dvh - 82px);
}
.bos-room-view[hidden]{display:none !important;}
.bos-room-view-head{
  flex:0 0 auto;
  min-height:42px;
  height:auto !important;
}
.bos-room-view-title{display:grid; gap:1px; min-width:0;}
.bos-room-view-title strong{color:#fff; font-size:.9rem;}
.bos-room-view-tools{display:flex; align-items:center; gap:6px; flex:0 0 auto;}
.bos-room-view-tools .btn.small{padding:6px 9px; min-height:30px;}
.bos-room-frame-host{flex:1 1 auto; height:auto !important; min-height:0;}
#confRoomViewBtn{min-width:86px;}
@media(max-width:760px){
  .bos-conf-top{align-items:flex-start; gap:8px; padding:10px; flex-wrap:wrap;}
  .bos-conf-actions{width:100%; justify-content:flex-end;}
  .bos-room-view{
    left:8px !important;
    right:8px !important;
    bottom:8px !important;
    width:auto !important;
    height:min(48dvh, 390px) !important;
    max-height:calc(100dvh - 118px);
    resize:none;
  }
}


/* v1.7.50 — contributor zoom is a safe visual crop, not a transformed/replaced stream. */
.bos-confidence{overflow:hidden!important;}
.bos-conf-fg{transition:none!important;transform:none!important;}
