.family-participation-register{margin:0 0 16px}.participation-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.participation-choice{display:flex;grid-template-columns:none;gap:10px;align-items:flex-start;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.03);cursor:pointer}.participation-choice.active{border-color:rgba(255,122,24,.7);background:rgba(255,122,24,.10)}.participation-choice input{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0}.participation-choice span{display:grid;gap:4px}.participation-choice b{font-size:.9rem}.participation-choice small{font-size:.74rem}.participation-hidden{display:none!important}.family-participation-card{margin:0 0 16px;padding:14px;border:1px solid rgba(255,122,24,.28);border-radius:16px;background:rgba(255,122,24,.06)}.participation-card-copy h4{margin:0 0 5px;font-size:1.08rem}.participation-card-copy p:last-child{margin:0 0 12px;color:#c9bdd0;font-size:.8rem}.participation-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.fantasies-only-notice{display:grid;gap:8px;margin-top:12px;padding:12px;border-radius:13px;background:rgba(142,92,255,.11);border:1px solid rgba(142,92,255,.24)}.fantasies-only-notice span{font-size:.78rem;color:#ddd1e3;line-height:1.4}.participation-house-disabled{display:none!important}@media(max-width:520px){.participation-choice-grid,.participation-options{grid-template-columns:1fr}.family-participation-card{padding:13px}.family-participation-card>.btn{width:100%}}
.family-participation-status{display:inline-flex;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:rgba(142,92,255,.16);color:#eadfff;font-size:.68rem;font-weight:850}

/* V191 — organização da tela Família em abas */
.family-section-card{overflow:hidden}
.family-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  margin:14px 0 16px;
}
.family-tabs button{
  min-width:0;
  padding:9px 8px;
  font-size:.76rem;
  white-space:nowrap;
}
.family-tab-pane{display:none}
.family-tab-pane.active{display:block}
.family-config-block{
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.07);
}
.family-config-block:first-child{border-top:0;padding-top:0}
#familyParticipationHost .family-participation-card{margin-top:0}
.family-candy-picker{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
.family-candy-picker button{
  min-width:0!important;
  min-height:42px!important;
  padding:7px 6px!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.12!important;
}
.family-position-actions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
.family-photo-label{margin-top:0}
.family-save-btn{margin-top:14px!important}
#family-qr.active{display:block}
#family-qr .qr-card{margin-top:0}
@media(max-width:700px){
  .family-tabs{gap:4px}
  .family-tabs button{
    padding:8px 4px;
    font-size:.68rem;
  }
  .family-candy-picker{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:390px){
  .family-tabs button{font-size:.63rem;padding-left:2px;padding-right:2px}
  .family-candy-picker button{font-size:.68rem!important}
}

/* V192 — controles da casa nunca somem silenciosamente */
#family-config.active #houseParticipationFields{
  display:block!important;
}
#houseParticipationFields.participation-house-inactive{
  display:block!important;
  opacity:.62;
}
#houseParticipationFields.participation-house-inactive::before{
  content:"Configurações da casa preservadas — reative a participação da casa para editar.";
  display:block;
  margin:0 0 10px;
  padding:8px 10px;
  border:1px solid rgba(142,92,255,.26);
  border-radius:10px;
  background:rgba(142,92,255,.09);
  color:#e2d8ea;
  font-size:.72rem;
  line-height:1.35;
  font-weight:750;
}
#houseControlsUnavailableNotice{
  margin:0 0 12px;
}

/* V194 — participação no Cadastro; guloseimas no topo de Configurações */
.family-cadastro-participation .family-participation-card{
  margin:0 0 14px;
}
.family-config-first{
  padding-top:0!important;
  border-top:0!important;
}
#houseParticipationFields.participation-house-inactive::before{
  display:none!important;
  content:none!important;
}
#houseControlsUnavailableNotice{
  margin:10px 0 2px!important;
}

/* V199 — abas Família proporcionais e sem overflow */
.family-tabs button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:0!important;
  overflow:hidden!important;
  text-align:center!important;
}
.family-tab-icon{
  flex:0 0 auto;
  line-height:1;
}
.family-tab-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:700px){
  .family-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px;
  }
  .family-tabs button{
    flex-direction:column!important;
    gap:2px!important;
    min-height:50px!important;
    padding:6px 3px!important;
    line-height:1.05!important;
  }
  .family-tab-icon{
    font-size:.78rem;
  }
  .family-tab-label{
    width:100%;
    font-size:.61rem;
    font-weight:850;
    letter-spacing:-.015em;
  }
}
@media(max-width:390px){
  .family-tabs{
    gap:3px;
  }
  .family-tabs button{
    min-height:48px!important;
    padding:5px 2px!important;
  }
  .family-tab-icon{font-size:.74rem}
  .family-tab-label{font-size:.57rem}
}


/* V223 — Somente Fantasias: ocultar abas exclusivas da casa */
html.family-fantasies-only #screen-house .family-tabs,
#screen-house .family-tabs.family-tabs-fantasies-only{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#screen-house .family-tab-pane.participation-house-tab-hidden{
  display:none!important;
}


