:root{--bg1:#07111f;--bg2:#0b3b2e;--lime:#d9ff3f;--gold:#ffce3a;--card:rgba(255,255,255,.10);--border:rgba(255,255,255,.16)}
*{box-sizing:border-box} body{min-height:100vh;background:radial-gradient(circle at top left,#185a45 0,#07111f 38%,#030712 100%);color:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
body:before{content:"";position:fixed;inset:0;background:linear-gradient(135deg,rgba(217,255,63,.12),transparent 35%),radial-gradient(circle at 85% 10%,rgba(255,206,58,.16),transparent 25%);pointer-events:none;z-index:-1}.page-wrap{padding-top:86px;min-height:calc(100vh - 80px)}
.glass-nav{background:rgba(3,7,18,.58);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.brand-ball{display:inline-grid;place-items:center;background:#fff;color:#111;width:34px;height:34px;border-radius:50%;margin-right:8px}.hero{padding:50px 0 35px}.hero-card,.glass-card{background:var(--card);border:1px solid var(--border);border-radius:28px;box-shadow:0 24px 80px rgba(0,0,0,.28);backdrop-filter:blur(16px)}.hero-title{font-size:clamp(2.2rem,6vw,5rem);font-weight:900;line-height:.95;letter-spacing:-.06em}.hero-title span{color:var(--lime)}.hero-pill{display:inline-flex;gap:8px;align-items:center;padding:10px 16px;border-radius:99px;background:rgba(217,255,63,.13);color:var(--lime);border:1px solid rgba(217,255,63,.26);font-weight:700}.btn-neon{background:linear-gradient(135deg,var(--lime),var(--gold));border:0;color:#07111f;font-weight:900;border-radius:999px;padding:13px 22px;box-shadow:0 14px 35px rgba(217,255,63,.18)}.btn-ghost{border:1px solid var(--border);color:#fff;border-radius:999px;padding:12px 20px}.btn-ghost:hover{border-color:var(--lime);color:var(--lime)}.stat{background:rgba(255,255,255,.08);border:1px solid var(--border);border-radius:22px;padding:18px}.stat strong{font-size:1.6rem;color:var(--gold)}.form-control,.form-select{background:rgba(255,255,255,.10);border:1px solid var(--border);color:#fff;border-radius:16px;padding:13px}.form-control:focus,.form-select:focus{background:rgba(255,255,255,.14);border-color:var(--lime);color:#fff;box-shadow:0 0 0 .2rem rgba(217,255,63,.12)}.form-control::placeholder{color:rgba(255,255,255,.55)}.table{--bs-table-bg:transparent;--bs-table-color:#fff;--bs-table-border-color:rgba(255,255,255,.12)}.badge-soft{background:rgba(217,255,63,.13);border:1px solid rgba(217,255,63,.22);color:var(--lime)}.match-card{border-radius:24px;background:rgba(255,255,255,.08);border:1px solid var(--border);padding:18px;height:100%}.team{font-weight:800}/* Campo de placar - corrigido para não cortar números no mobile */
.score-input{
    width:72px;
    height:72px;
    min-width:72px;
    max-width:72px;
    padding:0!important;
    text-align:center;
    font-size:2rem;
    font-weight:900;
    line-height:72px;
    border-radius:24px;
    appearance:textfield;
    -moz-appearance:textfield;
}
.score-input::-webkit-outer-spin-button,
.score-input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}
.rank-number{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:rgba(255,206,58,.15);color:var(--gold);font-weight:900}.footer{background:rgba(0,0,0,.18)}.admin-shell .navbar,.admin-shell .footer{display:none}@media(max-width:768px){.hero{padding-top:25px}.match-card{padding:15px}.score-input{width:64px;height:64px;min-width:64px;max-width:64px;font-size:1.8rem;line-height:64px;border-radius:22px}.table-responsive{font-size:.9rem}}
a{color:inherit}.alert{border-radius:18px;border:0}.modal-content{background:#101827;color:#fff;border:1px solid var(--border);border-radius:24px}

.match-card-link{transition:transform .18s ease,border-color .18s ease,background .18s ease}.match-card-link:hover{transform:translateY(-3px);border-color:rgba(217,255,63,.38);background:rgba(255,255,255,.12)}.versus-line{display:grid;grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr);align-items:center;gap:14px}
.versus-line > div{min-width:0}
.versus-line .team{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:normal;overflow-wrap:anywhere;line-height:1.12}
.versus-line .text-end .team{margin-left:auto}
.versus-line .text-start .team{margin-right:auto}.versus-line-large{gap:24px}.versus-badge{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--lime),var(--gold));color:#07111f;font-weight:900;box-shadow:0 14px 35px rgba(217,255,63,.14)}.progress-thin{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.progress-thin .progress-bar{background:linear-gradient(135deg,var(--lime),var(--gold))}.participant-card{height:100%;border-radius:22px;border:1px solid var(--border);background:rgba(255,255,255,.075);padding:18px;transition:transform .18s ease,border-color .18s ease}.participant-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.28)}.participant-card.missing-pick{border-color:rgba(255,206,58,.32);background:rgba(255,206,58,.07)}.participant-card.has-pick{border-color:rgba(25,135,84,.32)}.participant-name{font-weight:900;font-size:1.05rem}.pick-score{display:flex;align-items:center;justify-content:center;gap:12px;border-radius:18px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);padding:14px;font-weight:800}.pick-score strong{font-size:1.35rem;color:var(--gold)}@media(max-width:576px){
    .versus-line{
        grid-template-columns:minmax(82px,1fr) auto minmax(82px,1fr);
        gap:8px;
    }
    .versus-line > div{min-width:0}
    .versus-badge{width:38px;height:38px}
    .team{
        line-height:1.12;
        overflow-wrap:anywhere;
        word-break:normal;
    }
    .team.fs-3{
        font-size:1.12rem!important;
        line-height:1.12;
    }
    .score-input{
        width:58px;
        height:58px;
        min-width:58px;
        max-width:58px;
        font-size:1.7rem;
        line-height:58px;
        border-radius:20px;
    }
    .participant-card{padding:15px}
}

/* Ajustes do menu e recado do ranking */
.nav-main-menu{gap:.55rem;flex-wrap:nowrap}.nav-main-menu .nav-link{white-space:nowrap}.participant-ranking-name{font-size:1.03rem}.participant-message{display:block;margin-top:6px;font-size:.9rem;line-height:1.35;color:rgba(255,255,255,.62);font-weight:500}.ranking-table td{vertical-align:middle}@media(max-width:991.98px){.nav-main-menu{gap:0;align-items:flex-start!important;padding-top:12px}.nav-main-menu .nav-item{width:100%}.nav-main-menu .nav-link{padding:.65rem 0}.nav-main-menu .btn{margin-top:8px}.ranking-table-wrap{font-size:.92rem}.participant-message{font-size:.82rem}}@media(max-width:575.98px){.ranking-table th:nth-child(3),.ranking-table td:nth-child(3),.ranking-table th:nth-child(4),.ranking-table td:nth-child(4){display:none}.rank-number{width:36px;height:36px;border-radius:13px}.glass-card{border-radius:22px}}

/* Correções admin: selects e modal de resultado */
.form-select.select-dark,
.form-select.select-dark:focus {
    color: #fff;
    background-color: rgba(255,255,255,.10);
}
.form-select.select-dark option {
    color: #07111f;
    background: #fff;
}
.form-select.select-dark option:checked,
.form-select.select-dark option:hover {
    color: #07111f;
    background: #d9ff3f;
}
.result-modal .modal-content {
    position: relative;
    z-index: 1060;
}
.result-modal .form-control,
.result-modal .result-score-input {
    pointer-events: auto !important;
    opacity: 1 !important;
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.16) !important;
}
.result-modal .result-score-input:focus {
    background: rgba(255,255,255,.16) !important;
    border-color: var(--lime) !important;
    box-shadow: 0 0 0 .2rem rgba(217,255,63,.12) !important;
}
.admin-games-table {
    overflow-x: auto;
    overflow-y: visible;
}
@media (max-width: 768px) {
    .result-modal .modal-dialog {
        margin: 1rem;
    }
    .result-modal .modal-footer {
        flex-direction: column;
        align-items: stretch;
    }
    .result-modal .modal-footer .btn {
        width: 100%;
    }
}


/* Resultado final nos cards de jogos */
.result-score-badge{
    min-width:76px;
    height:52px;
    padding:0 14px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:linear-gradient(135deg,var(--lime),var(--gold));
    color:#07111f;
    font-weight:900;
    box-shadow:0 14px 35px rgba(217,255,63,.16);
}
.result-score-badge span{font-size:1.35rem;line-height:1}.result-score-badge small{font-size:.95rem;font-weight:900;opacity:.85}.result-score-badge-lg{min-width:98px;height:62px}.result-score-badge-lg span{font-size:1.65rem}@media(max-width:576px){.result-score-badge{min-width:66px;height:46px;padding:0 10px}.result-score-badge span{font-size:1.15rem}.result-score-badge-lg{min-width:82px;height:54px}.result-score-badge-lg span{font-size:1.35rem}}


/* =========================================================
   CORREÇÃO FINAL MOBILE - nomes longos não sobrepõem placar
   ========================================================= */
.versus-line{
    grid-template-columns:minmax(90px,1fr) 164px minmax(90px,1fr) !important;
    gap:10px !important;
}

.versus-line > div{
    min-width:0 !important;
}

.versus-line > div:nth-child(2){
    width:164px !important;
    min-width:164px !important;
    max-width:164px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
}

.versus-line .team{
    max-width:100% !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    line-height:1.1 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
}

.score-input{
    flex:0 0 72px !important;
}

@media(max-width:576px){
    .match-card{
        padding:16px 14px !important;
    }

    .versus-line{
        grid-template-columns:minmax(70px,1fr) 132px minmax(70px,1fr) !important;
        gap:5px !important;
    }

    .versus-line > div:nth-child(2){
        width:132px !important;
        min-width:132px !important;
        max-width:132px !important;
        gap:5px !important;
    }

    .versus-line .team,
    .team.fs-3{
        font-size:1rem !important;
        line-height:1.08 !important;
        -webkit-line-clamp:2 !important;
    }

    .score-input{
        width:54px !important;
        height:54px !important;
        min-width:54px !important;
        max-width:54px !important;
        flex:0 0 54px !important;
        font-size:1.55rem !important;
        line-height:54px !important;
        border-radius:18px !important;
    }
}

@media(max-width:390px){
    .versus-line{
        grid-template-columns:minmax(64px,1fr) 124px minmax(64px,1fr) !important;
        gap:4px !important;
    }

    .versus-line > div:nth-child(2){
        width:124px !important;
        min-width:124px !important;
        max-width:124px !important;
        gap:4px !important;
    }

    .versus-line .team,
    .team.fs-3{
        font-size:.92rem !important;
    }

    .score-input{
        width:50px !important;
        height:50px !important;
        min-width:50px !important;
        max-width:50px !important;
        flex-basis:50px !important;
        font-size:1.45rem !important;
        line-height:50px !important;
        border-radius:17px !important;
    }
}


/* Página de regras e pontuação */
.rule-score-card{
    height:100%;
    border-radius:24px;
    background:rgba(255,255,255,.085);
    border:1px solid var(--border);
    padding:20px;
    display:flex;
    flex-direction:column;
    gap:6px;
    box-shadow:0 18px 55px rgba(0,0,0,.18);
}
.rule-score-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:rgba(217,255,63,.14);
    border:1px solid rgba(217,255,63,.24);
    font-size:1.35rem;
    margin-bottom:8px;
}
.rule-score-card strong{
    color:var(--gold);
    font-size:1.75rem;
    line-height:1;
    font-weight:900;
}
.rule-score-card span{
    color:rgba(255,255,255,.72);
    font-weight:700;
}
.rule-table td,.rule-table th{
    padding:14px 0;
}
.rule-points{
    display:inline-grid;
    place-items:center;
    min-width:46px;
    height:34px;
    padding:0 10px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--lime),var(--gold));
    color:#07111f;
    font-weight:900;
}
.rule-example{
    border-radius:22px;
    background:rgba(0,0,0,.20);
    border:1px solid rgba(255,255,255,.12);
    padding:18px;
}
.rule-match{
    font-size:1.35rem;
    font-weight:800;
}
.rule-match strong{
    color:var(--gold);
    margin:0 8px;
}
.rule-mini-card{
    height:100%;
    border-radius:20px;
    background:rgba(255,255,255,.075);
    border:1px solid var(--border);
    padding:16px;
    display:flex;
    flex-direction:column;
    gap:8px;
}
.rule-mini-card small{
    color:rgba(255,255,255,.55);
    font-weight:700;
}
.rule-mini-card strong{
    line-height:1.25;
}
.rule-mini-card span{
    color:var(--lime);
    font-weight:900;
}
.rule-timeline{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.rule-timeline div{
    border-radius:20px;
    background:rgba(0,0,0,.20);
    border:1px solid rgba(255,255,255,.12);
    padding:16px;
}
.rule-timeline span{
    display:block;
    color:rgba(255,255,255,.55);
    font-weight:700;
    margin-bottom:6px;
}
.rule-timeline strong{
    display:block;
    color:var(--gold);
    font-size:1.55rem;
    font-weight:900;
}
.rule-list{
    color:rgba(255,255,255,.78);
    padding-left:1.25rem;
}
.rule-list li{
    margin-bottom:10px;
}
.rule-goodluck{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 22px;
    border-radius:999px;
    background:rgba(217,255,63,.13);
    color:var(--lime);
    border:1px solid rgba(217,255,63,.26);
    font-weight:900;
}
@media(max-width:576px){
    .rule-score-card{
        padding:16px;
        border-radius:20px;
    }
    .rule-score-card strong{
        font-size:1.45rem;
    }
    .rule-match{
        font-size:1.08rem;
    }
    .rule-timeline{
        grid-template-columns:1fr;
    }
}

/* Bandeiras das seleções */
.team-flag,
.team-flag-placeholder{
    width:34px;
    height:34px;
    min-width:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    object-fit:cover;
    border-radius:50%;
    background:#fff;
    padding:3px;
    margin-bottom:7px;
    box-shadow:0 8px 22px rgba(0,0,0,.20);
    vertical-align:middle;
}
.team-flag-placeholder{font-size:1rem;color:#07111f}.team-flag-lg{width:42px;height:42px;min-width:42px;padding:4px;margin-bottom:9px}.team-flag-xs{width:24px;height:24px;min-width:24px;padding:2px;margin:0 6px 0 0}.team-side{min-width:0}.team-pick-side{min-width:0}.team-pick-side .team-flag{width:30px;height:30px;min-width:30px;margin-bottom:6px}.admin-team-inline{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;margin-right:4px}
@media(max-width:576px){.team-flag,.team-flag-placeholder{width:28px;height:28px;min-width:28px;padding:2px;margin-bottom:5px}.team-flag-lg{width:34px;height:34px;min-width:34px}.team-pick-side .team-flag{width:26px;height:26px;min-width:26px}.admin-team-inline{white-space:normal}}


/* Logo Bolão 9 no header */
.brand-logo-link{display:flex;align-items:center;padding-top:.2rem;padding-bottom:.2rem;min-height:58px}
.brand-logo-img{height:58px;width:auto;display:block;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.32))}
@media(max-width:576px){.brand-logo-img{height:52px}.brand-logo-link{min-height:54px}}
