/* =========================================================
   TROFÉU GENTE NOSSA - Páginas públicas
   Identidade: preto/grafite + dourado/champagne, com fundo claro.
   ========================================================= */

:root {
    --tgn-dourado: #c7a15a;
    --tgn-dourado-escuro: #98743d;
    --tgn-dourado-claro: #f5ecdc;
    --tgn-preto: #171717;
    --tgn-grafite: #343434;
    --tgn-fundo: #f5f3ef;
    --tgn-card: #ffffff;
    --tgn-borda: #e6dfd4;
    --tgn-texto: #292929;
    --tgn-texto-secundario: #756f66;
}

body {
    margin: 0;
    color: var(--tgn-texto);
    background: var(--tgn-fundo);
    font-size: 14px;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

#top_tgn {
    width: 100%;

    margin: 0;
    padding: 14px 18px 0;

    box-sizing: border-box;    
}

#center_content {
    position: relative;

    width: 70%;
    max-width: 1500px;

    margin: 0 auto;
    padding: 16px 0 24px;

    box-sizing: border-box;
}


#bottom2 {
    width: 70%;
    max-width: 1500px;

    margin: 0 auto;
    padding: 0 0 20px;

    box-sizing: border-box;
}

@media (max-width: 1100px) {

    #center_content,
    #bottom2 {
        width: 85%;
    }

}


@media (max-width: 768px) {

    #top_tgn {
        padding: 8px 8px 0;
    }

    #center_content,
    #bottom2 {
        width: calc(100% - 16px);

        margin: 0 auto;
    }

    #center_content {
        padding: 10px 0 18px;
    }

}

