*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f5f7;color:#20252b}.topo{background:#1f3a5f;color:#fff}.topo-conteudo{max-width:1100px;margin:auto;padding:14px 20px;display:flex;gap:25px;align-items:center;justify-content:space-between}.marca{color:#fff;text-decoration:none;font-size:20px;font-weight:bold}.topo nav{display:flex;flex-wrap:wrap;gap:8px}.topo nav a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:7px}.topo nav a:hover{background:rgba(255,255,255,.12)}.topo .sair{background:#a83232}.container{max-width:1100px;margin:auto;padding:25px 18px;min-height:calc(100vh - 110px)}.rodape{text-align:center;padding:20px;background:#e5e8ec}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#1f3a5f}.login-box{background:#fff;width:100%;max-width:430px;padding:30px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.login-box h1{text-align:center;margin-top:0}.login-box p{text-align:center;color:#666}.login-box small{display:block;text-align:center;margin-top:18px;color:#666}.login-box label,.campo label{display:block;font-weight:bold;margin:0 0 6px}.login-box input,.campo input,.campo select,.campo textarea,.busca input,.busca select{width:100%;padding:13px;border:1px solid #cbd2da;border-radius:8px;font-size:16px;margin-bottom:16px;background:#fff}.pagina-cabecalho{margin-bottom:20px}.pagina-cabecalho h1{margin:0 0 7px}.pagina-cabecalho p{margin:0;color:#65707d}.linha{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.card{background:#fff;border-radius:12px;padding:22px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.card span{display:block;color:#68717b}.card strong{font-size:32px;margin-top:8px;display:block}.destaque{border-left:5px solid #d6a600}.painel{background:#fff;border-radius:12px;padding:20px;margin:18px 0;box-shadow:0 2px 8px rgba(0,0,0,.06)}.painel-cabecalho{display:flex;justify-content:space-between;align-items:center;gap:15px}.lista{margin-top:12px}.linha-lista,.pessoa-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #e4e7ea}.linha-lista:last-child,.pessoa-card:last-child{border-bottom:none}.linha-lista span{display:block;color:#68717b;margin-top:4px}.data-aniversario{font-weight:bold;font-size:18px}.acoes-grade{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:20px}.acao{background:#fff;border-radius:12px;padding:20px;text-align:center;text-decoration:none;color:#20252b;box-shadow:0 2px 8px rgba(0,0,0,.06);font-size:28px}.acao span{display:block;font-size:15px;margin-top:8px;font-weight:bold}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.campo-grande{grid-column:span 2}.btn{display:inline-block;border:0;border-radius:8px;padding:11px 17px;text-decoration:none;cursor:pointer;font-size:15px;text-align:center}.btn-principal{background:#1f3a5f;color:#fff}.btn-secundario{background:#e8eef5;color:#1f3a5f}.btn-cancelar{background:#e6e6e6;color:#333}.btn-danger{background:#b53434;color:#fff}.btn-pequeno{padding:8px 12px}.btn-bloco{width:100%;margin-top:8px}.botoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.badge{display:inline-block;background:#e8eef5;color:#1f3a5f;padding:4px 8px;border-radius:20px;font-size:13px}.pessoa-info h3,.pessoa-card h3{margin:0 0 6px}.pessoa-info p,.pessoa-card p{margin:6px 0;color:#59636d}.busca{display:flex;gap:10px;align-items:flex-start}.busca input,.busca select{margin:0}.alerta{padding:14px;border-radius:8px;margin:15px 0}.erro{background:#fde5e5;color:#8b2525}.sucesso{background:#e4f5e7;color:#236a32}.vazio{color:#68717b;padding:15px 0}@media(max-width:800px){.topo-conteudo{display:block}.marca{display:block;margin-bottom:12px}.topo nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.cards{grid-template-columns:1fr}.acoes-grade{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.campo-grande{grid-column:auto}.busca{flex-direction:column}.busca input,.busca select,.busca .btn{width:100%}.pessoa-card{align-items:flex-start;flex-direction:column}.pessoa-card .botoes,.pessoa-card>.btn{width:100%}.pessoa-card .btn{text-align:center}.painel-cabecalho{align-items:flex-start;flex-direction:column}}@media(max-width:420px){.acoes-grade{grid-template-columns:1fr}.container{padding:18px 12px}.painel{padding:15px}}
.observacoes{background:#f6f7f9;padding:10px;border-radius:8px;line-height:1.5}

.componentes-familia{
    margin-top:10px;
    padding:10px;
    border-radius:8px;
    background:#f6f7f9;
    line-height:1.6;
}
.evento-aniversario.casamento{
    margin-top:8px;
    padding:10px;
    border-radius:8px;
    background:#fff8e8;
}

/* Listagem discreta dos membros de cada família */
.lista-membros-familia{margin-top:8px;}
.membro-familia{padding:5px 0;line-height:1.4;}
.membro-familia + .membro-familia{border-top:1px solid #eeeeee;}

.nomes-familia{
    line-height:1.55;
    font-weight:normal;
}
.nomes-familia div + div{
    border-top:1px solid #eeeeee;
    padding-top:3px;
    margin-top:3px;
}
.familia-lista-card{
    align-items:center;
}
@media(max-width:800px){
    .familia-lista-card{
        align-items:flex-start;
    }
}

.grau-parentesco{font-size:13px;color:#68717b;margin-left:4px;}

.cargo-familia{font-size:12px;color:#56616d}.endereco-familia{font-size:12px;color:#6b7280;margin-top:3px}.grau-parentesco{font-size:13px;color:#68717b;margin-left:4px}.membro-familia{margin-bottom:8px}

.menu-usuarios{
    background:#f0b429 !important;
    color:#1f2937 !important;
    border-radius:8px;
    padding:8px 12px !important;
    font-weight:700;
}
.menu-usuarios:hover{
    background:#d99b12 !important;
    color:#111827 !important;
}
.versao-sistema{
    display:inline-block;
    margin-left:8px;
    padding:3px 8px;
    border-radius:999px;
    background:#e5e7eb;
    color:#374151;
    font-size:12px;
    font-weight:700;
    vertical-align:middle;
}
.versao-rodape{
    text-align:center;
    color:#6b7280;
    font-size:11px;
    padding:10px 0 16px;
}

.cabecalho-lista{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.texto-suave{color:#6b7280;font-size:14px;}
.filtro-mes{display:flex;align-items:center;gap:8px;}
.lista-aniversariantes{display:flex;flex-direction:column;gap:2px;}
.item-aniversariante{display:grid;grid-template-columns:70px 1fr 120px;align-items:center;padding:11px 8px;border-bottom:1px solid #e5e7eb;gap:10px;}
.data-aniversario{font-weight:700;}
.nome-aniversariante{font-weight:600;}
.parentesco-aniversariante{font-size:13px;color:#6b7280;text-align:right;}
.item-aniversariante.casamento{border-left:3px solid #b8860b;padding-left:12px;}
@media (max-width:800px){
    .item-aniversariante{grid-template-columns:55px 1fr;align-items:start;}
    .parentesco-aniversariante{text-align:left;grid-column:2;}
    .filtro-mes{width:100%;}
    .filtro-mes select{flex:1;}
}

.ficha-familia-inline{margin-top:10px;padding:12px;border-top:1px solid #e5e7eb;background:#fafafa;border-radius:8px;}
.ficha-familia-titulo{font-weight:700;margin-bottom:8px;}
.ficha-registro-inline{padding:7px 0;border-bottom:1px solid #eceff1;font-size:13px;}
.ficha-inline-form{margin-top:10px;}
.ficha-inline-grid{display:grid;grid-template-columns:150px 1fr;gap:8px;margin-bottom:8px;}
.membro-familia{cursor:pointer;}
@media(max-width:800px){.ficha-inline-grid{grid-template-columns:1fr;}}

.menu-online{background:#d9eefb !important;color:#17405f !important;font-weight:700}.menu-notificacoes{background:#fff0c2 !important;color:#684f00 !important;font-weight:700}.usuario-notificacao-card,.solicitacao-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid #e4e7ea}.preferencias-notificacao{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.preferencias-notificacao label{font-size:14px}.notificacao-preview{background:#f6f7f9;border-radius:10px;padding:18px;line-height:1.6;max-width:700px}.online-container{max-width:900px}.membro-online{border:1px solid #dfe5eb}.membro-online h2{margin:0}.casamento{display:block}.texto-suave{color:#6b7280;font-size:14px}.solicitacao-card .botoes{margin-top:0}.copiar-link{word-break:break-all}
@media(max-width:800px){.usuario-notificacao-card,.solicitacao-card{align-items:flex-start;flex-direction:column}.preferencias-notificacao{width:100%;align-items:flex-start;flex-direction:column}.preferencias-notificacao .btn{width:100%}}

.acao-online{border:2px solid #2d8cff}.acao-notificacoes{border:2px solid #d7aa22}.btn-whatsapp{background:#1fa463!important;color:#fff!important;border-color:#1fa463!important}
