*{box-sizing:border-box}
:root{--yellow:#f2c300;--black:#111;--green:#007255;--orange:#ff7900}
body{margin:0;background:#f4f4f4;color:#14202b;font-family:Arial,Helvetica,sans-serif}
.wrap{max-width:1280px;margin:auto}
.topbar{background:linear-gradient(135deg,#111,#242424);color:#fff;border-bottom:6px solid var(--yellow);padding:22px 24px}
.header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:18px}.logo{max-height:74px;max-width:210px;object-fit:contain}.title h1{margin:0;font-size:30px;text-transform:uppercase}.title p{margin:7px 0 0;color:#ddd;font-size:14px}.badge-live{background:var(--yellow);color:#111;border-radius:999px;padding:10px 14px;font-weight:900}
.nav{background:#fff;border-bottom:1px solid #ddd;box-shadow:0 2px 10px rgba(0,0,0,.04)}.nav-inner{display:flex}.nav-item{padding:18px 28px;font-weight:900;text-transform:uppercase;border-right:1px solid #eee;cursor:pointer}.nav-item.active{border-bottom:4px solid var(--yellow)}

/* V8.4: letreiro do pódio */
.podio-ticker{background:#111;border-bottom:3px solid var(--yellow);overflow:hidden;overflow-x:hidden!important;white-space:nowrap;position:relative;width:100%;box-sizing:border-box;}
.podio-ticker-track{display:inline-flex;align-items:center;padding:9px 0;animation:podio-scroll-v84 65s linear infinite!important;will-change:transform;}
.podio-ticker:hover .podio-ticker-track{animation-play-state:paused;}
.podio-item{color:#fff;font-weight:800;font-size:13px;letter-spacing:.02em;padding:0 28px;flex-shrink:0;}
.podio-item b{color:var(--yellow);}
@keyframes podio-scroll-v84{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* V8.9: removida a condição de prefers-reduced-motion daqui de propósito -
   o letreiro agora sempre anima, independente da configuração do sistema. */
.main{max-width:1280px;margin:20px auto;padding:0 16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat{background:#fff;border-radius:16px;padding:17px;border:1px solid #e5e5e5;box-shadow:0 2px 14px rgba(0,0,0,.05)}.stat strong{display:block;font-size:30px}.stat span{color:#68727c;font-weight:700;text-transform:uppercase;font-size:12px}.stat.yellow{background:linear-gradient(135deg,var(--yellow),#ffd93b);border:0}
.panel{background:#fff;border-radius:16px;border:1px solid #e5e5e5;box-shadow:0 2px 14px rgba(0,0,0,.05);padding:18px;margin-bottom:16px}.mod-title small{color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.tabs{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}

/* V8.0: cápsulas de Modalidade com selo circular sobreposto à esquerda */
.tabs-v80{align-items:stretch;}
.tab{
    position:relative;
    display:flex;align-items:center;gap:0;
    min-width:236px;
    border:0;background:#eef0ef;
    padding:10px 20px 10px 54px;
    border-radius:999px;
    cursor:pointer;text-align:left;
    box-shadow:0 3px 10px rgba(17,17,17,.06);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.tab:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(17,17,17,.12);}
.tab:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;}

.tab-badge{
    position:absolute;left:-2px;top:50%;transform:translateY(-50%);
    flex-shrink:0;width:52px;height:52px;border-radius:50%;
    background:#111;color:var(--yellow);
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:14px;letter-spacing:-.02em;
    border:3px solid #fff;
    box-shadow:0 6px 14px rgba(17,17,17,.22);
}
.tab-badge small{font-size:9px;font-weight:800;margin-left:1px;}

.tab-info{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;}
.tab-name{font-weight:900;text-transform:uppercase;font-size:12.5px;letter-spacing:.03em;color:#161616;display:flex;align-items:center;gap:6px;white-space:normal;word-break:break-word;}
.tab-pcd{font-style:normal;font-size:9px;font-weight:900;background:#fff;color:#161616;padding:2px 6px;border-radius:999px;letter-spacing:.03em;}
.tab-meta{font-size:11px;color:#6b6f6c;font-weight:700;display:flex;align-items:center;gap:5px;}
.tab-meta strong{color:#161616;font-weight:900;font-size:12px;}
.tab-meta b{color:#161616;font-weight:900;margin-left:auto;}
.tab-track{height:4px;border-radius:999px;background:rgba(17,17,17,.12);overflow:hidden;}
.tab-track i{display:block;height:100%;border-radius:999px;background:#161616;}

/* cores suaves por modalidade (inativa) - 4 tons alternados */
.tab.tab-c0{background:#e3f5ef;} .tab.tab-c0 .tab-badge{background:#12836c;color:#fff;} .tab.tab-c0 .tab-meta b{color:#12836c;}
.tab.tab-c1{background:#fff3d4;} .tab.tab-c1 .tab-badge{background:#c99400;color:#fff;} .tab.tab-c1 .tab-meta b{color:#c99400;}
.tab.tab-c2{background:#ffe8da;} .tab.tab-c2 .tab-badge{background:var(--orange);color:#fff;} .tab.tab-c2 .tab-meta b{color:var(--orange);}
.tab.tab-c3{background:#fbe4ec;} .tab.tab-c3 .tab-badge{background:#c14a76;color:#fff;} .tab.tab-c3 .tab-meta b{color:#c14a76;}

/* estado ativo: sempre preto + dourado, independente da cor da modalidade */
.tab.active{background:#111;box-shadow:0 12px 28px rgba(17,17,17,.3);}
.tab.active .tab-badge{background:var(--yellow);color:#111;border-color:#111;}
.tab.active .tab-name{color:#fff;}
.tab.active .tab-pcd{background:var(--yellow);color:#111;}
.tab.active .tab-meta{color:#c9c9c9;}
.tab.active .tab-meta strong{color:#fff;}
.tab.active .tab-meta b{color:var(--yellow)!important;}
.tab.active .tab-track{background:rgba(255,255,255,.18);}
.tab.active .tab-track i{background:var(--yellow);}
.tab.geral-tab{background:linear-gradient(135deg,#222,#000);color:#fff;border-color:#111;}
.tab.geral-tab strong{color:#f2c300;}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px}input,select{height:44px;border:1px solid #d7d7d7;border-radius:8px;padding:0 12px;font-size:14px}.btn{height:44px;border:0;border-radius:8px;background:#111;color:#fff;padding:0 14px;font-weight:900;cursor:pointer}.btn.gray{background:#efefef;color:#111}
.view{display:none}.view.active{display:block}.tablebox{background:#fff;border:1px solid #e0e0e0;border-radius:16px;overflow:auto;box-shadow:0 2px 14px rgba(0,0,0,.05)}table{width:100%;border-collapse:collapse;min-width:1120px}th{background:#fff;color:var(--green);text-transform:uppercase;font-size:12px;padding:13px 10px;text-align:left;border-bottom:2px solid #eee}td{padding:11px 10px;font-size:14px;border-bottom:1px solid #efefef;color:#006b51}tbody tr.row-alt{background:#d7d7d7}tbody tr:hover{background:#fff0b3;cursor:pointer}.pos{color:var(--orange);font-weight:900}.nome{font-weight:800}.time{font-family:Consolas,monospace;color:var(--orange);font-weight:900;font-size:16px}.pill{border:1px solid #006b51;border-radius:4px;padding:2px 6px;background:#fff;color:#006b51;font-weight:900}.footer{text-align:right;color:#777;font-size:12px;padding:12px 18px}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:99;align-items:center;justify-content:center;padding:24px}.modal.open{display:flex}
.cert{position:relative;width:min(1122px,95vw);aspect-ratio:297/210;background-size:100% 100%;background-position:center;background-repeat:no-repeat;border-radius:12px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.45);border:4px solid #555;font-family:Arial,Helvetica,sans-serif}
.cert-close{position:absolute;top:16px;left:16px;border:0;background:#111;color:#fff;width:44px;height:44px;border-radius:50%;font-size:25px;cursor:pointer;z-index:20}.cert-actions{position:absolute;top:16px;right:16px;display:flex;gap:8px;z-index:20}
.cert-name{position:absolute;top:40.7%;left:18.5%;right:18.5%;text-align:center;font-size:clamp(22px,3.2vw,44px);line-height:1;font-weight:950;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#07142f}
.cert-event{position:absolute;top:54.4%;left:24%;right:24%;text-align:center;font-size:clamp(12px,1.35vw,19px);line-height:1;font-weight:900;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#005f86}
.cert-value{position:absolute;top:69.55%;width:12.2%;text-align:center;font-size:clamp(15px,1.65vw,23px);line-height:1;font-weight:950;color:#07142f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:5}.cert-liquido{left:17.7%}.cert-bruto{left:30.9%}.cert-pace{left:44.05%}.cert-pos{left:57.3%}.cert-catpos{left:70.45%}
.cert-small{position:absolute;bottom:10.85%;text-align:left;font-size:clamp(8px,0.9vw,13px);line-height:1;font-weight:900;color:#07142f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:5}.cert-modalidade{left:35.6%;width:20.5%}.cert-data{left:60%;width:13.5%;font-size:clamp(7px,0.7vw,10px)}
@page{size:A4 landscape;margin:0}
@media print{html,body{width:297mm;height:210mm;margin:0;padding:0;overflow:hidden;background:#fff}body *{display:none!important;visibility:hidden!important}#printCertOnly,#printCertOnly *{display:block!important;visibility:visible!important}#printCertOnly{position:fixed;left:0;top:0;width:297mm;height:210mm;margin:0;padding:0;overflow:hidden;background:#fff}#printCertOnly .cert{position:fixed;left:0;top:0;width:297mm;height:210mm;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;background-size:100% 100%;background-repeat:no-repeat}.cert-close,.cert-actions{display:none!important;visibility:hidden!important}}
@media(max-width:850px){.header{align-items:flex-start;flex-direction:column}.title h1{font-size:23px}.stats{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.nav-item{padding:14px 18px}}


/* ===== v4.1 - AJUSTE FINO CERTIFICADO PELO PRINT ATUAL ===== */

/* Mantém proporção A4 paisagem no modal */
.cert{
    width:min(1122px,95vw)!important;
    aspect-ratio:297/210!important;
    background-size:100% 100%!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
}

/* Nome do atleta: desce, reduz e nunca quebra linha */
.cert-name{
    top:38.9%!important;
    left:18.5%!important;
    right:18.5%!important;
    font-size:clamp(20px,3.0vw,40px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

/* Nome do evento: abaixo da linha amarela */
.cert-event{
    top:53.7%!important;
    left:25%!important;
    right:25%!important;
    font-size:clamp(11px,1.25vw,17px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

/* Valores centralizados dentro dos boxes */
.cert-value{
    top:70.2%!important;
    width:12.2%!important;
    font-size:clamp(14px,1.55vw,21px)!important;
    line-height:1!important;
}
.cert-liquido{left:17.7%!important;}
.cert-bruto{left:30.9%!important;}
.cert-pace{left:44.05%!important;}
.cert-pos{left:57.3%!important;}
.cert-catpos{left:70.45%!important;}

/* Modalidade e data sobem para dentro do box inferior */
.cert-small{
    bottom:11.65%!important;
    font-size:clamp(7px,0.72vw,10px)!important;
    line-height:1!important;
}
.cert-modalidade{
    left:35.3%!important;
    width:20.8%!important;
    font-size:clamp(8px,0.9vw,12px)!important;
}
.cert-data{
    left:60.2%!important;
    width:12.8%!important;
    font-size:clamp(6px,0.62vw,9px)!important;
}

/* Impressão: força 1 folha A4 deitada */
@page{
    size:A4 landscape;
    margin:0;
}
@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }
    body *{
        display:none!important;
        visibility:hidden!important;
    }
    #printCertOnly,
    #printCertOnly *{
        display:block!important;
        visibility:visible!important;
    }
    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }
    #printCertOnly .cert{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        max-width:none!important;
        max-height:none!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        background-size:100% 100%!important;
        background-repeat:no-repeat!important;
    }
    #printCertOnly .cert-close,
    #printCertOnly .cert-actions{
        display:none!important;
        visibility:hidden!important;
    }
}


/* ===== v4.2 - AJUSTES SOLICITADOS PELO USUÁRIO ===== */

/*
1) Descer o nome do atleta e o nome da corrida aproximadamente 2,5 linhas.
2) Descer as informações dos resultados aproximadamente 1,5 linhas.
3) Subir a modalidade e a data da corrida.
*/

.cert-name{
    top:43.5%!important;
    left:18.5%!important;
    right:18.5%!important;
    font-size:clamp(20px,3.0vw,40px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

.cert-event{
    top:58.5%!important;
    left:24%!important;
    right:24%!important;
    font-size:clamp(11px,1.25vw,17px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

/* Resultados: tempo líquido, tempo total, pace, pos geral e pos cat */
.cert-value{
    top:74.5%!important;
    width:12.2%!important;
    font-size:clamp(14px,1.55vw,21px)!important;
    line-height:1!important;
}

.cert-liquido{left:17.7%!important;}
.cert-bruto{left:30.9%!important;}
.cert-pace{left:44.05%!important;}
.cert-pos{left:57.3%!important;}
.cert-catpos{left:70.45%!important;}

/* Modalidade e Data: subir */
.cert-small{
    bottom:15.5%!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

.cert-modalidade{
    left:35.3%!important;
    width:20.8%!important;
    bottom:15.5%!important;
    font-size:clamp(8px,0.9vw,12px)!important;
}

.cert-data{
    left:60.2%!important;
    width:12.8%!important;
    bottom:15.5%!important;
    font-size:clamp(6px,0.62vw,9px)!important;
}

/* Impressão: apenas 1 folha A4 paisagem */
@page{
    size:A4 landscape;
    margin:0;
}

@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    body *{
        display:none!important;
        visibility:hidden!important;
    }

    #printCertOnly,
    #printCertOnly *{
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    #printCertOnly .cert{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        max-width:none!important;
        max-height:none!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        background-size:100% 100%!important;
        background-repeat:no-repeat!important;
    }

    #printCertOnly .cert-close,
    #printCertOnly .cert-actions{
        display:none!important;
        visibility:hidden!important;
    }
}


/* ===== v4.3 - AJUSTES FINAIS DO CERTIFICADO ===== */

/*
Base solicitada:
1) Descer nome do atleta e nome da corrida 1,5 linhas.
2) Descer informações dos resultados 1 linha.
3) Descer modalidade e data 1 linha.
4) Data com o mesmo tamanho da fonte da modalidade.
*/

.cert-name{
    top:46.2%!important;
    left:18.5%!important;
    right:18.5%!important;
    font-size:clamp(20px,3.0vw,40px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

.cert-event{
    top:61.2%!important;
    left:24%!important;
    right:24%!important;
    font-size:clamp(11px,1.25vw,17px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

/* Tempo Líquido, Tempo Total, Pace, Pos Geral e Pos Cat */
.cert-value{
    top:77.0%!important;
    width:12.2%!important;
    font-size:clamp(14px,1.55vw,21px)!important;
    line-height:1!important;
}

.cert-liquido{left:17.7%!important;}
.cert-bruto{left:30.9%!important;}
.cert-pace{left:44.05%!important;}
.cert-pos{left:57.3%!important;}
.cert-catpos{left:70.45%!important;}

/* Modalidade e Data descem 1 linha */
.cert-small{
    bottom:12.7%!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

.cert-modalidade{
    left:35.3%!important;
    width:20.8%!important;
    bottom:12.7%!important;
    font-size:clamp(8px,0.9vw,12px)!important;
}

.cert-data{
    left:60.2%!important;
    width:12.8%!important;
    bottom:12.7%!important;
    font-size:clamp(8px,0.9vw,12px)!important;
}

/* Impressão: apenas 1 folha A4 paisagem */
@page{
    size:A4 landscape;
    margin:0;
}

@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    body *{
        display:none!important;
        visibility:hidden!important;
    }

    #printCertOnly,
    #printCertOnly *{
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    #printCertOnly .cert{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        max-width:none!important;
        max-height:none!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        background-size:100% 100%!important;
        background-repeat:no-repeat!important;
    }

    #printCertOnly .cert-close,
    #printCertOnly .cert-actions{
        display:none!important;
        visibility:hidden!important;
    }
}


/* ===== v4.4 - AJUSTES FINAIS ===== */

/*
1) Descer o Nome do atleta 1 linha.
2) Subir informações dos resultados da corrida 1 linha.
*/

.cert-name{
    top:48.0%!important;
    left:18.5%!important;
    right:18.5%!important;
    font-size:clamp(20px,3.0vw,40px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

/* Tempo Líquido, Tempo Total, Pace, Pos Geral e Pos Cat */
.cert-value{
    top:74.5%!important;
    width:12.2%!important;
    font-size:clamp(14px,1.55vw,21px)!important;
    line-height:1!important;
}

.cert-liquido{left:17.7%!important;}
.cert-bruto{left:30.9%!important;}
.cert-pace{left:44.05%!important;}
.cert-pos{left:57.3%!important;}
.cert-catpos{left:70.45%!important;}

/* Mantém impressão em 1 folha A4 paisagem */
@page{
    size:A4 landscape;
    margin:0;
}

@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    body *{
        display:none!important;
        visibility:hidden!important;
    }

    #printCertOnly,
    #printCertOnly *{
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    #printCertOnly .cert{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        max-width:none!important;
        max-height:none!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        background-size:100% 100%!important;
        background-repeat:no-repeat!important;
    }

    #printCertOnly .cert-close,
    #printCertOnly .cert-actions{
        display:none!important;
        visibility:hidden!important;
    }
}

/* V4.5 fundo por IMG */
.cert{background:none !important;position:relative!important;}
.cert-bg{
position:absolute!important;
left:0!important;top:0!important;
width:100%!important;height:100%!important;
object-fit:fill!important;
z-index:1!important;
display:block!important;
}
.cert-name,.cert-event,.cert-value,.cert-small,.cert-close,.cert-actions{z-index:5!important;}
@media print{
.cert-bg{
display:block!important;
visibility:visible!important;
-webkit-print-color-adjust:exact!important;
print-color-adjust:exact!important;
}
}


/* ===== v4.6 - FUNDO DO CERTIFICADO COMO IMG REAL ===== */
.cert{
    background-image:none!important;
}

.cert-bg{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    z-index:1!important;
    display:block!important;
}

.cert-name,
.cert-event,
.cert-value,
.cert-small,
.cert-close,
.cert-actions{
    z-index:5!important;
}

@media print{
    .cert-bg{
        position:absolute!important;
        left:0!important;
        top:0!important;
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
        display:block!important;
        visibility:visible!important;
    }
}


/* ===== v4.7 - VISUAL PREMIUM + FILTROS + GRÁFICOS ===== */

body{
    background:
        radial-gradient(circle at 18% 0%, rgba(242,195,0,.13), transparent 28%),
        linear-gradient(180deg,#f8f8f8,#eeeeee)!important;
}

.topbar{
    background:
        radial-gradient(circle at 85% 10%, rgba(242,195,0,.18), transparent 24%),
        linear-gradient(135deg,#080808,#1c1c1c 55%,#2b2b2b)!important;
}

.logo{filter:drop-shadow(0 8px 16px rgba(0,0,0,.35));}
.stat,.panel,.tablebox,.chart-card{box-shadow:0 18px 44px rgba(0,0,0,.08)!important;}

.filters{
    grid-template-columns:2fr 1.2fr 1fr auto!important;
    align-items:center;
}

.sex-filter{display:flex;gap:8px;height:44px;align-items:center;}

.sex-btn{
    height:44px;
    border:1px solid #ddd;
    background:linear-gradient(180deg,#fff,#f3f3f3);
    color:#111;
    border-radius:12px;
    padding:0 12px;
    display:flex;
    align-items:center;
    gap:7px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 6px 14px rgba(0,0,0,.06);
    transition:.18s ease;
}

.sex-btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(0,0,0,.12);}
.sex-btn.active{background:linear-gradient(135deg,#111,#333);color:#f2c300;border-color:#111;}
.sex-btn.male.active{color:#7fd2ff;}
.sex-btn.female.active{color:#ff91c8;}
.sex-icon{font-size:18px;line-height:1;}

.tab.geral-tab{background:linear-gradient(135deg,#222,#000);color:#fff;border-color:#111;}
.tab.geral-tab strong{color:#f2c300;}

.charts-panel{
    margin-top:18px;
    background:linear-gradient(135deg,#111,#242424);
    border-radius:20px;
    padding:22px;
    color:#fff;
    box-shadow:0 22px 60px rgba(0,0,0,.2);
    overflow:hidden;
    position:relative;
}

.charts-panel:before{
    content:"";
    position:absolute;
    right:-120px;
    top:-120px;
    width:300px;
    height:300px;
    border-radius:50%;
    background:rgba(242,195,0,.18);
    filter:blur(8px);
}

.charts-head{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
    margin-bottom:18px;
    position:relative;
    z-index:1;
}

.charts-head h2{margin:0;font-size:26px;text-transform:uppercase;letter-spacing:.02em;}
.charts-head p{margin:6px 0 0;color:#cfcfcf;}
.spark-badge{background:#f2c300;color:#111;padding:9px 13px;border-radius:999px;font-weight:950;white-space:nowrap;}

.chart-grid{
    display:grid;
    grid-template-columns:1fr 1.25fr;
    gap:16px;
    position:relative;
    z-index:1;
}

.chart-card{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    padding:18px;
    backdrop-filter:blur(6px);
}

.chart-card h3{margin:0 0 14px;color:#f2c300;text-transform:uppercase;font-size:15px;letter-spacing:.04em;}
.chart-card.wide{grid-column:1 / -1;}

.donut-wrap{display:flex;align-items:center;gap:18px;}
.donut{
    --male:50;
    --female:50;
    width:138px;
    height:138px;
    border-radius:50%;
    background:conic-gradient(#27a8ff 0 calc(var(--male)*1%), #ff4fab 0 calc((var(--male) + var(--female))*1%), rgba(255,255,255,.16) 0 100%);
    position:relative;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.15), 0 12px 30px rgba(0,0,0,.25);
}
.donut:after{content:"";position:absolute;inset:28px;border-radius:50%;background:#1b1b1b;}
.legend{display:grid;gap:10px;}
.legend div{display:flex;flex-direction:column;}
.legend b{font-size:30px;color:#fff;}
.legend span{color:#d8d8d8;font-weight:700;}

.barline{display:grid;grid-template-columns:230px 1fr 42px;gap:10px;align-items:center;margin:11px 0;color:#fff;}
.barline span{font-weight:800;overflow:hidden;white-space:normal;word-break:break-word;text-overflow:clip;line-height:1.15;}
.chart-note{margin-top:10px;font-size:11px;color:rgba(255,255,255,.55);font-weight:600;}
.bar{height:12px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden;}
.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f2c300,#fff1a3);}
.barline b{color:#f2c300;text-align:right;}

.cat-cloud{display:flex;flex-wrap:wrap;gap:10px;}
.cat-cloud span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);padding:9px 11px;border-radius:999px;font-weight:850;}
.cat-cloud b{color:#f2c300;margin-left:5px;}

.cert-actions .btn.pdf{background:linear-gradient(135deg,#f2c300,#ffdf54)!important;color:#111!important;}

.cert{background-image:none!important;}
.cert-bg{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    z-index:1!important;
    display:block!important;
}
.cert-name,.cert-event,.cert-value,.cert-small,.cert-close,.cert-actions{z-index:5!important;}

@page{size:A4 landscape;margin:0;}

@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    body *{display:none!important;visibility:hidden!important;}

    #printCertOnly,#printCertOnly *{display:block!important;visibility:visible!important;}

    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    #printCertOnly .cert{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        max-width:none!important;
        max-height:none!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        overflow:hidden!important;
    }

    #printCertOnly .cert-bg{
        position:absolute!important;
        left:0!important;
        top:0!important;
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly .cert-close,#printCertOnly .cert-actions{display:none!important;visibility:hidden!important;}
}

@media(max-width:900px){
    .filters{grid-template-columns:1fr!important;}
    .sex-filter{flex-wrap:wrap;height:auto;}
    .chart-grid{grid-template-columns:1fr;}
}


/* ===== v4.8 - FILTROS FUNCIONAIS + ÍCONES SEXO ===== */

.filters{
    grid-template-columns:2fr auto 1fr auto!important;
    align-items:center!important;
}

.sex-filter{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    flex-wrap:nowrap!important;
    min-height:50px!important;
}

.sex-btn{
    height:50px!important;
    border:1px solid #e1e1e1!important;
    background:#fff!important;
    color:#111!important;
    border-radius:999px!important;
    padding:5px 12px 5px 6px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    font-weight:900!important;
    cursor:pointer!important;
    box-shadow:0 8px 20px rgba(0,0,0,.08)!important;
    transition:.18s ease!important;
}

.sex-btn:hover{
    transform:translateY(-1px)!important;
    box-shadow:0 12px 26px rgba(0,0,0,.15)!important;
}

.sex-btn.active{
    background:linear-gradient(135deg,#111,#2b2b2b)!important;
    color:#f2c300!important;
    border-color:#111!important;
}

.sex-circle{
    width:40px!important;
    height:40px!important;
    border-radius:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 6px 0 rgba(0,0,0,.28), 0 10px 18px rgba(0,0,0,.18)!important;
    overflow:hidden!important;
    position:relative!important;
}

.sex-circle:after{
    content:"";
    position:absolute;
    right:-9px;
    bottom:-8px;
    width:34px;
    height:34px;
    background:rgba(0,0,0,.16);
    transform:rotate(45deg);
}

.sex-circle svg{
    width:30px!important;
    height:30px!important;
    fill:#fff!important;
    position:relative!important;
    z-index:2!important;
}

.sex-circle.female{
    background:linear-gradient(135deg,#ec1975,#ff2e91)!important;
}

.sex-circle.male{
    background:linear-gradient(135deg,#19b9db,#28d1ef)!important;
}

.sex-circle.all{
    background:linear-gradient(135deg,#f2c300,#ffde49)!important;
}

.sex-all{
    color:#111!important;
    font-size:20px!important;
    position:relative!important;
    z-index:2!important;
}

@media(max-width:900px){
    .filters{
        grid-template-columns:1fr!important;
    }
    .sex-filter{
        flex-wrap:wrap!important;
    }
}


/* ===== v4.9 - AJUSTE CLIQUES/FILTROS ===== */
button, .tab, .sex-btn, tbody tr{
    pointer-events:auto!important;
}

.sex-btn svg,
.sex-btn span{
    pointer-events:none!important;
}

.cert-actions{
    z-index:50!important;
}

.cert-close{
    z-index:60!important;
}


/* ===== v5.0 - COMPARTILHAR JPG + EVENTO MAIOR ===== */

.cert-event{
    font-size:clamp(15px,1.65vw,23px)!important;
    font-weight:950!important;
    letter-spacing:.01em!important;
}

.cert-actions .btn{
    min-width:104px;
}

.cert-actions .btn:disabled{
    opacity:.65;
    cursor:wait;
}


/* ===== V5.2 - ESTATÍSTICAS EXTRAS NO MORRO ANALYTICS ===== */
.v52-extra{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-top:18px}
.analytics-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:18px;box-shadow:0 18px 42px rgba(0,0,0,.18)}
.analytics-card h3{margin:0 0 14px;color:#f2c300;text-transform:uppercase;font-size:15px;letter-spacing:.035em}
.age-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.age-grid div{background:rgba(0,0,0,.20);border-radius:14px;padding:12px}
.age-grid span{display:block;color:#dcdcdc;font-size:12px;font-weight:800;text-transform:uppercase}
.age-grid b{display:block;color:#fff;margin-top:5px;font-size:14px}
.rank-line{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.10)}
.rank-line:last-child{border-bottom:0}
.rank-line span{font-size:28px}.rank-line b{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-line em{color:#f2c300;font-style:normal;font-weight:900}
.faixa-table table{width:100%;min-width:0;border-collapse:collapse;overflow:hidden;border-radius:12px}
.faixa-table th{background:rgba(242,195,0,.95);color:#111;padding:8px;font-size:12px}
.faixa-table td{color:#fff;padding:8px;border-bottom:1px solid rgba(255,255,255,.12);text-align:center;background:rgba(0,0,0,.18)}
.faixa-table td:first-child{color:#f2c300;font-weight:900}
.cert-event{font-size:clamp(16px,1.8vw,25px)!important;font-weight:950!important}
@media(max-width:900px){.v52-extra{grid-template-columns:1fr}.age-grid{grid-template-columns:1fr}}


/* ===== V5.3 - EXTRAS VISÍVEIS DENTRO DO MORRO ANALYTICS ===== */
.v53-extra{
    display:grid!important;
    grid-template-columns:1.15fr 1fr!important;
    gap:16px!important;
    margin-top:18px!important;
    position:relative!important;
    z-index:2!important;
}
.analytics-card{
    background:rgba(255,255,255,.09)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:18px!important;
    padding:18px!important;
    box-shadow:0 18px 42px rgba(0,0,0,.18)!important;
}
.analytics-card h3{
    margin:0 0 14px!important;
    color:#f2c300!important;
    text-transform:uppercase!important;
    font-size:15px!important;
    letter-spacing:.035em!important;
}
.age-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.age-grid div{background:rgba(0,0,0,.20)!important;border-radius:14px!important;padding:12px!important}
.age-grid span{display:block!important;color:#dcdcdc!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important}
.age-grid b{display:block!important;color:#fff!important;margin-top:5px!important;font-size:14px!important}
.rank-line{display:grid!important;grid-template-columns:42px 1fr auto!important;gap:10px!important;align-items:center!important;padding:10px 0!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
.rank-line:last-child{border-bottom:0!important}
.rank-line span{font-size:28px!important}
.rank-line b{color:#fff!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.rank-line em{color:#f2c300!important;font-style:normal!important;font-weight:900!important}
.faixa-table table{width:100%!important;min-width:0!important;border-collapse:collapse!important;overflow:hidden!important;border-radius:12px!important}
.faixa-table th{background:rgba(242,195,0,.95)!important;color:#111!important;padding:8px!important;font-size:12px!important}
.faixa-table td{color:#fff!important;padding:8px!important;border-bottom:1px solid rgba(255,255,255,.12)!important;text-align:center!important;background:rgba(0,0,0,.18)!important}
.faixa-table td:first-child{color:#f2c300!important;font-weight:900!important}
.cert-event{font-size:clamp(16px,1.8vw,25px)!important;font-weight:950!important}
@media(max-width:900px){.v53-extra{grid-template-columns:1fr!important}.age-grid{grid-template-columns:1fr!important}}


/* ===== V5.4 - MODALIDADES MOBILE + FINAL MORRO ANALYTICS ===== */
.geral-tab{display:none!important;}

.v54-extra{
    display:grid!important;
    grid-template-columns:1.15fr 1fr!important;
    gap:16px!important;
    margin-top:18px!important;
    position:relative!important;
    z-index:2!important;
}
.analytics-card{
    background:rgba(255,255,255,.09)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:18px!important;
    padding:18px!important;
    box-shadow:0 18px 42px rgba(0,0,0,.18)!important;
}
.analytics-card h3{
    margin:0 0 14px!important;
    color:#f2c300!important;
    text-transform:uppercase!important;
    font-size:15px!important;
    letter-spacing:.035em!important;
}
.age-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.age-grid div{background:rgba(0,0,0,.20)!important;border-radius:14px!important;padding:12px!important}
.age-grid span{display:block!important;color:#dcdcdc!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important}
.age-grid b{display:block!important;color:#fff!important;margin-top:5px!important;font-size:14px!important}
.rank-line{display:grid!important;grid-template-columns:42px 1fr auto!important;gap:10px!important;align-items:center!important;padding:10px 0!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
.rank-line:last-child{border-bottom:0!important}
.rank-line span{font-size:28px!important}
.rank-line b{color:#fff!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.rank-line em{color:#f2c300!important;font-style:normal!important;font-weight:900!important}
.faixa-table table{width:100%!important;min-width:0!important;border-collapse:collapse!important;overflow:hidden!important;border-radius:12px!important}
.faixa-table th{background:rgba(242,195,0,.95)!important;color:#111!important;padding:8px!important;font-size:12px!important}
.faixa-table td{color:#fff!important;padding:8px!important;border-bottom:1px solid rgba(255,255,255,.12)!important;text-align:center!important;background:rgba(0,0,0,.18)!important}
.faixa-table td:first-child{color:#f2c300!important;font-weight:900!important}

/* Mobile: modalidades 1 botão por linha */
@media(max-width:700px){
    .tabs{
        display:flex!important;
        flex-direction:column!important;
        gap:10px!important;
        width:100%!important;
    }
    .tabs .tab{
        width:100%!important;
        display:flex!important;
        text-align:left!important;
        padding:10px 16px 10px 54px!important;
        line-height:1.25!important;
        white-space:normal!important;
    }
    .tabs .tab strong{
        display:inline!important;
    }
    .v54-extra{
        grid-template-columns:1fr!important;
    }
    .age-grid{
        grid-template-columns:1fr!important;
    }
    .rank-line{
        grid-template-columns:38px 1fr!important;
    }
    .rank-line em{
        grid-column:2!important;
        text-align:left!important;
    }
}


/* ===== V5.5 - EXTRAS NO MORRO ANALYTICS + FILTROS MOBILE ===== */

/* Extras no final do Morro Analytics */
.v55-extra{
    display:grid!important;
    grid-template-columns:1.15fr 1fr!important;
    gap:16px!important;
    margin-top:18px!important;
    position:relative!important;
    z-index:2!important;
}

.analytics-card{
    background:rgba(255,255,255,.09)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:18px!important;
    padding:18px!important;
    box-shadow:0 18px 42px rgba(0,0,0,.18)!important;
}

.analytics-card h3{
    margin:0 0 14px!important;
    color:#f2c300!important;
    text-transform:uppercase!important;
    font-size:15px!important;
    letter-spacing:.035em!important;
}

.age-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
}

.age-line{
    background:rgba(0,0,0,.20)!important;
    border-radius:14px!important;
    padding:12px!important;
    border-left:4px solid #f2c300!important;
}

.age-line.female{
    border-left-color:#ff4fab!important;
}

.age-line.male{
    border-left-color:#27a8ff!important;
}

.age-line span{
    display:block!important;
    color:#dcdcdc!important;
    font-size:12px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
}

.age-line b{
    display:block!important;
    color:#fff!important;
    margin-top:5px!important;
    font-size:14px!important;
}

.rank-line{
    display:grid!important;
    grid-template-columns:42px 1fr auto!important;
    gap:10px!important;
    align-items:center!important;
    padding:10px 0!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
}

.rank-line:last-child{
    border-bottom:0!important;
}

.rank-line span{
    font-size:28px!important;
}

.rank-line b{
    color:#fff!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

.rank-line em{
    color:#f2c300!important;
    font-style:normal!important;
    font-weight:900!important;
    white-space:nowrap!important;
}

.faixa-table table{
    width:100%!important;
    min-width:0!important;
    border-collapse:collapse!important;
    overflow:hidden!important;
    border-radius:12px!important;
}

.faixa-table th{
    background:rgba(242,195,0,.95)!important;
    color:#111!important;
    padding:8px!important;
    font-size:12px!important;
    text-align:center!important;
}

.faixa-table td{
    color:#fff!important;
    padding:8px!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    text-align:center!important;
    background:rgba(0,0,0,.18)!important;
}

.faixa-table td:first-child{
    color:#f2c300!important;
    font-weight:900!important;
}

/* Filtros Todos / Masculino / Feminino: mobile com 1 botão por linha */
@media(max-width:700px){
    .sex-filter{
        display:flex!important;
        flex-direction:column!important;
        gap:10px!important;
        width:100%!important;
        height:auto!important;
        align-items:stretch!important;
    }

    .sex-filter .sex-btn{
        width:100%!important;
        justify-content:flex-start!important;
        min-height:52px!important;
        padding:7px 12px!important;
    }

    .v55-extra{
        grid-template-columns:1fr!important;
    }

    .age-grid{
        grid-template-columns:1fr!important;
    }

    .rank-line{
        grid-template-columns:38px 1fr!important;
    }

    .rank-line em{
        grid-column:2!important;
        text-align:left!important;
    }
}


/* ===== V5.6 - CORREÇÃO MODALIDADES E NOVOS CARDS ===== */

/* Esconde qualquer botão geral legado */
.geral-tab{display:none!important;}

/* Cards extras no final do Morro Analytics */
.v56-extra{
    display:grid!important;
    grid-template-columns:1.15fr 1fr!important;
    gap:16px!important;
    margin-top:18px!important;
    position:relative!important;
    z-index:999!important;
    clear:both!important;
}

.v56-extra .analytics-card,
.analytics-card{
    background:rgba(255,255,255,.09)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:18px!important;
    padding:18px!important;
    box-shadow:0 18px 42px rgba(0,0,0,.18)!important;
}

.v56-extra .analytics-card h3,
.analytics-card h3{
    margin:0 0 14px!important;
    color:#f2c300!important;
    text-transform:uppercase!important;
    font-size:15px!important;
    letter-spacing:.035em!important;
}

.age-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
}

.age-line{
    background:rgba(0,0,0,.20)!important;
    border-radius:14px!important;
    padding:12px!important;
    border-left:4px solid #f2c300!important;
}

.age-line.female{border-left-color:#ff4fab!important;}
.age-line.male{border-left-color:#27a8ff!important;}

.age-line span{
    display:block!important;
    color:#dcdcdc!important;
    font-size:12px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
}

.age-line b{
    display:block!important;
    color:#fff!important;
    margin-top:5px!important;
    font-size:14px!important;
}

.rank-line{
    display:grid!important;
    grid-template-columns:42px 1fr auto!important;
    gap:10px!important;
    align-items:center!important;
    padding:10px 0!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
}

.rank-line:last-child{border-bottom:0!important;}
.rank-line span{font-size:28px!important;}
.rank-line b{color:#fff!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.rank-line em{color:#f2c300!important;font-style:normal!important;font-weight:900!important;white-space:nowrap!important;}

.faixa-table table{
    width:100%!important;
    min-width:0!important;
    border-collapse:collapse!important;
    overflow:hidden!important;
    border-radius:12px!important;
}

.faixa-table th{
    background:rgba(242,195,0,.95)!important;
    color:#111!important;
    padding:8px!important;
    font-size:12px!important;
    text-align:center!important;
}

.faixa-table td{
    color:#fff!important;
    padding:8px!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    text-align:center!important;
    background:rgba(0,0,0,.18)!important;
}

.faixa-table td:first-child{
    color:#f2c300!important;
    font-weight:900!important;
}

/* Mobile: botões sexo 1 por linha */
@media(max-width:700px){
    .sex-filter{
        display:flex!important;
        flex-direction:column!important;
        gap:10px!important;
        width:100%!important;
        height:auto!important;
        align-items:stretch!important;
    }

    .sex-filter .sex-btn{
        width:100%!important;
        justify-content:flex-start!important;
        min-height:52px!important;
        padding:7px 12px!important;
    }

    .v56-extra{
        grid-template-columns:1fr!important;
    }

    .age-grid{
        grid-template-columns:1fr!important;
    }

    .rank-line{
        grid-template-columns:38px 1fr!important;
    }

    .rank-line em{
        grid-column:2!important;
        text-align:left!important;
    }
}


/* ===== V5.7 - IGNORAR EQUIPES INVALIDAS NAS ESTATISTICAS ===== */
.rank-empty{
    color:#dcdcdc!important;
    background:rgba(0,0,0,.22)!important;
    border:1px dashed rgba(255,255,255,.22)!important;
    border-radius:12px!important;
    padding:12px!important;
    font-weight:800!important;
}


/* ===== V5.8 - TABELA DE RESULTADOS MOBILE EM 2 LINHAS ===== */
@media(max-width:760px){

    #viewResultados .tablebox{
        overflow:visible!important;
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        border-radius:0!important;
    }

    #tabelaResultados{
        min-width:0!important;
        width:100%!important;
        border-collapse:separate!important;
        border-spacing:0 10px!important;
    }

    #tabelaResultados thead{
        display:none!important;
    }

    #tabelaResultados tbody{
        display:block!important;
        width:100%!important;
    }

    #tabelaResultados tbody tr{
        display:grid!important;
        grid-template-columns:52px 72px 1fr 92px!important;
        grid-template-areas:
            "pos numero nome liquido"
            "equipe sexo cat bruto"!important;
        gap:3px 8px!important;
        width:100%!important;
        background:#fff!important;
        border:1px solid #e7e7e7!important;
        border-left:5px solid #f2c300!important;
        border-radius:16px!important;
        margin:0 0 10px!important;
        padding:12px 10px!important;
        box-shadow:0 10px 24px rgba(0,0,0,.09)!important;
        align-items:center!important;
        cursor:pointer!important;
    }

    #tabelaResultados tbody tr:nth-child(even){
        background:#fff!important;
    }

    #tabelaResultados tbody tr:hover{
        background:#fff8d9!important;
    }

    #tabelaResultados tbody tr td{
        display:block!important;
        border:0!important;
        padding:0!important;
        background:transparent!important;
        min-width:0!important;
        color:#133!important;
    }

    /* Linha principal: Pos / Número / Nome / Tempo Líquido */
    #tabelaResultados tbody tr td:nth-child(1){
        grid-area:pos!important;
        font-size:20px!important;
        line-height:1!important;
        font-weight:950!important;
        color:#ff7900!important;
        text-align:left!important;
    }

    #tabelaResultados tbody tr td:nth-child(2){
        grid-area:numero!important;
        text-align:left!important;
    }

    #tabelaResultados tbody tr td:nth-child(2) .pill{
        font-size:17px!important;
        padding:4px 7px!important;
        border-radius:8px!important;
        display:inline-block!important;
        font-weight:950!important;
    }

    #tabelaResultados tbody tr td:nth-child(3){
        grid-area:nome!important;
        font-size:17px!important;
        line-height:1.1!important;
        font-weight:950!important;
        color:#005f48!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    #tabelaResultados tbody tr td:nth-child(9){
        grid-area:liquido!important;
        font-size:19px!important;
        line-height:1!important;
        font-weight:950!important;
        color:#ff7900!important;
        text-align:right!important;
        font-family:Consolas,monospace!important;
        white-space:nowrap!important;
    }

    /* Linha secundária: Equipe / Sexo / Cat / Classif. Cat / Tempo Bruto */
    #tabelaResultados tbody tr td:nth-child(4){
        grid-area:equipe!important;
        font-size:11px!important;
        line-height:1.15!important;
        color:#5f6b72!important;
        font-weight:800!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    #tabelaResultados tbody tr td:nth-child(5){
        grid-area:sexo!important;
        font-size:11px!important;
        line-height:1.15!important;
        color:#5f6b72!important;
        font-weight:800!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    #tabelaResultados tbody tr td:nth-child(6){
        grid-area:cat!important;
        font-size:11px!important;
        line-height:1.15!important;
        color:#5f6b72!important;
        font-weight:900!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    #tabelaResultados tbody tr td:nth-child(7){
        grid-area:cat!important;
        justify-self:end!important;
        align-self:end!important;
        margin-right:0!important;
        padding-left:42px!important;
        max-width:100%!important;
        font-size:11px!important;
        line-height:1.15!important;
        color:#5f6b72!important;
        font-weight:900!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    #tabelaResultados tbody tr td:nth-child(8){
        grid-area:bruto!important;
        font-size:11px!important;
        line-height:1.15!important;
        color:#5f6b72!important;
        font-weight:900!important;
        text-align:right!important;
        font-family:Consolas,monospace!important;
        white-space:nowrap!important;
    }

    /* Rótulos pequenos opcionais via pseudo */
    #tabelaResultados tbody tr td:nth-child(8)::before{
        content:"Bruto ";
        font-family:Arial,Helvetica,sans-serif!important;
        color:#8a949b!important;
        font-weight:800!important;
    }

    #tabelaResultados tbody tr td:nth-child(7)::before{
        content:"Cat ";
        color:#8a949b!important;
        font-weight:800!important;
    }

    /* Oculta o texto de equipe muito longo mantendo layout limpo */
    #tabelaResultados tbody tr td:nth-child(4)::before{
        content:"";
    }
}

@media(max-width:390px){
    #tabelaResultados tbody tr{
        grid-template-columns:46px 62px 1fr 82px!important;
        gap:3px 6px!important;
        padding:11px 9px!important;
    }

    #tabelaResultados tbody tr td:nth-child(1){
        font-size:18px!important;
    }

    #tabelaResultados tbody tr td:nth-child(2) .pill{
        font-size:15px!important;
    }

    #tabelaResultados tbody tr td:nth-child(3){
        font-size:15px!important;
    }

    #tabelaResultados tbody tr td:nth-child(9){
        font-size:17px!important;
    }

    #tabelaResultados tbody tr td:nth-child(4),
    #tabelaResultados tbody tr td:nth-child(5),
    #tabelaResultados tbody tr td:nth-child(6),
    #tabelaResultados tbody tr td:nth-child(7),
    #tabelaResultados tbody tr td:nth-child(8){
        font-size:10px!important;
    }
}


/* ===== V5.17 - CORREÇÃO REAL DO FILTRO NO MOBILE ===== */
/* O bug nasceu na V5.8: no mobile a linha recebe display:grid!important.
   Quando o JS fazia tr.style.display='none', o CSS display:grid!important anulava o filtro.
   Agora o JS usa a classe .morro-hidden, que vence o grid responsivo. */

#tabelaResultados tbody tr.morro-hidden,
#tabelaAtletas tbody tr.morro-hidden{
    display:none!important;
}

@media(max-width:760px){
    #tabelaResultados tbody tr.morro-hidden,
    #tabelaAtletas tbody tr.morro-hidden{
        display:none!important;
    }

    /* garante que botões continuam clicáveis no mobile */
    .sex-filter,
    .sex-filter .sex-btn{
        pointer-events:auto!important;
        position:relative!important;
        z-index:50!important;
    }

    .sex-filter .sex-btn *{
        pointer-events:none!important;
    }
}


/* ===== V5.18 - GUIA ATIVA, MOBILE RESULTADO E POSIÇÃO POR SEXO ===== */

/* 1) Somente a guia ativa fica amarela */
.nav-item{
    background:#fff!important;
    color:#111!important;
    border-bottom:0!important;
}
.nav-item.active{
    background:linear-gradient(135deg,#f2c300,#ffe16a)!important;
    color:#111!important;
    border-bottom:4px solid #111!important;
}
.analytics-nav{
    background:#fff!important;
    color:#111!important;
    border-bottom:0!important;
}
.analytics-nav.active{
    background:linear-gradient(135deg,#f2c300,#ffe16a)!important;
    color:#111!important;
    border-bottom:4px solid #111!important;
}

/* 2) Resultado mobile no novo formato */
@media(max-width:760px){
    #tabelaResultados tbody tr{
        grid-template-areas:
            "pos numero nome liquido"
            "detalhe detalhe detalhe bruto"!important;
    }

    #tabelaResultados tbody tr::after{
        content:attr(data-mobile-desc) " - " attr(data-equipe)!important;
        grid-area:detalhe!important;
        font-size:11px!important;
        line-height:1.15!important;
        color:#5f6b72!important;
        font-weight:900!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        align-self:start!important;
    }

    #tabelaResultados tbody tr::before{
        content:""!important;
        display:none!important;
    }

    /* colunas de detalhe viram texto montado */
    #tabelaResultados tbody tr td:nth-child(4),
    #tabelaResultados tbody tr td:nth-child(5),
    #tabelaResultados tbody tr td:nth-child(6),
    #tabelaResultados tbody tr td:nth-child(7){
        display:none!important;
    }

    /* Pos exibida recalculada pelo JS */
    #tabelaResultados tbody tr td:nth-child(1){
        grid-area:pos!important;
    }
}

/* Segurança para cards de categoria vazios */
.cat-cloud span:empty{
    display:none!important;
}


/* ===== V6.0 - MOBILE GERAL USA POSIÇÃO EXIBIDA ===== */
@media(max-width:760px){
    #tabelaResultados tbody tr[data-catgeral="1"]::after{
        content:attr(data-mobile-desc-atual) " - " attr(data-equipe)!important;
    }
}


/* ===== V6.1 - GUIA ESTATÍSTICAS COMO ÁREA PRÓPRIA ===== */

#viewAnalytics{
    animation:fadeAnalyticsV61 .22s ease;
}

#viewAnalytics .charts-panel{
    margin-top:0!important;
}

@keyframes fadeAnalyticsV61{
    from{opacity:0;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
}

/* Apenas guia ativa fica amarela */
.nav-item{
    background:#fff!important;
    color:#111!important;
    border-bottom:0!important;
}

.nav-item.active{
    background:linear-gradient(135deg,#f2c300,#ffe16a)!important;
    color:#111!important;
    border-bottom:4px solid #111!important;
}

/* Mobile: guias em lista vertical */
@media(max-width:700px){
    .nav-inner{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:0!important;
    }

    .nav-item{
        width:100%!important;
        border-right:0!important;
        border-bottom:1px solid #eee!important;
        text-align:center!important;
        padding:14px 12px!important;
    }

    .nav-item.active{
        border-bottom:4px solid #111!important;
    }
}


/* ===== V6.2 - CERTIFICADO COM PDF COMO FONTE ÚNICA ===== */
.cert-actions .btn{
    min-width:142px!important;
}

.cert-actions .btn.pdf{
    background:linear-gradient(135deg,#f2c300,#ffdf54)!important;
    color:#111!important;
}

.cert-actions .btn:disabled{
    opacity:.65!important;
    cursor:wait!important;
}

@page{
    size:A4 landscape;
    margin:0;
}

@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    body *{
        display:none!important;
        visibility:hidden!important;
    }

    #printCertOnly,
    #printCertOnly *{
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    #printCertOnly .cert{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        max-width:none!important;
        max-height:none!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        overflow:hidden!important;
    }

    #printCertOnly .cert-bg{
        position:absolute!important;
        left:0!important;
        top:0!important;
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly .cert-close,
    #printCertOnly .cert-actions{
        display:none!important;
        visibility:hidden!important;
    }
}


/* ===== V6.3 - JPG MESTRE COMO FONTE DO PDF E DO COMPARTILHAMENTO ===== */
#printCertOnly{
    background:#fff!important;
}

#printCertOnly .cert-print-img{
    width:297mm!important;
    height:210mm!important;
    object-fit:fill!important;
    display:block!important;
}

@page{
    size:A4 landscape;
    margin:0;
}

@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    body *{
        display:none!important;
        visibility:hidden!important;
    }

    #printCertOnly,
    #printCertOnly *{
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    #printCertOnly .cert-print-img{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        object-fit:fill!important;
        border:0!important;
        margin:0!important;
        padding:0!important;
    }
}


/* ===== V6.4 - PDF MESTRE COMO FONTE DO JPG ===== */
#printCertOnly{
    background:#fff!important;
}

#printCertOnly .cert-print-img{
    width:297mm!important;
    height:210mm!important;
    object-fit:fill!important;
    display:block!important;
}

.cert-actions .btn{
    min-width:142px!important;
}

.cert-actions .btn:disabled{
    opacity:.65!important;
    cursor:wait!important;
}

@page{
    size:A4 landscape;
    margin:0;
}

@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    body *{
        display:none!important;
        visibility:hidden!important;
    }

    #printCertOnly,
    #printCertOnly *{
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    #printCertOnly .cert-print-img{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        object-fit:fill!important;
        border:0!important;
        margin:0!important;
        padding:0!important;
    }
}


/* ===== V6.5 - CERTIFICADO CAPTURADO DO HTML REAL ===== */
.cert-capturing .cert-actions,
.cert-capturing .cert-close{
    display:none!important;
}

.cert-capturing{
    box-shadow:none!important;
}

#printCertOnly{
    background:#fff!important;
}

#printCertOnly .cert-print-img{
    width:297mm!important;
    height:210mm!important;
    object-fit:fill!important;
    display:block!important;
}

@page{
    size:A4 landscape;
    margin:0;
}

@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    body *{
        display:none!important;
        visibility:hidden!important;
    }

    #printCertOnly,
    #printCertOnly *{
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    #printCertOnly .cert-print-img{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        object-fit:fill!important;
        border:0!important;
        margin:0!important;
        padding:0!important;
    }
}

/* ===== V6.6 - certificado: classificação geral por sexo ===== */


/* ===== V6.7 - CERTIFICADO MESTRE FIXO, IGUAL NO MOBILE E PC ===== */

/* Área invisível usada apenas para gerar PDF/JPG */
#certMasterRenderV67{
    position:fixed!important;
    left:-10000px!important;
    top:0!important;
    width:1600px!important;
    height:1131px!important;
    overflow:hidden!important;
    background:#fff!important;
    z-index:-1!important;
    opacity:1!important;
    pointer-events:none!important;
}

/* O clone sempre usa o mesmo tamanho, independente do aparelho */
#certMasterRenderV67 .cert,
#certMasterRenderV67 #certCard{
    width:1600px!important;
    height:1131px!important;
    max-width:none!important;
    max-height:none!important;
    min-width:1600px!important;
    min-height:1131px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    zoom:1!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
}

/* Evita capturar botões/fechar */
#certMasterRenderV67 .cert-actions,
#certMasterRenderV67 .cert-close{
    display:none!important;
    visibility:hidden!important;
}

/* Mantém textos previsíveis no clone */
#certMasterRenderV67 *{
    -webkit-font-smoothing:antialiased!important;
    text-rendering:geometricPrecision!important;
}

#printCertOnly{
    background:#fff!important;
}

#printCertOnly .cert-print-img{
    width:297mm!important;
    height:210mm!important;
    object-fit:fill!important;
    display:block!important;
}

@page{
    size:A4 landscape;
    margin:0;
}

@media print{
    html,body{
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    body *{
        display:none!important;
        visibility:hidden!important;
    }

    #printCertOnly,
    #printCertOnly *{
        display:block!important;
        visibility:visible!important;
    }

    #printCertOnly{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#fff!important;
    }

    #printCertOnly .cert-print-img{
        position:fixed!important;
        left:0!important;
        top:0!important;
        width:297mm!important;
        height:210mm!important;
        object-fit:fill!important;
        border:0!important;
        margin:0!important;
        padding:0!important;
    }
}

/* ===== V8.5 - Toast de confirmação e indicador de carregamento no filtro ===== */
.morro-toast-v85{
    position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);
    background:#111;color:#fff;font-weight:800;font-size:13px;
    padding:12px 20px;border-radius:999px;
    box-shadow:0 10px 30px rgba(0,0,0,.3);
    border:1px solid var(--yellow);
    opacity:0;pointer-events:none;
    transition:opacity .2s ease,transform .2s ease;
    z-index:9999;
}
.morro-toast-v85.show{
    opacity:1;transform:translateX(-50%) translateY(0);
}
.tablebox.morro-loading-v85{position:relative;}
.tablebox.morro-loading-v85:after{
    content:"";position:absolute;inset:0;
    background:rgba(255,255,255,.5);
    z-index:5;
}
.tablebox.morro-loading-v85:before{
    content:"";position:absolute;top:14px;left:50%;
    width:26px;height:26px;margin-left:-13px;
    border:3px solid #ddd;border-top-color:var(--yellow);
    border-radius:50%;z-index:6;
    animation:morro-spin-v85 .6s linear infinite;
}
@keyframes morro-spin-v85{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){
    .tablebox.morro-loading-v85:before{animation:none;}
}