.gridCentralizado2 {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.tgn-pagina {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0px 18px 18px;
    box-sizing: border-box;
}

.tgn-banner {
    width: 100%;
    overflow: hidden;
    margin-bottom: 22px;
    background: var(--tgn-preto);
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(28, 24, 18, .14);
}

.tgn-banner img,
.tgn-banner .ui-graphicimage {
    display: block;
    width: 100% !important;
    height: auto;
}

.tgn-cabecalho {
    margin: 0 0 18px;
    text-align: center;
}

.tgn-etiqueta {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--tgn-dourado-escuro);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.tgn-titulo {
    display: block;
    margin: 0;
    color: var(--tgn-preto);
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.25;
}

.tgn-subtitulo {
    display: block;
    max-width: 700px;
    margin: 7px auto 0;
    color: var(--tgn-texto-secundario);
    font-size: .93rem;
    line-height: 1.5;
}

.tgn-card {
    width: 100%;
    margin-bottom: 18px;
    padding: 24px;
    box-sizing: border-box;
    background: var(--tgn-card);
    border: 1px solid var(--tgn-borda);
    border-radius: 15px;
    box-shadow: 0 5px 18px rgba(51, 43, 31, .07);
}

.tgn-card-destaque {
    border-top: 4px solid var(--tgn-dourado);
}

.tgn-card-titulo {
    display: block;
    margin-bottom: 5px;
    color: var(--tgn-preto);
    font-size: 1.08rem;
    font-weight: 700;
}

.tgn-card-descricao {
    display: block;
    margin-bottom: 18px;
    color: var(--tgn-texto-secundario);
    font-size: .86rem;
    line-height: 1.45;
}

.tgn-seletor.ui-selectonemenu,
.tgn-seletor {
    width: 100% !important;
    min-height: 42px;
    box-sizing: border-box;
    border-color: #d7cdbd;
    border-radius: 9px !important;
    font-size: .92rem;
}

.tgn-seletor.ui-selectonemenu .ui-selectonemenu-label {
    padding: .75rem .8rem;
}

.tgn-categoria-info {
    margin: 16px 0 4px;
    padding: 16px 18px;
    text-align: left;
    background: #faf8f4;
    border-left: 4px solid var(--tgn-dourado);
    border-radius: 9px;
}

.tgn-categoria-nome {
    display: block;
    margin-bottom: 5px;
    color: var(--tgn-preto);
    font-size: 1rem;
    font-weight: 700;
}

.tgn-categoria-descricao {
    color: var(--tgn-texto-secundario);
    font-size: .86rem;
    line-height: 1.5;
}

.tgn-tabela.ui-datatable {
    margin-top: 16px;
    border: 0;
}

.tgn-tabela .ui-datatable-header,
.tgn-tabela .ui-datatable-footer {
    border: 0;
    background: transparent;
}

.tgn-tabela thead th {
    padding: .85rem !important;
    color: #55472f !important;
    background: var(--tgn-dourado-claro) !important;
    border-color: #e4d5bb !important;
    font-size: .82rem;
    font-weight: 700;
}

.tgn-tabela tbody td {
    padding: .8rem !important;
    color: #393734;
    border-color: #eee9e1 !important;
    font-size: .86rem;
}

.tgn-tabela .ui-column-filter {
    width: 95% !important;
    margin-top: 6px;
    border-radius: 7px;
}

.tgn-acoes {
    margin-top: 18px;
    text-align: center;
}

.tgn-botao.ui-button {
    min-height: 42px;
    padding: .7rem 1.15rem;
    color: #fff !important;
    background: linear-gradient(135deg, #b88d48, #d0ad6a) !important;
    border: 1px solid #b48a49 !important;
    border-radius: 9px !important;
    box-shadow: 0 4px 10px rgba(146, 105, 48, .18);
    font-size: .88rem;
    font-weight: 700;
}

.tgn-botao.ui-button:hover {
    background: linear-gradient(135deg, #a77e3f, #c19a56) !important;
    border-color: #9e7439 !important;
}

.tgn-botao-largo.ui-button {
    width: 100%;
}

.tgn-mensagens.ui-messages {
    width: 100% !important;
    margin: 0 0 16px;
    box-sizing: border-box;
}

.tgn-dados {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.tgn-dado {
    padding: 15px 16px;
    background: #faf8f4;
    border: 1px solid #ebe3d7;
    border-radius: 10px;
    text-align: left;
}

.tgn-dado-label {
    display: block;
    margin-bottom: 5px;
    color: var(--tgn-dourado-escuro);
    font-size: .71rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tgn-dado-valor {
    display: block;
    color: var(--tgn-preto);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.tgn-convite {
    overflow: hidden;
    padding: 0;
    background: #fff;
    border: 1px solid var(--tgn-borda);
    border-radius: 15px;
    box-shadow: 0 5px 18px rgba(51, 43, 31, .07);
}

.tgn-convite img,
.tgn-convite .ui-graphicimage {
    display: block;
    width: 100% !important;
    height: auto;
}

.tgn-encerrado {
    max-width: 720px;
    margin: 0 auto;
    padding: 34px 28px;
    text-align: center;
}

.tgn-encerrado-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    color: #765626;
    background: var(--tgn-dourado-claro);
    border: 1px solid #e2cfad;
    border-radius: 50%;
    font-size: 1.35rem;
}

.tgn-encerrado-texto {
    display: block;
    max-width: 560px;
    margin: 10px auto 0;
    color: var(--tgn-texto-secundario);
    font-size: .95rem;
    line-height: 1.6;
}

.tgn-dialogo .ui-dialog-titlebar {
    color: var(--tgn-preto);
    background: var(--tgn-dourado-claro);
    border-color: #e4d5bb;
}

@media (max-width: 768px) {
    .tgn-pagina {
        padding: 12px 9px 26px;
    }

    .tgn-banner {
        margin-bottom: 16px;
        border-radius: 10px;
    }

    .tgn-titulo {
        font-size: 1.35rem;
    }

    .tgn-subtitulo {
        font-size: .86rem;
    }

    .tgn-card {
        padding: 17px 14px;
        border-radius: 11px;
    }

    .tgn-dados {
        grid-template-columns: 1fr;
    }

    .tgn-convite {
        border-radius: 10px;
    }

    .tgn-encerrado {
        padding: 25px 17px;
    }
}

/* =========================================================
   TGN - Login da Pesquisa
   ========================================================= */

.tgn-login-banner {
    width: 100%;
    max-width: 1060px;
    margin: 20px auto 0;
    overflow: hidden;
    background: #171717;
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(28, 24, 18, .14);
}

.tgn-login-banner img,
.tgn-login-banner .ui-graphicimage {
    display: block;
    width: 100% !important;
    height: auto;
}

.tgn-login-pagina {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    padding: 28px 18px 45px;
    box-sizing: border-box;
}

.tgn-login-card {
    width: 100%;
    max-width: 470px;
    margin: 0 auto;
    padding: 30px 34px 28px;
    box-sizing: border-box;

    background: #ffffff;
    border: 1px solid var(--tgn-borda);
    border-top: 4px solid var(--tgn-dourado);
    border-radius: 16px;

    box-shadow: 0 8px 28px rgba(51, 43, 31, .09);
}

.tgn-login-cabecalho {
    margin-bottom: 25px;
    text-align: center;
}

.tgn-login-icone {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;
    margin: 0 auto 15px;

    color: #785b2d;
    background: var(--tgn-dourado-claro);
    border: 1px solid #e3d0ae;
    border-radius: 50%;

    font-size: 1.25rem;
}

.tgn-login-titulo {
    display: block;
    margin-top: 2px;

    color: var(--tgn-preto);
    font-size: 1.45rem;
    font-weight: 700;
}

.tgn-login-subtitulo {
    display: block;
    max-width: 350px;
    margin: 8px auto 0;

    color: var(--tgn-texto-secundario);
    font-size: .86rem;
    line-height: 1.5;
}

.tgn-login-form {
    width: 100%;
}

.tgn-login-campo {
    width: 100%;
    margin-bottom: 17px;
}

.tgn-login-label {
    display: block;
    margin-bottom: 6px;

    color: #4a4339;
    font-size: .78rem;
    font-weight: 700;
}

.tgn-login-input-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.tgn-login-input-wrap > i {
    position: absolute;
    z-index: 2;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);

    color: #a1814d;
    font-size: .9rem;
    pointer-events: none;
}

.tgn-login-input,
.tgn-login-input.ui-inputfield,
.tgn-login-input.ui-password,
.tgn-login-input-wrap .ui-inputfield {
    width: 100% !important;
    min-height: 44px;
    padding-left: 38px !important;
    box-sizing: border-box;

    color: #34302b !important;
    background: #fff !important;
    border: 1px solid #d8cdbd !important;
    border-radius: 9px !important;

    box-shadow: none !important;
    font-size: .9rem;
}

.tgn-login-input:focus,
.tgn-login-input.ui-state-focus,
.tgn-login-input-wrap .ui-inputfield:focus {
    border-color: var(--tgn-dourado) !important;
    box-shadow: 0 0 0 3px rgba(199, 161, 90, .14) !important;
}

.tgn-login-acoes {
    padding-top: 4px;
    text-align: center;
}

.tgn-login-acdeoes .ui-button,
.tgn-login-acoes .ui-button {
    margin-bottom: 13px;
}

.tgn-login-esqueceu {
    display: inline-block;
    margin-top: 3px;

    color: #806137 !important;
    font-size: .78rem;
    font-weight: 600;
    text-decoration: none !important;
}

.tgn-login-esqueceu:hover {
    color: #5f4523 !important;
    text-decoration: underline !important;
}

.tgn-login-troca {
    display: flex;
    align-items: flex-start;
    gap: 9px;

    margin: 2px 0 17px;
    padding: 11px 12px;

    color: #66553b;
    background: #fbf6ec;
    border: 1px solid #eadbc0;
    border-radius: 9px;

    font-size: .78rem;
    line-height: 1.45;
}

.tgn-login-troca i {
    margin-top: 2px;
    color: var(--tgn-dourado-escuro);
}

.tgn-login-recuperacao {
    padding: 5px 3px 2px;
}

.tgn-login-dialogo .ui-dialog-content {
    padding: 1.3rem !important;
}

.tgn-status {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
}

@media (max-width: 768px) {

    .tgn-login-banner {
        width: calc(100% - 18px);
        margin-top: 9px;
        border-radius: 10px;
    }

    .tgn-login-pagina {
        padding: 18px 9px 30px;
    }

    .tgn-login-card {
        max-width: 100%;
        padding: 24px 18px 22px;
        border-radius: 12px;
    }

    .tgn-login-titulo {
        font-size: 1.3rem;
    }

    .tgn-login-dialogo {
        width: 94% !important;
    }
}

/* TGN - Pesquisa de votação. Adicionar ao final do tgn.css */

.tgn-pesquisa-topo,
.tgn-pesquisa-pagina {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
}

.tgn-pesquisa-topo { padding: 20px 18px 0; }
.tgn-pesquisa-banner { margin-bottom: 12px; }

.tgn-pesquisa-usuario {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid var(--tgn-borda);
    border-radius: 11px;
    box-shadow: 0 3px 12px rgba(51,43,31,.05);
}

.tgn-pesquisa-usuario-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.tgn-pesquisa-boas-vindas { color: var(--tgn-texto); font-size: .9rem; }
.tgn-pesquisa-empresa { color: var(--tgn-texto-secundario); font-size: .77rem; }

.tgn-pesquisa-sair.ui-button {
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0;
    color: #66594a !important;
    background: #f7f3eb !important;
    border: 1px solid #e8dcc8 !important;
    border-radius: 50% !important;
}

.tgn-pesquisa-pagina { padding: 22px 18px 40px; }

.tgn-pesquisa-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 17px;
    padding: 23px 25px;
    background: #fff;
    border: 1px solid var(--tgn-borda);
    border-top: 4px solid var(--tgn-dourado);
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(51,43,31,.06);
}

.tgn-pesquisa-titulo {
    display: block;
    color: var(--tgn-preto);
    font-size: 1.45rem;
    font-weight: 700;
}

.tgn-pesquisa-subtitulo {
    display: block;
    max-width: 680px;
    margin-top: 7px;
    color: var(--tgn-texto-secundario);
    font-size: .86rem;
    line-height: 1.5;
}

.tgn-pesquisa-regulamento.ui-button {
    flex: 0 0 auto;
    color: #66502c !important;
    background: #f7f0e4 !important;
    border: 1px solid #dfcda9 !important;
    border-radius: 9px !important;
    font-size: .8rem;
}

.tgn-pesquisa-instrucoes {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 17px;
    padding: 16px 18px;
    color: #655a49;
    background: #fbf8f2;
    border: 1px solid #eadfcd;
    border-radius: 11px;
}

.tgn-pesquisa-instrucoes-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    color: #816231;
    background: var(--tgn-dourado-claro);
    border-radius: 50%;
}

.tgn-pesquisa-instrucoes-titulo {
    display: block;
    margin-bottom: 3px;
    color: #4b4338;
    font-size: .83rem;
    font-weight: 700;
}

.tgn-pesquisa-instrucoes-texto {
    display: block;
    font-size: .79rem;
    line-height: 1.5;
}

.tgn-pesquisa-resumo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
    padding: 0 2px;
}

.tgn-pesquisa-resumo-label { color: var(--tgn-texto-secundario); font-size: .76rem; }

.tgn-pesquisa-resumo-valor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    margin-left: 7px;
    padding: 0 8px;
    color: #62491e;
    background: var(--tgn-dourado-claro);
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 700;
}

