/* Filtros etários integrados ao painel geral e navegação rápida entre moradores. */
.people-filter-group{
  min-width:0;
  margin:0;
  padding:9px 10px 10px;
  border:1px solid #dbe7f1;
  border-radius:12px;
  background:linear-gradient(135deg,#f7fbff,#fff);
}
.people-filter-group legend{
  padding:0 5px;
  color:var(--navy-dark);
  font-size:9px;
  font-weight:950;
  letter-spacing:.35px;
  text-transform:uppercase;
}
.people-age-filter-group{grid-column:span 2}
.people-age-controls{
  display:grid;
  grid-template-columns:minmax(150px,1.15fr) minmax(90px,.7fr) auto minmax(90px,.7fr);
  align-items:end;
  gap:8px;
  min-width:0;
}
.people-age-controls .compact-control{min-width:0}
.people-age-controls .compact-control label{display:block;margin:0 0 5px;color:#52647a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.35px}
.people-age-controls .compact-control select,
.people-age-controls .compact-control input{width:100%;min-width:0;min-height:40px}
.people-age-separator{align-self:center;padding-top:16px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}
.people-age-feedback{min-height:0;margin-top:6px;color:#0b6b48;font-size:9px;font-weight:800;line-height:1.45}
.people-age-feedback.is-error{color:#b42318}
.people-filter-card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px;padding:0 2px}
.people-filter-card-heading strong{color:var(--navy-dark);font-size:12px;line-height:1.3}
.people-filter-card-heading span{color:var(--muted);font-size:9px;line-height:1.4;text-align:right}
#peopleListArea .compact-filter-card{max-width:100%;overflow:hidden;padding:14px!important}
#peopleListArea .compact-filter-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:end!important;
  gap:11px 10px!important;
  width:100%;
  max-width:100%;
  overflow:visible!important;
}
#peopleListArea .compact-filter-row>*{min-width:0!important;max-width:100%!important;margin:0!important}
#peopleListArea .compact-filter-row .compact-control{width:100%;flex:none!important}
#peopleListArea .compact-filter-row .people-leader-filter-primary{display:block!important;grid-column:span 1;padding:9px 10px;border:1px solid #b8d9ee;border-radius:12px;background:linear-gradient(135deg,#edf8ff,#fff)}
#peopleListArea .people-leader-filter-primary label{display:block;margin-bottom:5px;color:#075fa8;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.35px}
#peopleListArea .people-leader-filter-help{display:block;margin-top:5px;color:#587086;font-size:8px;line-height:1.35}
#peopleListArea .compact-filter-row .compact-control.filter-search{grid-column:span 2;min-width:0!important;width:100%!important;flex:none!important}
#peopleListArea .compact-filter-row input,
#peopleListArea .compact-filter-row select{display:block;width:100%!important;max-width:100%!important;min-width:0!important}
#peopleListArea .compact-filter-row .compact-action{width:100%;justify-content:center}
#peopleListArea .compact-filter-row .compact-control.is-filter-active input,
#peopleListArea .compact-filter-row .compact-control.is-filter-active select{
  border-color:#168bd2!important;
  background:#eaf6ff!important;
  color:#063e96!important;
  box-shadow:0 0 0 3px rgba(22,139,210,.12)!important;
}
#peopleListArea .compact-filter-row .people-filter-group.is-filter-active{
  border-color:#168bd2!important;
  background:linear-gradient(135deg,#e8f6ff,#f7fbff)!important;
  box-shadow:0 0 0 3px rgba(22,139,210,.10)!important;
}
#peopleListArea .compact-filter-row .people-filter-group.is-filter-active legend{color:#075fa8}
#peopleListArea .compact-filter-row .ui-filter-toggle.is-active{
  border-color:#168bd2!important;
  background:#e7f5ff!important;
  color:#063e96!important;
  box-shadow:0 0 0 3px rgba(22,139,210,.10)!important;
}

/* Fechado: busca, líder e ações formam uma única barra, sem botão órfão. */
#peopleListArea .compact-filter-card:not(.ui-filter-open) .compact-filter-row{
  grid-template-columns:minmax(320px,2fr) minmax(245px,1fr) minmax(112px,.42fr) minmax(138px,.5fr);
  gap:10px!important;
}
#peopleListArea .compact-filter-card:not(.ui-filter-open) .compact-control.filter-search{
  grid-column:1;
}
#peopleListArea .compact-filter-card:not(.ui-filter-open) .people-leader-filter-primary{
  grid-column:2;
}
#peopleListArea .compact-filter-card:not(.ui-filter-open) .ui-filter-toggle{
  grid-column:3;
}
#peopleListArea .compact-filter-card:not(.ui-filter-open) #exportPeople{
  grid-column:4;
}
#peopleListArea .compact-filter-card:not(.ui-filter-open) .ui-filter-toggle,
#peopleListArea .compact-filter-card:not(.ui-filter-open) #exportPeople{
  align-self:end;
  min-height:40px!important;
  white-space:nowrap;
}