/* V225 — hidden precisa vencer o display:flex das abas */
#screen-house .family-tabs button.hidden{
  display:none!important;
}
html.family-fantasies-only #screen-house .family-tabs,
#screen-house .family-tabs.family-tabs-fantasies-only{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* V240 — posicionamento obrigatório antes da liberação do QR */
.family-qr-position-required{border-color:rgba(255,177,73,.35)!important;background:rgba(255,143,31,.08)!important}
.house-position-reminder-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.house-position-reminder-card{max-width:460px!important;text-align:center;gap:16px!important;border:1px solid rgba(255,156,56,.26)!important;background:linear-gradient(180deg,rgba(23,13,10,.98),rgba(8,14,24,.99))!important}
.house-position-reminder-icon{width:74px;height:74px;margin:0 auto;display:grid;place-items:center;border-radius:50%;font-size:2.35rem;background:radial-gradient(circle,rgba(255,151,49,.24),rgba(255,112,22,.06));border:1px solid rgba(255,161,67,.28);box-shadow:0 0 28px rgba(255,116,24,.14)}
.house-position-reminder-copy{display:grid;gap:8px}.house-position-reminder-copy h3{margin:0;font-size:1.2rem}.house-position-reminder-copy p{margin:0;color:#c8d2dc;line-height:1.45;font-size:.82rem}
.house-position-reminder-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.position-reminder-focus{animation:vaPositionReminderFocus .9s ease-in-out 2}
@keyframes vaPositionReminderFocus{0%,100%{box-shadow:0 0 0 rgba(255,145,40,0)}50%{box-shadow:0 0 0 4px rgba(255,145,40,.22),0 0 28px rgba(255,116,24,.18)}}
@media(max-width:520px){.house-position-reminder-actions{grid-template-columns:1fr}.house-position-reminder-card{width:min(92vw,460px)}}


/* v246r3 — quatro abas de Família sem compactação.
   Desktop: 4 colunas. Celular: 2 x 2 com rótulos completos. */
#screen-house .family-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#screen-house .family-tab-label{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  line-height:1.15!important;
}
@media(max-width:700px){
  #screen-house .family-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  #screen-house .family-tabs button{
    min-height:48px!important;
    padding:7px 6px!important;
    flex-direction:row!important;
    gap:6px!important;
  }
  #screen-house .family-tab-icon{font-size:.9rem!important}
  #screen-house .family-tab-label{
    width:auto!important;
    font-size:.74rem!important;
    letter-spacing:0!important;
  }
}
@media(max-width:390px){
  #screen-house .family-tabs button{
    min-height:46px!important;
    padding:6px 5px!important;
  }
  #screen-house .family-tab-label{font-size:.70rem!important}
}
html.family-fantasies-only #screen-house .family-tabs,
#screen-house .family-tabs.family-tabs-fantasies-only{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* v246r8 — padronização dos menus de cadastro / Família.
   A grade define a largura; todos os botões têm área clicável igual.
   Os rótulos nunca encolhem até ficarem ilegíveis ou cortar palavras. */
#screen-house .family-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  padding:6px!important;
  align-items:stretch;
}
#screen-house .family-tabs button{
  box-sizing:border-box;
  width:100%;
  height:52px;
  min-height:52px!important;
  padding:7px 9px!important;
  flex-direction:row!important;
  gap:6px!important;
  font-size:.81rem!important;
  line-height:1.16!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#screen-house .family-tab-label{
  width:auto!important;
  max-width:100%;
  font-size:inherit!important;
  letter-spacing:0!important;
  line-height:1.16!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:break-word;
}
#screen-house .family-tab-icon{
  flex:0 0 auto;
  font-size:.94rem!important;
}
#screen-house .family-tabs button:not(.active){
  background:rgba(255,255,255,.045)!important;
  color:#dce4ed!important;
}
#screen-house .family-tabs button:focus-visible{
  outline:2px solid #ffad3e;
  outline-offset:2px;
}
@media(max-width:700px){
  #screen-house .family-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #screen-house .family-tabs button{
    height:52px;
    min-height:52px!important;
    font-size:.82rem!important;
    padding:7px 5px!important;
  }
}
@media(max-width:390px){
  #screen-house .family-tabs{gap:4px!important;padding:4px!important}
  #screen-house .family-tabs button{
    height:52px;
    min-height:52px!important;
    font-size:.76rem!important;
    padding:6px 4px!important;
    gap:4px!important;
  }
  #screen-house .family-tab-icon{font-size:.86rem!important}
}
/* São somente duas abas quando a casa não participa. */
html.family-fantasies-only #screen-house .family-tabs,
#screen-house .family-tabs.family-tabs-fantasies-only{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
/* O convidado possui só Cadastro, que ocupa a largura toda. */
html.guest-account #screen-house .family-tabs{
  grid-template-columns:minmax(0,1fr)!important;
}
/* Preserve ocultação de abas ausentes independentemente do display:flex legado. */
#screen-house .family-tabs button.hidden{
  display:none!important;
}
/* As opções de participação também mantêm duas áreas de seleção uniformes. */
.participation-choice-grid{
  align-items:stretch;
  grid-auto-rows:minmax(0,1fr);
}
.participation-choice{
  box-sizing:border-box;
  width:100%;
  height:100%;
  min-width:0;
}
.participation-options{
  align-items:stretch;
}
.participation-options button{
  box-sizing:border-box;
  width:100%;
  min-height:54px;
  height:100%;
  line-height:1.2;
  white-space:normal;
}