.tgn-pesquisa-legenda {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--tgn-texto-secundario);
    font-size: .72rem;
}

.tgn-pesquisa-legenda span { display: flex; align-items: center; gap: 5px; }
.tgn-status-pendente { color: #c9a15a; font-size: .5rem; }
.tgn-status-finalizado { color: #4b9270; }

.tgn-pesquisa-lista {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.tgn-pesquisa-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e5ded3;
    border-radius: 13px;
    box-shadow: 0 4px 15px rgba(51,43,31,.055);
}

.tgn-pesquisa-card-finalizado { border-color: #d6e6dc; }

.tgn-pesquisa-card-cabecalho {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 18px 20px;
    background: #faf8f4;
    border-bottom: 1px solid #ede7de;
}

.tgn-pesquisa-card-finalizado .tgn-pesquisa-card-cabecalho { background: #f7faf8; }

.tgn-pesquisa-card-numero {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 37px;
    width: 37px;
    height: 37px;
    color: #6b5023;
    background: var(--tgn-dourado-claro);
    border: 1px solid #dfcda9;
    border-radius: 10px;
    font-size: .85rem;
    font-weight: 700;
}

.tgn-pesquisa-card-finalizado .tgn-pesquisa-card-numero {
    color: #3e755a;
    background: #eaf4ee;
    border-color: #cfe2d6;
}

.tgn-pesquisa-card-titulo-area { flex: 1; min-width: 0; }

.tgn-pesquisa-card-etiqueta {
    display: block;
    margin-bottom: 2px;
    color: #9b7c48;
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tgn-pesquisa-card-titulo {
    display: block;
    color: var(--tgn-preto);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

.tgn-pesquisa-card-descricao {
    display: block;
    margin-top: 5px;
    color: var(--tgn-texto-secundario);
    font-size: .77rem;
    line-height: 1.45;
}

.tgn-pesquisa-card-status { flex: 0 0 auto; }

.tgn-pesquisa-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
}

.tgn-pesquisa-status-pendente {
    color: #826226;
    background: #faf2e4;
    border: 1px solid #ead7b6;
}

.tgn-pesquisa-status-ok {
    color: #3f7559;
    background: #edf7f1;
    border: 1px solid #d3e9dc;
}

.tgn-pesquisa-opcoes {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 13px;
    padding: 20px;
}

.tgn-pesquisa-campo { min-width: 0; }

.tgn-pesquisa-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
    color: #514a41;
    font-size: .76rem;
    font-weight: 700;
}

.tgn-posicao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 25px;
    height: 25px;
    border-radius: 7px;
    font-size: .68rem;
}

.tgn-posicao-1 { color: #74541f; background: #f3e5c9; }
.tgn-posicao-2 { color: #5f6265; background: #edf0f2; }
.tgn-posicao-3 { color: #785540; background: #f2e3db; }

.tgn-pesquisa-select.ui-selectonemenu,
.tgn-pesquisa-select {
    width: 100% !important;
    min-height: 42px;
    box-sizing: border-box;
    border-color: #d9cfc0 !important;
    border-radius: 8px !important;
}

.tgn-pesquisa-select.ui-selectonemenu .ui-selectonemenu-label {
    padding: .72rem .75rem;
    font-size: .8rem;
}

.tgn-pesquisa-selecionados {
    margin: 0 20px 18px;
    padding: 13px 15px;
    background: #faf8f5;
    border: 1px solid #ece5da;
    border-radius: 9px;
}

.tgn-pesquisa-selecionados-titulo {
    display: block;
    margin-bottom: 8px;
    color: #796342;
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.tgn-pesquisa-selecionados-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
}

.tgn-pesquisa-escolha {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    min-width: 0;
    color: #514c45;
    font-size: .76rem;
    line-height: 1.4;
}

.tgn-pesquisa-escolha strong { color: #9a7440; }

.tgn-pesquisa-card-rodape {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 13px 20px;
    background: #fcfbf9;
    border-top: 1px solid #eee8df;
}

.tgn-pesquisa-data { color: #8a8379; font-size: .69rem; }
.tgn-pesquisa-data i { margin-right: 5px; color: #aa8a57; }

.tgn-pesquisa-finalizar.ui-button { min-width: 180px; }

.tgn-botao-secundario.ui-button {
    min-height: 40px;
    color: #625a50 !important;
    background: #fff !important;
    border: 1px solid #d8d0c4 !important;
    border-radius: 9px !important;
    font-size: .8rem;
    font-weight: 700;
}

.tgn-pesquisa-dialogo-conteudo { padding: 8px 4px 2px; text-align: center; }

.tgn-pesquisa-dialogo-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 13px;
    color: #80612e;
    background: var(--tgn-dourado-claro);
    border-radius: 50%;
    font-size: 1.2rem;
}

.tgn-pesquisa-dialogo-titulo {
    display: block;
    color: var(--tgn-preto);
    font-size: 1.05rem;
    font-weight: 700;
}

.tgn-pesquisa-dialogo-categoria {
    display: block;
    margin-top: 4px;
    color: #8e6b34;
    font-size: .82rem;
    font-weight: 700;
}

.tgn-pesquisa-dialogo-texto {
    display: block;
    max-width: 390px;
    margin: 12px auto 20px;
    color: var(--tgn-texto-secundario);
    font-size: .78rem;
    line-height: 1.5;
}

.tgn-pesquisa-dialogo-acoes {
    display: flex;
    justify-content: center;
    gap: 9px;
}

.tgn-pesquisa-vazio {
    padding: 45px 20px;
    color: var(--tgn-texto-secundario);
    text-align: center;
    background: #fff;
    border: 1px solid var(--tgn-borda);
    border-radius: 13px;
}

.tgn-pesquisa-vazio > i {
    display: block;
    margin-bottom: 10px;
    color: #b69258;
    font-size: 1.6rem;
}

.tgn-pesquisa-vazio-titulo {
    display: block;
    margin-bottom: 4px;
    color: var(--tgn-preto);
    font-weight: 700;
}

.tgn-pesquisa-destaque-card {
    padding: 13px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--tgn-borda);
    border-radius: 10px;
}

.tgn-pesquisa-destaque-card img { max-width: 100%; height: auto; }

.tgn-pesquisa-destaque-nome {
    display: block;
    margin-top: 8px;
    color: var(--tgn-preto);
    font-size: .78rem;
    font-weight: 700;
}

.tgn-pesquisa-destaque-texto {
    display: block;
    margin-top: 5px;
    color: var(--tgn-texto-secundario);
    font-size: .7rem;
    line-height: 1.4;
}

@media (max-width:850px) {
    .tgn-pesquisa-opcoes { grid-template-columns: 1fr; }
    .tgn-pesquisa-selecionados-grid { grid-template-columns: 1fr; }
}

@media (max-width:650px) {
    .tgn-pesquisa-topo { padding: 9px 9px 0; }
    .tgn-pesquisa-pagina { padding: 14px 9px 28px; }
    .tgn-pesquisa-usuario { padding: 10px 12px; }

    .tgn-pesquisa-cabecalho {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px 16px;
    }

    .tgn-pesquisa-regulamento.ui-button { width: 100%; }

    .tgn-pesquisa-resumo {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }

    .tgn-pesquisa-card-cabecalho {
        position: relative;
        padding: 15px 14px;
    }

    .tgn-pesquisa-card-status {
        position: absolute;
        top: 12px;
        right: 12px;
    }

    .tgn-pesquisa-card-titulo-area { padding-right: 75px; }
    .tgn-pesquisa-opcoes { padding: 16px 14px; }
    .tgn-pesquisa-selecionados { margin: 0 14px 14px; }

    .tgn-pesquisa-card-rodape {
        align-items: stretch;
        flex-direction: column;
        padding: 12px 14px;
    }

    .tgn-pesquisa-finalizar.ui-button { width: 100%; }

    .tgn-pesquisa-dialogo-acoes { flex-direction: column-reverse; }
    .tgn-pesquisa-dialogo-acoes .ui-button { width: 100%; }
}

/* =========================================================
   TGN - PESQUISA COM UMA CATEGORIA POR VEZ
   ========================================================= */


/* ---------------------------------------------------------
   Navegação superior entre categorias
   --------------------------------------------------------- */

.tgn-navegacao-categorias {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;

    margin: 0 auto 10px;
    padding: 15px 18px;

    background: #ffffff;
    border: 1px solid var(--tgn-borda);
    border-radius: 12px;

    box-shadow: 0 3px 12px rgba(51, 43, 31, .05);
}


/* Botão padrão da categoria */
.tgn-cat-btn.ui-button {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;

    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;

    font-size: .78rem !important;
    font-weight: 700 !important;

    box-shadow: none !important;

    transition:
        transform .15s ease,
        background-color .15s ease,
        border-color .15s ease;
}

/* PrimeFaces coloca o texto dentro deste span */
.tgn-cat-btn.ui-button .ui-button-text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    line-height: 1 !important;
}

.tgn-cat-btn.ui-button:hover {
    transform: translateY(-1px);
}

.tgn-navegacao-categorias .ui-button-text-only .ui-button-text {
    padding: 0 !important;
}


/* Categoria ainda não preenchida/finalizada */
.tgn-cat-pendente.ui-button {
    color: #765a2c !important;

    background: #faf5eb !important;

    border: 1px solid #dfcda9 !important;
}

.tgn-cat-pendente.ui-button:hover {
    color: #62481e !important;

    background: #f3e7d1 !important;

    border-color: #c9a15a !important;
}


/* Categoria já finalizada */
.tgn-cat-finalizada.ui-button {
    position: relative;

    color: #3d7257 !important;

    background: #edf7f1 !important;

    border: 1px solid #c9e1d3 !important;
}

.tgn-cat-finalizada.ui-button:hover {
    background: #e2f1e8 !important;

    border-color: #9bc4aa !important;
}


/* Pequeno indicador visual de concluído */
.tgn-cat-finalizada.ui-button::after {
    content: "✓";

    position: absolute;
    top: -5px;
    right: -4px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 15px;
    height: 15px;

    color: #ffffff;

    background: #4b9270;

    border: 2px solid #ffffff;
    border-radius: 50%;

    font-size: 8px;
    font-weight: bold;
}


/* Categoria atualmente aberta */
.tgn-cat-atual.ui-button {
    position: relative;

    color: #ffffff !important;

    background: #a67b39 !important;

    border: 1px solid #a67b39 !important;

    box-shadow: 0 3px 9px rgba(166, 123, 57, .25) !important;
}

.tgn-cat-atual.ui-button:hover {
    background: #926a2f !important;

    border-color: #926a2f !important;
}


/* Marca abaixo da categoria atual */
.tgn-cat-atual.ui-button::before {
    content: "";

    position: absolute;
    left: 50%;
    bottom: -8px;

    width: 5px;
    height: 5px;

    background: #a67b39;

    border-radius: 50%;

    transform: translateX(-50%);
}


/* ---------------------------------------------------------
   Legenda abaixo dos números
   --------------------------------------------------------- */

.tgn-pesquisa-legenda-central {
    justify-content: center;

    margin: 0 0 18px;

    padding: 3px 0;
}

.tgn-status-atual {
    color: #a67b39;

    font-size: .5rem;
}


/* ---------------------------------------------------------
   Formulário da categoria
   --------------------------------------------------------- */

.tgn-pesquisa-orientacao {
    padding: 15px 20px 0;

    color: #665e54;

    font-size: .8rem;
    line-height: 1.45;
}


/*
 * No modelo anterior os 3 selects ficavam lado a lado.
 * Aqui ficam um abaixo do outro.
 */
.tgn-pesquisa-opcoes-coluna {
    display: flex !important;
    flex-direction: column;

    gap: 16px;

    max-width: 720px;

    margin: 0 auto;

    padding: 20px;
}


/* Dá mais destaque aos selects */
.tgn-pesquisa-opcoes-coluna .tgn-pesquisa-select {
    width: 100% !important;
}


/* Campo completo */
.tgn-pesquisa-opcoes-coluna .tgn-pesquisa-campo {
    width: 100%;
}


/* ---------------------------------------------------------
   Lista "Selecionados"
   --------------------------------------------------------- */

.tgn-pesquisa-selecionados-coluna {
    display: flex !important;
    flex-direction: column;

    gap: 7px;
}


/*
 * Mantém o resumo com largura semelhante ao formulário
 */
.tgn-pesquisa-opcoes-coluna + .tgn-pesquisa-selecionados {
    max-width: 690px;

    margin-left: auto;
    margin-right: auto;
}


/* ---------------------------------------------------------
   Anterior / Próxima
   --------------------------------------------------------- */

.tgn-pesquisa-navegacao-inferior {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    margin-top: 16px;

    padding: 0 4px;
}


.tgn-pesquisa-navegacao-inferior .ui-button {
    min-width: 135px;
}


/* Botão desabilitado */
.tgn-pesquisa-navegacao-inferior .ui-button.ui-state-disabled {
    opacity: .45;
}


/* ---------------------------------------------------------
   Ajustes do card quando finalizado
   --------------------------------------------------------- */

.tgn-pesquisa-card-finalizado {
    border-color: #cfe2d6;
}


.tgn-pesquisa-card-finalizado .tgn-pesquisa-orientacao {
    color: #6f7e74;

    background: #fafcfb;
}


/*
 * Select desabilitado após finalizar.
 * Mantém legibilidade sem parecer um campo quebrado.
 */
.tgn-pesquisa-card-finalizado .ui-selectonemenu.ui-state-disabled {
    opacity: 1;

    background: #f7f8f7 !important;

    border-color: #dde4df !important;
}


.tgn-pesquisa-card-finalizado
.ui-selectonemenu.ui-state-disabled
.ui-selectonemenu-label {
    color: #5d665f !important;
}


/* ---------------------------------------------------------
   Melhorias no painel aberto do selectOneMenu
   --------------------------------------------------------- */

.ui-selectonemenu-panel .ui-selectonemenu-filter-container {
    width: 100%;

    padding: 8px;

    box-sizing: border-box;
}


.ui-selectonemenu-panel .ui-selectonemenu-filter {
    width: 100%;

    box-sizing: border-box;
}


.ui-selectonemenu-panel .ui-selectonemenu-items-wrapper {
    max-height: 280px;
}


.ui-selectonemenu-panel .ui-selectonemenu-item {
    padding: 9px 10px;

    font-size: .78rem;
}


/* ---------------------------------------------------------
   Responsividade
   --------------------------------------------------------- */

@media (max-width: 700px) {

    .tgn-navegacao-categorias {
        gap: 7px;

        padding: 13px 10px;
    }


    .tgn-cat-btn.ui-button {
        width: 35px;
        min-width: 35px;
        height: 35px;
    }


    .tgn-pesquisa-opcoes-coluna {
        max-width: none;

        padding: 16px 14px;
    }


    .tgn-pesquisa-opcoes-coluna
    + .tgn-pesquisa-selecionados {
        max-width: none;

        margin-left: 14px;
        margin-right: 14px;
    }


    .tgn-pesquisa-navegacao-inferior {
        padding: 0;
    }

}


@media (max-width: 480px) {

    .tgn-navegacao-categorias {
        justify-content: flex-start;
    }


    .tgn-pesquisa-legenda-central {
        flex-wrap: wrap;

        gap: 10px;
    }


    .tgn-pesquisa-navegacao-inferior {
        gap: 8px;
    }


    .tgn-pesquisa-navegacao-inferior .ui-button {
        flex: 1;

        min-width: 0;
    }

}

/* =========================================================
   TGN - GUIA DE VOTAÇÃO
   ========================================================= */

.tgn-pesquisa-guia {
    margin-bottom: 16px;
    padding: 18px 20px;

    background: linear-gradient(
        135deg,
        #1a1917 0%,
        #24211d 100%
    );

    border: 1px solid #3b342a;
    border-left: 4px solid var(--tgn-dourado);
    border-radius: 12px;

    box-shadow: 0 5px 16px rgba(29, 25, 20, .10);
}

.tgn-pesquisa-guia-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    margin-bottom: 12px;
}

.tgn-pesquisa-guia-etiqueta {
    display: block;
    margin-bottom: 4px;

    color: #d2a956;

    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.tgn-pesquisa-guia-titulo {
    display: block;

    color: #ffffff;

    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

.tgn-pesquisa-guia-destaque {
    flex: 0 0 auto;

    padding: 7px 11px;

    color: #f1d18f;
    background: rgba(199, 161, 90, .12);

    border: 1px solid rgba(199, 161, 90, .32);
    border-radius: 8px;

    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}

.tgn-pesquisa-guia-texto {
    margin-bottom: 14px;

    color: #d5d0c8;

    font-size: .78rem;
    line-height: 1.5;
}

.tgn-pesquisa-criterios {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.tgn-pesquisa-criterio {
    display: flex;
    align-items: center;
    gap: 9px;

    min-height: 58px;
    padding: 10px 12px;

    color: #ece8e2;
    background: rgba(255, 255, 255, .045);

    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 9px;

    font-size: .7rem;
    line-height: 1.4;
}

.tgn-pesquisa-criterio i {
    flex: 0 0 auto;

    color: #d1a54e;

    font-size: 1rem;
}

@media (max-width: 850px) {

    .tgn-pesquisa-criterios {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 550px) {

    .tgn-pesquisa-guia {
        padding: 15px 14px;
    }

    .tgn-pesquisa-guia-topo {
        align-items: flex-start;
        flex-direction: column;

        gap: 8px;
    }

    .tgn-pesquisa-guia-destaque {
        white-space: normal;
    }

    .tgn-pesquisa-criterios {
        grid-template-columns: 1fr;
    }

}

.tgn-pesquisa-progresso {
    margin-bottom: 14px;
    padding: 14px 16px;

    background: #ffffff;
    border: 1px solid #e5ddd2;
    border-radius: 11px;

    box-shadow: 0 3px 12px rgba(51, 43, 31, .045);
}

.tgn-pesquisa-progresso-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 10px;
}

.tgn-pesquisa-progresso-categoria {
    display: block;

    margin-top: 3px;

    color: #302c27;

    font-size: .95rem;
    font-weight: 700;
}

.tgn-pesquisa-progresso-status {
    text-align: right;
}

.tgn-pesquisa-progresso-status strong {
    display: block;

    color: #9b7336;

    font-size: 1rem;
}

.tgn-pesquisa-progresso-status span {
    display: block;

    margin-top: 2px;

    color: #7d766d;

    font-size: .68rem;
}

.tgn-progresso-barra.ui-progressbar {
    height: 8px !important;

    margin-top: 2px;

    overflow: hidden;

    background: #eee8df !important;

    border: 0 !important;
    border-radius: 999px !important;
}

.tgn-progresso-barra.ui-progressbar .ui-progressbar-value {
    height: 100% !important;

    background: linear-gradient(
        90deg,
        #a87d3d,
        #d0aa63
    ) !important;

    border: 0 !important;
    border-radius: 999px !important;
}

.tgn-progresso-barra .ui-progressbar-label {
    display: none !important;
}

@media (max-width: 550px) {

    .tgn-pesquisa-progresso-topo {
        align-items: flex-start;
        flex-direction: column;

        gap: 7px;
    }

    .tgn-pesquisa-progresso-status {
        text-align: left;
    }
}

.tgn-dialogo-gerentes .ui-dialog-content {
    padding: 18px !important;
}

.tgn-gerentes-grid.ui-datagrid {
    border: 0;
    background: transparent;
}

.tgn-gerentes-grid .ui-datagrid-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.tgn-gerentes-grid .ui-datagrid-column {
    padding: 7px !important;
    vertical-align: top;
}

.tgn-gerente-card {
    height: 100%;
    padding: 14px;

    text-align: center;

    background: #ffffff;

    border: 1px solid #e4ddd2;
    border-top: 3px solid #c7a15a;
    border-radius: 11px;

    box-shadow: 0 4px 14px rgba(46, 39, 31, .06);
}

.tgn-gerente-foto {
    width: 100%;
    max-width: 180px;
    margin: 0 auto 11px;

    overflow: hidden;

    border-radius: 10px;

    background: #f5f3ef;
}

.tgn-gerente-foto img {
    display: block;

    width: 100% !important;
    height: auto !important;
}

.tgn-gerente-empresa {
    display: block;

    color: #302d29;

    font-size: .82rem;
    font-weight: 700;
}

.tgn-gerente-depoimento {
    display: block;

    margin-top: 6px;

    color: #756f67;

    font-size: .72rem;
    line-height: 1.45;
}

.tgn-gerentes-acao {
    max-width: 720px;

    margin: -5px auto 18px;

    text-align: right;
}

@media (max-width: 700px) {

    .tgn-gerentes-grid .ui-datagrid-column {
        display: block;
        width: 100% !important;
    }

    .tgn-gerente-foto {
        max-width: 150px;
    }
}

.tgn-gerentes-acao {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    margin: 0 20px 18px;
    padding: 13px 15px;

    background: #faf6ed;

    border: 1px solid #e7d9c0;
    border-left: 4px solid #c7a15a;
    border-radius: 9px;
}

.tgn-gerentes-acao-info {
    display: flex;
    align-items: center;
    gap: 11px;

    min-width: 0;
}

.tgn-gerentes-acao-info > i {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    color: #8a672f;
    background: #f1e2c6;

    border-radius: 50%;

    font-size: 1rem;
}

.tgn-gerentes-acao-titulo {
    display: block;

    color: #443c32;

    font-size: .78rem;
    font-weight: 700;
}

.tgn-gerentes-acao-texto {
    display: block;

    margin-top: 3px;

    color: #776d61;

    font-size: .7rem;
    line-height: 1.4;
}

.tgn-gerentes-botao.ui-button {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 600px) {

    .tgn-gerentes-acao {
        align-items: stretch;
        flex-direction: column;

        margin-left: 14px;
        margin-right: 14px;
    }

    .tgn-gerentes-botao.ui-button {
        width: 100%;
    }
}

/* =========================================================
   GERENTES DIRETAMENTE NA CATEGORIA
   ========================================================= */

.tgn-gerentes-inline {
    max-width: 720px;

    margin: 0 auto 18px;
    padding: 15px;

    background: #faf8f4;

    border: 1px solid #e7ddce;
    border-left: 4px solid var(--tgn-dourado);
    border-radius: 10px;
}


.tgn-gerentes-inline-header {
    margin-bottom: 13px;
    padding-bottom: 11px;

    border-bottom: 1px solid #e9e0d4;
}


.tgn-gerentes-inline-grid {
    margin-top: 5px;
}


.tgn-gerentes-inline-grid .ui-datagrid-content {
    background: transparent !important;
}


/* um pouco menores quando aparecem dentro da votação */

.tgn-gerentes-inline .tgn-gerente-card {
    padding: 11px;
}


.tgn-gerentes-inline .tgn-gerente-foto {
    max-width: 150px;
}


/* Estado sem seleção */

.tgn-gerentes-vazio {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 70px;
    padding: 12px;

    color: #80776d;

    background: #ffffff;

    border: 1px dashed #ddd1be;
    border-radius: 8px;

    font-size: .73rem;
}


.tgn-gerentes-vazio i {
    color: var(--tgn-dourado-escuro);

    font-size: 1rem;
}


@media (max-width: 700px) {

    .tgn-gerentes-inline {
        margin-left: 14px;
        margin-right: 14px;
    }

}

/* =========================================================
   CONSULTA DE INDICADOS - CABEÇALHO DO CARD
   ========================================================= */

.tgn-card-cabecalho-acoes {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;

    margin-bottom: 18px;
}

.tgn-card-cabecalho-texto {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

.tgn-card-cabecalho-texto .tgn-card-titulo {
    margin-bottom: 4px;
}

.tgn-btn-votantes.ui-button {
    flex: 0 0 auto;

    min-width: 210px;

    white-space: nowrap;
}

@media (max-width: 700px) {

    .tgn-card-cabecalho-acoes {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .tgn-btn-votantes.ui-button {
        width: 100% !important;
        min-width: 0;
    }
}
