
.lxt-public-challenges{
    --lxt-green:#1f7a4c;
    --lxt-green-dark:#145437;
    --lxt-soft:#f4f8f5;
    --lxt-border:#dce6df;
    --lxt-text:#17211b;
    --lxt-muted:#68746d;
    max-width:1180px;
    margin:40px auto 0;
    padding:0 24px;
    color:var(--lxt-text);
    box-sizing:border-box;
}
.lxt-public-challenges-heading{margin-bottom:22px}
.lxt-public-challenges-heading h2{
    margin:4px 0 6px;
    font-size:clamp(30px,4vw,44px);
}
.lxt-public-challenges-heading p{margin:0;color:var(--lxt-muted)}
.lxt-public-kicker{
    display:block;
    color:var(--lxt-green);
    font-size:12px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.lxt-public-challenge-controls{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:14px;
    margin-bottom:24px;
}
.lxt-public-challenge-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.lxt-public-challenge-tabs button{
    appearance:none;
    padding:9px 15px;
    border:1px solid var(--lxt-border);
    border-radius:999px;
    background:#fff;
    color:var(--lxt-text);
    font:inherit;
    font-weight:750;
    cursor:pointer;
}
.lxt-public-challenge-tabs button:hover,
.lxt-public-challenge-tabs button.is-active{
    border-color:var(--lxt-green);
    background:var(--lxt-green);
    color:#fff;
}
.lxt-public-challenge-status-filter{
    display:flex;
    align-items:center;
    gap:8px;
}
.lxt-public-challenge-status-filter label{
    color:var(--lxt-muted);
    font-size:13px;
    font-weight:700;
}
.lxt-public-challenge-status,
.lxt-public-challenge-search{
    min-height:44px;
    padding:9px 13px;
    border:1px solid var(--lxt-border);
    border-radius:8px;
    background:#fff;
    color:var(--lxt-text);
    font:inherit;
}
.lxt-public-challenge-search-wrap{
    flex:1 1 280px;
    display:flex;
    justify-content:flex-end;
}
.lxt-public-challenge-search{
    width:100%;
    max-width:390px;
}
.lxt-public-challenge-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.lxt-public-challenge-card{
    overflow:hidden;
    border:1px solid var(--lxt-border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 9px 26px rgba(19,49,31,.06);
}
.lxt-public-challenge-card[hidden]{display:none!important}
.lxt-public-challenge-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:15px 16px 8px;
}
.lxt-public-status,
.lxt-public-category{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}
.lxt-public-category{background:var(--lxt-soft);color:var(--lxt-green-dark)}
.lxt-status-programado{background:#e5f2ff;color:#135f96}
.lxt-status-finalizado{background:#eeeeee;color:#4c5450}
.lxt-public-challenge-date{
    padding:0 16px 13px;
    color:var(--lxt-muted);
    font-size:13px;
}
.lxt-public-challenge-set-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) repeat(3,60px);
    gap:4px;
    padding:8px 16px;
    border-top:1px solid var(--lxt-border);
    background:#fafcfb;
    color:var(--lxt-muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-align:center;
    text-transform:uppercase;
}
.lxt-public-challenge-set-header span:first-child{text-align:left}
.lxt-public-challenge-player{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:15px;
    padding:15px 16px;
    border-top:1px solid var(--lxt-border);
}
.lxt-public-challenge-player.is-winner{
    background:#f1fbf5;
}
.lxt-public-challenge-player-name{
    font-weight:750;
}
.lxt-public-challenge-player.is-winner .lxt-public-challenge-player-name{
    color:var(--lxt-green-dark);
    font-weight:850;
}
.lxt-public-challenge-player-name span{margin-right:7px}
.lxt-public-challenge-sets{
    display:grid;
    grid-template-columns:repeat(3,36px);
    gap:5px;
    text-align:center;
}
.lxt-public-challenge-sets b{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:31px;
    border-radius:6px;
    background:#f4f6f4;
}
.lxt-public-challenge-winner{
    padding:11px 16px;
    border-top:1px solid var(--lxt-border);
    background:#fff8dc;
    color:#6b5400;
    font-size:14px;
}
.lxt-public-challenge-upcoming{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:16px;
    padding:28px 20px 32px;
    border-top:1px solid var(--lxt-border);
    text-align:center;
}
.lxt-public-upcoming-player{
    font-size:18px;
    font-weight:800;
}
.lxt-public-versus{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:999px;
    background:var(--lxt-soft);
    color:var(--lxt-green-dark);
    font-size:12px;
    font-weight:900;
}
.lxt-public-challenge-empty-filter,
.lxt-public-empty{
    padding:30px;
    border:1px dashed var(--lxt-border);
    border-radius:12px;
    color:var(--lxt-muted);
    text-align:center;
}
@media(max-width:800px){
    .lxt-public-challenge-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
    .lxt-public-challenges{
        margin-top:28px;
        padding:0 12px;
    }
    .lxt-public-challenge-tabs{
        flex-wrap:nowrap;
        width:100%;
        overflow-x:auto;
        padding-bottom:3px;
    }
    .lxt-public-challenge-tabs button{white-space:nowrap}
    .lxt-public-challenge-search-wrap{justify-content:stretch}
    .lxt-public-challenge-search{max-width:none}
    .lxt-public-challenge-set-header{
        grid-template-columns:minmax(0,1fr) repeat(3,46px);
        padding-left:12px;
        padding-right:12px;
    }
    .lxt-public-challenge-player{
        padding-left:12px;
        padding-right:12px;
    }
    .lxt-public-challenge-upcoming{
        gap:10px;
        padding-left:12px;
        padding-right:12px;
    }
    .lxt-public-upcoming-player{font-size:15px}
}