/* Abertos, os filtros seguem uma hierarquia visual clara: busca, grupos e refinamentos. */
#peopleListArea .ui-filter-open .compact-filter-row .compact-control.filter-search{grid-column:1/-1}
#peopleListArea .ui-filter-open .people-age-filter-group{
  grid-column:1/span 2;
  grid-row:2;
  align-self:stretch;
}
#peopleListArea .ui-filter-open .people-work-filter-group{
  grid-column:3/span 2;
  grid-row:2;
  align-self:stretch;
  min-width:0;
}
#peopleListArea .ui-filter-open #clearPeopleFilters{grid-column:1}
#peopleListArea .ui-filter-open .ui-filter-toggle{grid-column:2}
#peopleListArea .ui-filter-open #exportPeople{grid-column:3/-1}
.person-age-pill{
  display:inline-flex;
  align-items:center;
  margin-top:7px;
  padding:4px 7px;
  border-radius:999px;
  color:#075fa8;
  background:#e6f3ff;
  font-size:8px;
  font-weight:900;
  line-height:1.2;
}
.person-age-pill.is-child{color:#7a4d00;background:#fff4d6}
.person-age-pill.is-adolescent{color:#6941c6;background:#f1eafe}
.person-age-pill.is-adult{color:#075fa8;background:#e6f3ff}
.person-age-pill.is-elderly{color:#08633f;background:#e6f7ef}
.person-age-pill.is-unknown{color:#5f6f82;background:#edf1f5}

@media(max-width:1180px){
  #peopleListArea .compact-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  #peopleListArea .compact-filter-card:not(.ui-filter-open) .compact-filter-row{
    grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);
  }
  #peopleListArea .compact-filter-card:not(.ui-filter-open) .compact-control.filter-search{grid-column:1}
  #peopleListArea .compact-filter-card:not(.ui-filter-open) .people-leader-filter-primary{grid-column:2}
  #peopleListArea .compact-filter-card:not(.ui-filter-open) .ui-filter-toggle{grid-column:1}
  #peopleListArea .compact-filter-card:not(.ui-filter-open) #exportPeople{grid-column:2}
  #peopleListArea .ui-filter-open .people-age-filter-group,
  #peopleListArea .ui-filter-open .people-work-filter-group{grid-column:1/-1;grid-row:auto}
  #peopleListArea .ui-filter-open #clearPeopleFilters{grid-column:1}
  #peopleListArea .ui-filter-open .ui-filter-toggle{grid-column:2}
  #peopleListArea .ui-filter-open #exportPeople{grid-column:3}
}
@media(max-width:760px){
  .people-filter-card-heading{display:block}
  .people-filter-card-heading span{display:block;margin-top:4px;text-align:left}
  #peopleListArea .compact-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  #peopleListArea .compact-filter-card:not(.ui-filter-open) .compact-filter-row{grid-template-columns:1fr}
  #peopleListArea .compact-filter-card:not(.ui-filter-open) .compact-control.filter-search,
  #peopleListArea .compact-filter-card:not(.ui-filter-open) .people-leader-filter-primary,
  #peopleListArea .compact-filter-card:not(.ui-filter-open) .ui-filter-toggle,
  #peopleListArea .compact-filter-card:not(.ui-filter-open) #exportPeople{grid-column:auto}
  #peopleListArea .compact-filter-row .compact-control.filter-search{grid-column:1/-1}
  .people-age-filter-group,.people-work-filter-group{grid-column:1/-1}
  #peopleListArea .ui-filter-open #clearPeopleFilters{grid-column:1}
  #peopleListArea .ui-filter-open .ui-filter-toggle{grid-column:2}
  #peopleListArea .ui-filter-open #exportPeople{grid-column:1/-1}
}
@media(max-width:460px){
  #peopleListArea .compact-filter-row{grid-template-columns:1fr}
  #peopleListArea .compact-filter-row .compact-control.filter-search{grid-column:auto}
  .people-age-filter-group,.people-work-filter-group{grid-column:auto}
  .people-age-controls{grid-template-columns:1fr 1fr}
  .people-age-controls .age-group-control{grid-column:1/-1}
  .people-age-separator{display:none}
  #peopleListArea .ui-filter-open #clearPeopleFilters,
  #peopleListArea .ui-filter-open .ui-filter-toggle,
  #peopleListArea .ui-filter-open #exportPeople{grid-column:auto}
}
