/* V38 — organização da aba Ranking em Diversão.
   Escopo restrito à aba Ranking; não altera cabeçalho, mapa ou navegação principal. */

.ranking-section-card{
  margin-top:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  padding:14px;
  background:rgba(255,255,255,.025);
}

#fun-ranking .ranking-section-card:first-child{margin-top:0}

.participant-list-legend{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 12px;
  font-size:.72rem;
  color:var(--muted);
}
.participant-list-legend span{
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(255,255,255,.025);
}

.participant-house-directory{
  display:grid;
  gap:14px;
}
.participant-street-group{
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  overflow:hidden;
  background:rgba(8,6,13,.24);
}
.participant-street-group h4{
  margin:0;
  padding:10px 12px;
  font-size:.93rem;
  background:rgba(142,92,255,.1);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.participant-street-table{
  display:grid;
}
.participant-house-row{
  display:grid;
  grid-template-columns:60px minmax(120px,1fr) minmax(112px,auto) minmax(96px,auto);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.participant-house-row:last-child{border-bottom:0}
.participant-number{
  font-size:.95rem;
  color:#fff;
}
.participant-name{
  min-width:0;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
}
.participant-candy,
.participant-visit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:850;
  white-space:nowrap;
}
.participant-candy.available{background:rgba(88,214,141,.13);color:#b9f7cf}
.participant-candy.low{background:rgba(255,209,102,.13);color:#ffe8a3}
.participant-candy.soldout{background:rgba(255,95,109,.13);color:#ffd1d6}
.participant-candy.paused{background:rgba(255,255,255,.07);color:#d4c8d8}
.participant-visit.visited{background:rgba(88,214,141,.12);color:#b9f7cf}
.participant-visit.unvisited{background:rgba(255,255,255,.06);color:#cbbfd0}
.participant-visit.own{background:rgba(142,92,255,.14);color:#e1d6ff}

@media(max-width:700px){
  .fun-tabs button{padding-left:6px;padding-right:6px}
  .participant-house-row{
    grid-template-columns:48px minmax(0,1fr);
    gap:6px 10px;
    padding:10px;
  }
  .participant-number{grid-column:1;grid-row:1 / span 2;align-self:center}
  .participant-name{grid-column:2;grid-row:1;font-size:.86rem}
  .participant-candy,
  .participant-visit{
    font-size:.66rem;
    padding:4px 7px;
  }
  .participant-candy{grid-column:2;grid-row:2;justify-self:start}
  .participant-visit{grid-column:2;grid-row:3;justify-self:start}
  .participant-street-group h4{font-size:.88rem}
  .ranking-section-card{padding:11px}
  #fun-ranking .compact-head{align-items:flex-start}
  #fun-ranking .token-reward{max-width:120px;white-space:normal;text-align:center}
}


/* V39 — rankings Melhor Casa e Melhor Fantasia */
.score-leaderboard .qr-rank{
  grid-template-columns:36px minmax(0,1fr) auto;
}
.score-token{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  min-width:54px;
}
.score-token img{
  width:22px;
  height:22px;
  object-fit:contain;
}
.score-leaderboard .qr-rank small{
  display:inline-block;
  margin-top:2px;
  line-height:1.25;
}
@media(max-width:700px){
  .score-token img{width:20px;height:20px}
  .score-leaderboard .qr-rank{grid-template-columns:32px minmax(0,1fr) auto}
}


/* V40 — detalhe clicável do ranking */
.ranking-open{
  width:100%;
  border:1px solid transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.ranking-open:hover,
.ranking-open:focus-visible{
  border-color:rgba(255,122,24,.48);
  background:rgba(255,122,24,.08);
  outline:none;
}
.ranking-detail-dialog{width:min(720px,calc(100% - 18px))}
.ranking-detail-card{display:grid;gap:12px}
.ranking-detail-visual{
  height:min(52dvh,390px);
  min-height:240px;
  border-radius:16px;
  overflow:hidden;
  background:#0b0710;
  border:1px solid var(--line);
}
.ranking-detail-visual .vote-photo-gallery,
.ranking-detail-visual .vote-photo-fallback{height:100%}
.ranking-detail-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.ranking-detail-info>div{
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}
.ranking-detail-info span{
  display:block;
  color:var(--muted);
  font-size:.64rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.ranking-detail-info b{font-size:.8rem;line-height:1.35}
.ranking-detail-score{display:flex;align-items:center;gap:5px}
.ranking-detail-score img{width:24px;height:24px;object-fit:contain}
@media(max-width:620px){
  .ranking-detail-visual{height:44dvh;min-height:220px}
  .ranking-detail-info{grid-template-columns:1fr}
}

/* V182 — quatro abas de Diversão, compactas e sem sobreposição */
.fun-tabs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:4px;
}
.fun-tabs button{
  min-width:0;
  max-width:100%;
  padding:7px 5px;
  font-size:.72rem;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#fun-houses .ranking-section-card:first-child{margin-top:0}
@media(max-width:700px){
  .fun-tabs{gap:3px}
  .fun-tabs button{
    padding:7px 2px;
    font-size:.62rem;
    line-height:1;
    letter-spacing:-.015em;
  }
}
@media(max-width:380px){
  .fun-tabs button{
    font-size:.58rem;
    padding-left:1px;
    padding-right:1px;
  }
}

/* V187 — título dinâmico da seção Diversão */
.fun-section-title{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px;
  margin:2px 0 0;
  font-size:1.16rem;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.02em;
}
.fun-section-title>span:first-child{color:var(--text)}
.fun-section-title-separator{color:var(--muted);font-weight:700}
.fun-section-title strong{
  color:#ff9b1a;
  font-weight:950;
}
@media(max-width:700px){
  .fun-section-title{font-size:1.05rem;gap:4px}
}

/* V189 — cabeçalho compacto e estável da Diversão */
.fun-section-head{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.4fr);
  align-items:start;
  gap:12px;
}
.fun-section-brand{
  margin:3px 0 0;
  align-self:start;
}
.fun-section-heading{
  min-width:0;
  display:grid;
  justify-items:end;
  gap:5px;
}
.fun-section-title{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:4px;
  width:100%;
  margin:0;
  font-size:.98rem;
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.025em;
  white-space:nowrap;
}
.fun-section-title>span:first-child{color:var(--text)}
.fun-section-title-separator{color:var(--muted);font-weight:700}
.fun-section-title strong{
  min-width:0;
  color:#ff9b1a;
  font-weight:950;
}
.fun-section-status{
  justify-self:end;
  max-width:100%;
  margin:0;
  font-size:.61rem;
  line-height:1;
  white-space:nowrap;
}
@media(max-width:700px){
  .fun-section-head{
    grid-template-columns:minmax(0,.82fr) minmax(0,1.45fr);
    gap:8px;
  }
  .fun-section-brand{
    font-size:.58rem;
    line-height:1.15;
  }
  .fun-section-title{
    font-size:.82rem;
    gap:3px;
  }
  .fun-section-status{
    font-size:.55rem;
    padding:5px 7px;
  }
}
@media(max-width:380px){
  .fun-section-head{
    grid-template-columns:minmax(0,.78fr) minmax(0,1.52fr);
    gap:6px;
  }
  .fun-section-title{font-size:.76rem}
  .fun-section-brand{font-size:.54rem}
  .fun-section-status{font-size:.51rem;padding:4px 6px}
}

/* V190 — painel de participação/completude das famílias */
.participant-family-row{
  grid-template-columns:minmax(220px,1.15fr) minmax(210px,.9fr) minmax(260px,1.2fr);
  align-items:start;
}
.participant-family-row.has-pending{
  background:linear-gradient(90deg,rgba(255,159,28,.045),transparent 58%);
}
.participant-address-block{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.participant-family-copy{
  min-width:0;
  display:grid;
  gap:6px;
}
.participant-mode,
.participant-fantasy-count,
.participant-pending,
.participant-complete{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:850;
  line-height:1.15;
}
.participant-mode.decorated{
  background:rgba(142,92,255,.14);
  color:#e1d6ff;
}
.participant-mode.fantasies_only{
  background:rgba(65,170,255,.12);
  color:#c9e8ff;
}
.participant-status-block{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:flex-start;
}
.participant-fantasy-count{
  background:rgba(255,255,255,.055);
  color:#d8cfdc;
}
.participant-completeness{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}
.participant-pending{
  border:1px solid rgba(255,187,92,.22);
  background:rgba(255,159,28,.1);
  color:#ffd9a3;
}
.participant-pending.map{
  border-color:rgba(255,125,85,.3);
  background:rgba(255,95,65,.12);
  color:#ffd0c2;
}
.participant-pending.photo{
  background:rgba(255,209,102,.1);
  color:#ffe8a3;
}
.participant-pending.fantasy{
  background:rgba(116,176,255,.11);
  color:#cce4ff;
}
.participant-complete{
  background:rgba(88,214,141,.12);
  color:#b9f7cf;
}
@media(max-width:820px){
  .participant-family-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .participant-address-block{
    grid-template-columns:46px minmax(0,1fr);
  }
  .participant-status-block,
  .participant-completeness{
    padding-left:54px;
    justify-content:flex-start;
  }
}
@media(max-width:520px){
  .participant-family-row{padding:10px}
  .participant-status-block,
  .participant-completeness{padding-left:0}
  .participant-mode,
  .participant-fantasy-count,
  .participant-pending,
  .participant-complete,
  .participant-candy,
  .participant-visit{
    white-space:normal;
    font-size:.64rem;
    line-height:1.2;
  }
}

/* V191 — lista de participantes em tabela legível */
.participant-table-group{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(10,7,15,.34);
}
.participant-street-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  background:rgba(255,255,255,.045);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.participant-street-heading h4{
  margin:0;
  font-size:.82rem;
  color:#fff;
}
.participant-street-heading span{
  font-size:.64rem;
  color:var(--muted);
  font-weight:800;
}
.participant-table-head,
.participant-table-row{
  display:grid;
  grid-template-columns:56px minmax(150px,1.15fr) minmax(170px,1.2fr) minmax(145px,.9fr) minmax(210px,1.35fr);
  gap:10px;
  align-items:center;
}
.participant-table-head{
  padding:7px 10px;
  background:rgba(255,255,255,.025);
  color:#978b9f;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:.58rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.participant-table-row{
  padding:9px 10px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.065);
  border-radius:0;
  background:transparent;
}
.participant-table-row:last-child{border-bottom:0}
.participant-table-row:hover{background:rgba(255,255,255,.025)}
.participant-table-row.has-pending{
  background:rgba(255,166,56,.035);
}
.participant-table-row.has-house-pending{
  position:relative;
  background:linear-gradient(90deg,rgba(255,105,62,.13),rgba(255,157,49,.035) 58%,transparent);
  box-shadow:inset 3px 0 0 #ff7b43;
}
.participant-table-row.has-house-pending:hover{
  background:linear-gradient(90deg,rgba(255,105,62,.17),rgba(255,157,49,.055) 58%,rgba(255,255,255,.015));
}
.participant-cell{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
}
.participant-cell-family,
.participant-cell-mode,
.participant-cell-status,
.participant-cell-pending{
  align-content:center;
}
.participant-cell-family{
  display:grid;
  gap:4px;
}
.participant-name{
  font-size:.76rem;
  font-weight:900;
  color:#fff;
  overflow:hidden;
  text-overflow:ellipsis;
}
.participant-row-alert{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(255,91,63,.16);
  border:1px solid rgba(255,114,79,.25);
  color:#ffc6b6;
  font-size:.56rem;
  font-weight:900;
  line-height:1.1;
}
.participant-number{
  min-width:38px;
  text-align:center;
  font-size:.78rem;
}
.participant-mode,
.participant-fantasy-count,
.participant-pending,
.participant-complete,
.participant-candy,
.participant-visit{
  padding:4px 6px;
  font-size:.59rem;
  line-height:1.1;
}
.participant-cell-pending{
  align-items:flex-start;
}
.participant-table-row.has-house-pending .participant-pending.map,
.participant-table-row.has-house-pending .participant-pending.photo{
  border-color:rgba(255,122,70,.42);
  background:rgba(255,92,54,.15);
  color:#ffd2c5;
}
.participant-muted{color:#756b7d;font-size:.68rem}

@media(max-width:820px){
  .participant-table-head{display:none}
  .participant-table-group{
    border-radius:12px;
  }
  .participant-table-row{
    grid-template-columns:44px minmax(0,1fr);
    gap:6px 9px;
    padding:9px 10px;
  }
  .participant-cell-number{
    grid-row:1 / span 3;
    align-self:start;
  }
  .participant-cell-family{
    grid-column:2;
    grid-row:1;
  }
  .participant-cell-mode{
    grid-column:2;
    grid-row:2;
  }
  .participant-cell-status{
    grid-column:2;
    grid-row:3;
  }
  .participant-cell-pending{
    grid-column:1 / -1;
    grid-row:4;
    padding-top:3px;
  }
  .participant-cell::before{
    display:none;
  }
  .participant-name{font-size:.76rem}
}
@media(max-width:520px){
  .participant-street-heading{padding:8px 9px}
  .participant-table-row{
    padding:8px 9px;
    grid-template-columns:38px minmax(0,1fr);
  }
  .participant-number{font-size:.72rem;min-width:32px}
  .participant-mode,
  .participant-fantasy-count,
  .participant-pending,
  .participant-complete,
  .participant-candy,
  .participant-visit{
    font-size:.57rem;
    padding:4px 5px;
  }
  .participant-cell-pending{gap:4px}
}

/* V193 — quadro simples de Casas participantes */
.participant-overview-head,
.participant-overview-row{
  grid-template-columns:minmax(210px,1.25fr) minmax(150px,.9fr) minmax(170px,.95fr) minmax(220px,1.2fr);
}
.participant-overview-group{
  border-radius:12px;
}
.participant-street-heading{
  padding:9px 11px;
}
.participant-street-heading>div{
  min-width:0;
}
.participant-street-kicker{
  display:block;
  margin-bottom:2px;
  color:#8f8297;
  font-size:.48rem;
  font-weight:900;
  letter-spacing:.09em;
}
.participant-street-heading h4{
  font-size:.82rem;
  line-height:1.1;
}
.participant-overview-row{
  min-height:68px;
  padding:8px 10px;
}
.participant-overview-row.has-house-pending{
  background:linear-gradient(90deg,rgba(255,94,54,.13),rgba(255,153,41,.035) 45%,transparent);
  box-shadow:inset 4px 0 0 #ff7445;
}
.participant-house-identity{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  align-items:center;
  gap:9px;
}
.participant-house-number-box{
  display:grid;
  place-items:center;
  align-content:center;
  min-height:48px;
  padding:5px 4px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:10px;
  background:rgba(255,255,255,.045);
}
.participant-house-number-box small{
  color:#9f92a7;
  font-size:.47rem;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1;
}
.participant-house-number-box strong{
  margin-top:3px;
  color:#fff;
  font-size:1rem;
  font-weight:950;
  line-height:1;
}
.participant-overview-row.has-house-pending .participant-house-number-box{
  border-color:rgba(255,119,72,.35);
  background:rgba(255,99,57,.10);
}
.participant-family-copy{
  gap:3px;
}
.participant-name{
  font-size:.76rem;
  line-height:1.15;
}
.participant-row-ok{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  color:#8bd7a7;
  font-size:.55rem;
  font-weight:850;
}
.participant-row-alert{
  border:0;
  padding:0;
  background:transparent;
  color:#ffb39d;
  font-size:.56rem;
}
.participant-overview-mode,
.participant-overview-status{
  display:grid;
  justify-items:start;
  align-content:center;
  gap:4px;
}
.participant-mode-text{
  color:#e8dcf0;
  font-size:.66rem;
  line-height:1.15;
}
.participant-fantasy-summary{
  color:#a99cb2;
  font-size:.58rem;
  font-weight:800;
}
.participant-overview-status .participant-candy,
.participant-overview-status .participant-visit,
.participant-map-state{
  border:0;
  padding:0;
  background:transparent;
  font-size:.59rem;
  line-height:1.2;
}
.participant-map-state{
  font-weight:800;
}
.participant-map-state.ok{color:#8fd7aa}
.participant-map-state.pending{color:#ffb29b}
.participant-overview-pending{
  display:block;
}
.participant-pending-list{
  display:grid;
  gap:4px;
}
.participant-pending-line{
  display:block;
  color:#e9dce9;
  font-size:.61rem;
  font-weight:800;
  line-height:1.2;
}
.participant-pending-line.map{color:#ffb39d}
.participant-pending-line.photo{color:#ffd894}
.participant-complete-line{
  display:inline-flex;
  align-items:center;
  color:#8fd7aa;
  font-size:.62rem;
  font-weight:900;
}
@media(max-width:820px){
  .participant-overview-row{
    grid-template-columns:1fr;
    gap:7px;
    padding:9px;
  }
  .participant-house-identity{
    grid-column:1;
    grid-row:auto;
    grid-template-columns:58px minmax(0,1fr);
  }
  .participant-overview-mode,
  .participant-overview-status,
  .participant-overview-pending{
    grid-column:1;
    grid-row:auto;
    padding-left:67px;
  }
  .participant-overview-mode{
    display:flex;
    flex-wrap:wrap;
    gap:5px 10px;
  }
  .participant-overview-status{
    display:flex;
    flex-wrap:wrap;
    gap:5px 10px;
  }
  .participant-pending-list{
    gap:3px;
  }
}
@media(max-width:520px){
  .participant-house-identity{
    grid-template-columns:54px minmax(0,1fr);
  }
  .participant-house-number-box{
    min-height:44px;
  }
  .participant-house-number-box strong{font-size:.92rem}
  .participant-overview-mode,
  .participant-overview-status,
  .participant-overview-pending{
    padding-left:63px;
  }
}

/* V197 — Casas participantes: tabela compacta e legível */
.house-list-street{
  margin:0 0 12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:rgba(8,11,18,.28);
}
.house-list-street-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}
.house-list-street-head h4{
  margin:0;
  color:#fff;
  font-size:.82rem;
  font-weight:900;
  line-height:1.1;
}
.house-list-street-head span{
  color:#aca0b4;
  font-size:.61rem;
  font-weight:800;
}
.house-list-table-head,
.house-list-row{
  display:grid;
  grid-template-columns:72px minmax(140px,1.15fr) minmax(150px,1fr) minmax(210px,1.35fr) minmax(210px,1.35fr);
  gap:10px;
  align-items:center;
}
.house-list-table-head{
  padding:7px 10px;
  background:rgba(255,255,255,.018);
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#8f8497;
  font-size:.52rem;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.house-list-row{
  position:relative;
  min-height:52px;
  padding:8px 10px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.house-list-row:last-child{border-bottom:0}
.house-list-row.has-pending{
  background:linear-gradient(90deg,rgba(255,112,58,.08),rgba(255,160,44,.025) 48%,transparent);
  box-shadow:inset 3px 0 0 rgba(255,113,65,.88);
}
.house-list-number{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  color:#9f93a8;
  font-size:.58rem;
  font-weight:850;
  white-space:nowrap;
}
.house-list-number b{
  color:#fff;
  font-size:.86rem;
  font-weight:950;
}
.house-list-name{
  min-width:0;
  overflow:hidden;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.house-list-participation,
.house-list-status,
.house-list-pending{
  min-width:0;
}
.house-list-participation{
  display:grid;
  gap:2px;
}
.house-list-participation b{
  color:#ddd2e4;
  font-size:.61rem;
  line-height:1.15;
}
.house-list-participation small{
  color:#94899c;
  font-size:.54rem;
  font-weight:750;
}
.house-list-status{
  display:flex;
  flex-wrap:wrap;
  gap:3px 9px;
}
.house-list-status span{
  font-size:.57rem;
  font-weight:780;
  line-height:1.2;
  white-space:nowrap;
}
.house-list-status .available{color:#a8e7b8}
.house-list-status .low{color:#ffd56f}
.house-list-status .soldout{color:#ff9e92}
.house-list-status .paused{color:#aaa0b1}
.house-list-status .visited{color:#8ed9aa}
.house-list-status .unvisited{color:#c6bdcb}
.house-list-status .own{color:#d5c5ff}
.house-list-status .map-ok{color:#8ed9aa}
.house-list-status .map-pending{color:#ffad98}
.house-list-pending{
  display:flex;
  flex-wrap:wrap;
  gap:3px 10px;
}
.house-list-pending span{
  font-size:.57rem;
  font-weight:850;
  line-height:1.2;
}
.house-list-pending .map{color:#ffad98}
.house-list-pending .photo{color:#ffd58a}
.house-list-pending .complete{color:#8ed9aa}

/* Mobile: primeira linha = Nº + nome; dados compactos abaixo */
@media(max-width:820px){
  .house-list-table-head{display:none}
  .house-list-row{
    grid-template-columns:68px minmax(0,1fr);
    gap:5px 9px;
    min-height:0;
    padding:9px 10px;
  }
  .house-list-number{
    grid-column:1;
    grid-row:1;
    align-self:center;
    font-size:.58rem;
  }
  .house-list-number b{
    font-size:.9rem;
  }
  .house-list-name{
    grid-column:2;
    grid-row:1;
    align-self:center;
    font-size:.76rem;
  }
  .house-list-participation,
  .house-list-status,
  .house-list-pending{
    grid-column:1 / -1;
    padding-left:0;
  }
  .house-list-participation{
    grid-row:2;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px 10px;
    padding-top:2px;
  }
  .house-list-status{
    grid-row:3;
    gap:3px 10px;
  }
  .house-list-pending{
    grid-row:4;
    gap:3px 10px;
    padding-top:2px;
  }
  .house-list-pending::before{
    content:"Pendências:";
    color:#8f8497;
    font-size:.53rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .house-list-row.is-complete .house-list-pending::before{
    content:"";
  }
}
@media(max-width:520px){
  .house-list-street{
    margin-bottom:10px;
    border-radius:10px;
  }
  .house-list-street-head{
    padding:8px 9px;
  }
  .house-list-row{
    grid-template-columns:64px minmax(0,1fr);
    padding:8px 9px;
  }
  .house-list-name{font-size:.73rem}
  .house-list-participation b,
  .house-list-status span,
  .house-list-pending span{
    font-size:.56rem;
  }
}

/* V198 — Casas participantes no padrão visual da Administração */
.participant-admin-street{
  margin:0 0 14px;
}
.participant-admin-street-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
  margin:0 0 7px;
  padding:0 2px 6px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.participant-admin-street-head>div{
  min-width:0;
}
.participant-admin-street-head small{
  display:block;
  margin-bottom:2px;
  color:#8190a0;
  font-size:.49rem;
  font-weight:900;
  letter-spacing:.08em;
}
.participant-admin-street-head h4{
  margin:0;
  overflow:hidden;
  color:#fff;
  font-size:.84rem;
  font-weight:900;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.participant-admin-street-head>span{
  flex:0 0 auto;
  color:#9aa7b4;
  font-size:.61rem;
  font-weight:850;
}
.participant-admin-family-list{
  display:grid;
  gap:7px;
}
.participant-admin-family-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.participant-admin-family-card.has-pending{
  border-color:rgba(255,131,78,.25);
  background:linear-gradient(90deg,rgba(255,102,52,.085),rgba(255,255,255,.02) 62%);
  box-shadow:inset 3px 0 0 rgba(255,112,59,.82);
}
.participant-admin-family-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.participant-admin-family-copy>b{
  min-width:0;
  overflow:hidden;
  color:#fff;
  font-size:.79rem;
  font-weight:900;
  line-height:1.18;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.participant-admin-number{
  color:#ffb25b;
  font-weight:950;
}
.participant-admin-separator{
  margin:0 5px;
  color:#667789;
  font-weight:700;
}
.participant-admin-summary{
  color:#cbd4dd;
  font-size:.63rem;
  font-weight:700;
  line-height:1.28;
}
.participant-admin-pending{
  display:flex;
  flex-wrap:wrap;
  gap:2px 6px;
  color:#aeb8c3;
  font-size:.59rem;
  font-weight:800;
  line-height:1.25;
}
.participant-admin-pending i{
  color:#5e6c79;
  font-style:normal;
}
.participant-admin-pending .map{color:#ffad96}
.participant-admin-pending .photo{color:#ffd286}
.participant-admin-status{
  flex:0 0 auto;
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:9px;
  font-size:.58rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.participant-admin-status.pending{
  border-color:rgba(255,124,70,.30);
  background:rgba(255,95,48,.10);
  color:#ffc0ad;
}
.participant-admin-status.complete{
  border-color:rgba(85,209,136,.25);
  background:rgba(70,180,115,.08);
  color:#a9e7bf;
}
@media(max-width:620px){
  .participant-admin-family-card{
    align-items:start;
    gap:8px;
    padding:9px 10px;
  }
  .participant-admin-family-copy>b{
    font-size:.76rem;
  }
  .participant-admin-summary{
    font-size:.59rem;
  }
  .participant-admin-pending{
    font-size:.57rem;
  }
  .participant-admin-status{
    padding:5px 6px;
    font-size:.53rem;
  }
}
@media(max-width:390px){
  .participant-admin-family-card{
    gap:6px;
    padding:8px 9px;
  }
  .participant-admin-family-copy>b{
    white-space:normal;
  }
  .participant-admin-status{
    padding:4px 5px;
  }
}


/* v246r7 — menu Diversão: cinco abas do MESMO tamanho no celular.
   As três da primeira linha e as duas centralizadas embaixo ocupam 2/6 da grade.
   A área clicável de todas as opções é a mesma, inclusive das não selecionadas. */
.fun-tabs button{
  box-sizing:border-box;
  min-width:0;
  width:100%;
  height:46px;
  min-height:46px;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:7px 5px;
  font-size:.78rem;
  line-height:1.15;
  letter-spacing:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.fun-tabs button:not(.active){
  background:rgba(255,255,255,.045);
  color:#dce4ed;
}
.fun-tabs button:focus-visible{
  outline:2px solid #ffad3e;
  outline-offset:2px;
}
@media(max-width:700px){
  .fun-tabs{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:6px;
    padding:6px;
  }
  .fun-tabs button{
    grid-column:span 2;
    height:48px;
    min-height:48px;
    font-size:.79rem;
    padding:6px 4px;
  }
  .fun-tabs button:nth-child(4){grid-column:2 / span 2}
  .fun-tabs button:nth-child(5){grid-column:4 / span 2}
}
@media(max-width:390px){
  .fun-tabs{gap:4px;padding:4px}
  .fun-tabs button{
    height:46px;
    min-height:46px;
    font-size:.72rem;
    padding:5px 3px;
  }
}
