
/* =========================================================
   GABINETE DIGITAL — CADASTRO DE FAMÍLIA + GPS NO ENDEREÇO (V10)
   ========================================================= */

/* 1) Correção de sobreposição: o mapa não pode passar por cima dos modais. */
.territory-map-canvas,#territoryMap{position:relative;z-index:0;isolation:isolate}
.modal{z-index:1200}

/* 2) Bloco de localização dentro da etapa de endereço. */
.geo-confirm-box{padding:14px;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:14px;background:var(--soft)}
.geo-confirm-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.geo-confirm-head strong{color:var(--navy-dark);font-size:12px}
.geo-confirm-head p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.5;max-width:640px}
.geo-confirm-state{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}
.geo-confirm-state.ok{color:#067647;background:#dcfae6}
.geo-confirm-state.pending{color:#7a4d00;background:#fff4d6}
.geo-confirm-state.busy{color:#075fa8;background:#e5f3ff}
.geo-confirm-state.fail{color:#b42318;background:#fef3f2}
.geo-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}
.geo-confirm-actions .btn{min-height:40px}
.geo-confirm-detail{margin-top:9px;color:var(--muted);font-size:10px;line-height:1.55}
.geo-confirm-detail b{color:var(--navy-dark)}

/* 3) Modal do cadastro de residência/família. */
.household-modal-box{width:min(1260px,100%)}
.household-shared-grid{padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--soft)}
.household-residents-head{margin:18px 0 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.household-residents-head h3{margin:0;color:var(--navy-dark);font-size:16px}
.household-residents-head p{margin:4px 0 0;color:var(--muted);font-size:10px}
.household-residents{display:grid;gap:11px}
.household-resident-card{position:relative;padding:14px;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:14px;background:#fff}
.household-resident-title{margin-bottom:11px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.household-resident-title strong{color:var(--navy-dark);font-size:12px}
.household-age-info{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef6ff;color:var(--blue);font-size:8px;font-weight:900}
.household-resident-remove{min-height:31px!important;padding:5px 8px!important}
.household-status{min-height:20px;margin-top:10px;font-size:10px;font-weight:800}
.household-status.loading{color:var(--blue)}
.household-status.success{color:var(--green)}
.household-status.warning{color:#9a6200}
.household-status.error{color:var(--red)}
.household-mini-badge{display:inline-flex;padding:3px 6px;border-radius:999px;background:#eef6ff;color:#075fa8;font-size:7px;font-weight:900}
.household-mini-badge.responsible{color:#9a6200;background:#fff4d6}
#householdRegistryModal .modal-body{max-height:78vh;overflow:auto}

@media(max-width:900px){
  .household-resident-card .grid>div{grid-column:span 12!important}
  .geo-confirm-actions .btn{flex:1 1 100%}
}
@media(max-width:620px){
  .household-residents-head{align-items:flex-start;flex-direction:column}
  .household-residents-head .btn{width:100%}
}

