.roster-status{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}.roster-status strong{padding:9px 13px;background:var(--pink);color:#08080a;text-transform:uppercase;font-size:11px}.roster-status span{padding-right:12px;border-right:1px solid var(--line);color:var(--muted);font-size:12px}.draft-pill{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--yellow);border:1px solid #806c24;padding:5px 8px}.market-summary{position:relative;margin-bottom:20px;border-top:3px solid var(--pink);overflow:hidden;background:radial-gradient(circle at 100% 0,#ff3f9b1f,transparent 32%),var(--panel)}.market-summary-grid{display:grid;grid-template-columns:1fr 1fr 180px;gap:18px}.market-summary-list{min-width:0}.market-summary-list h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid var(--line)}.market-summary-list h3 small{padding:4px 8px;border:1px solid #ff3f9b55;color:var(--pink);font:900 12px var(--body)}.market-summary-list article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff12}.market-summary-list article:last-child{border-bottom:0}.market-summary-list b{display:block;overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}.market-summary-list article small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.market-summary-list article>strong{color:var(--pink);font:900 18px var(--display)}.market-summary-list dl{display:flex;gap:6px;margin:0}.market-summary-list dl div{min-width:44px;padding:5px 7px;background:#0b0b0ecc;border:1px solid #ffffff17;text-align:center}.market-summary-list dt{margin:0 0 2px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.market-summary-list dd{margin:0;color:#fff;font:900 17px var(--display)}.market-summary-list dl div:last-child{border-color:#47df8b55}.market-summary-list dl div:last-child dd{color:var(--green)}.market-balance{display:grid;place-items:center;background:#0d0d10;border:1px solid var(--line);text-align:center}.market-balance small{color:var(--muted);text-transform:uppercase}.market-balance strong{display:block;font:900 44px var(--display);color:var(--pink)}.ledger{margin-top:20px}.ledger-opening,.ledger-total,.ledger article{display:grid;grid-template-columns:160px 1fr 80px 90px;align-items:center;gap:16px;padding:13px 4px;border-top:1px solid var(--line)}.ledger-opening,.ledger-total{grid-template-columns:1fr auto;background:#101014;padding:16px}.ledger article time{font-size:11px;color:var(--muted)}.ledger article span small{display:block;color:var(--muted);font-size:11px}.ledger article>strong,.ledger article>b{text-align:right}.ledger .positive{color:var(--green)}.ledger .negative{color:var(--red)}.ledger-total{margin-top:12px}.ledger-total strong{font:900 26px var(--display);color:var(--pink)}
.roster-countdown{display:grid;gap:4px;margin:16px 0 4px;padding:15px 16px;border-left:4px solid var(--pink);background:linear-gradient(105deg,#48172f,#17171d);box-shadow:inset 0 0 28px #ff3f9b16}.roster-countdown>span{color:var(--pink-soft);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.roster-countdown>strong{font:900 34px/1 var(--display);letter-spacing:.035em;color:#fff}.roster-countdown>small{font-size:10px;line-height:1.35}.roster-countdown.is-expired{border-color:var(--red);background:#39151f}.roster-countdown.is-expired>strong{color:var(--red)}
.market-button-icon{display:none!important}
.roster-player-row .roster-price{display:grid;min-width:38px;text-align:right}.roster-player-row .roster-price>strong{color:#fff;font:900 17px/1 var(--display)}.roster-player-row .roster-price>small{margin-top:3px;color:#858088;font-size:7px;font-weight:800;line-height:1;white-space:nowrap}
.roster-player-row .roster-price>small{font:900 14px/1 var(--display)}.roster-player-row .roster-average.is-locked{cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.roster-player-row .roster-average.is-locked:hover,.roster-player-row .roster-average.is-locked:focus-visible{border-color:var(--pink);background:#ff3f9b18;outline:0;transform:translateY(-1px)}.roster-player-row .roster-average.is-locked:after{content:"SCOPRI\A MEDIA";white-space:pre-line;font-size:8px;line-height:1.15;letter-spacing:.08em}.roster-stats-modal>div{position:relative}.roster-stats-modal h2{margin:8px 0 14px;font:900 italic clamp(38px,6vw,58px)/.88 var(--display);text-transform:uppercase}.roster-stats-modal p{max-width:600px;margin:0 0 22px;color:#c7c1c5;line-height:1.6}.roster-stats-modal-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:1px solid #ffffff35;border-radius:50%;background:#0b0b0e;color:#fff;font-size:25px;cursor:pointer}.roster-stats-modal .button{width:100%}
.roster-player-row .roster-average{position:relative;display:grid;grid-template-columns:auto auto;gap:8px;min-width:108px;padding:5px 8px;border:1px solid #ff3f9b42;background:#ff3f9b0c;text-align:center}.roster-player-row .roster-average>span{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:4px}.roster-player-row .roster-average small{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.roster-player-row .roster-average strong{color:var(--pink);font:900 15px/1 var(--display)}.roster-player-row .roster-average.is-locked:after{content:"VICE";position:absolute;inset:0;display:grid;place-items:center;background:#111116cc;color:var(--pink);font-size:8px;font-weight:950;letter-spacing:.14em}.roster-player-row .roster-average.is-locked>span{filter:blur(5px);user-select:none}.roster-player-row .roster-purchase-price{min-width:25px;text-align:right}
.team-profile-head .team-coach-line{display:inline-flex;align-items:center;gap:9px;margin-top:4px;padding:8px 11px;background:#121217;border:1px solid #ff3f9b3f;color:var(--muted)}.team-profile-head .team-coach-line span{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.team-profile-head .team-coach-line strong{color:#fff;font-size:13px}.opponent-roster{margin-bottom:20px}.opponent-roster h3{display:flex;align-items:center;gap:8px;margin-top:24px}.opponent-roster h3 small{color:var(--pink);font:900 12px var(--body)}.opponent-roster .player-row small{line-height:1.25}.opponent-roster .player-row.is-palermo{position:relative;margin-inline:-6px;padding-inline:6px;background:linear-gradient(90deg,#ff3f9b20,transparent 72%);border-left:3px solid var(--pink)}.opponent-roster .player-row.is-palermo b{color:#fff}.opponent-roster .player-row.is-palermo small{color:#ff9ccb;font-weight:900}.opponent-roster .player-row.is-palermo>strong{color:var(--pink)}.opponent-ledger article time span{display:block;margin-bottom:2px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.opponent-ledger article span small{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.opponent-ledger article span small .role{width:22px;height:22px;font-size:10px}.opponent-ledger article span small i{color:#ff9ccb;font-style:normal;font-weight:900;text-transform:uppercase}.opponent-ledger article span small span{color:var(--muted)}
@media(max-width:900px){.market-summary-grid{grid-template-columns:1fr}.market-balance{min-height:120px}}@media(max-width:650px){.team-profile-head .team-coach-line{display:flex;width:max-content;max-width:100%;margin-top:-4px;padding:6px 9px}.team-profile-head .team-coach-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-summary{padding:18px}.market-summary h2{font-size:31px}.market-summary-grid{gap:16px}.market-summary-list article{grid-template-columns:29px minmax(0,1fr) auto;gap:8px}.market-summary-list dl div{min-width:40px;padding:5px}.market-summary-list dt{font-size:7px}.market-summary-list dd{font-size:15px}.market-balance{min-height:86px;grid-template-columns:1fr auto;padding:14px 16px}.market-balance small{text-align:left}.market-balance strong{font-size:38px}.market-summary .import-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.market-summary .import-actions .button{width:100%;min-height:44px;padding:0 10px;font-size:10px}.ledger article{grid-template-columns:1fr auto}.ledger article time{grid-column:1/-1}.ledger article>strong,.ledger article>b{grid-column:2}.roster-status{align-items:flex-start;flex-direction:column}.roster-status span{border:0}}

@media(max-width:760px){
    .player-row{display:grid!important;grid-template-columns:29px minmax(0,1fr) auto auto;gap:8px}
    .roster-player-row{grid-template-columns:29px minmax(0,1fr) auto auto auto!important}
    .roster-player-row .roster-average{grid-template-columns:1fr;gap:2px;min-width:47px;padding:4px}
    .roster-player-row .roster-average>span{grid-template-columns:1fr;gap:0}
    .roster-player-row .roster-average small{font-size:7px;line-height:1}
    .roster-player-row .roster-average strong{font-size:15px}
    .player-row>div{min-width:0}
    .player-row>div b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .player-row>strong{min-width:22px;text-align:right}
    .player-row form{flex:0 0 38px}
    .player-row .market-buy-button,.player-row .market-sell-button{width:38px;height:38px;min-width:38px;padding:0;display:grid;place-items:center;overflow:hidden;border-color:#ff3f9b66}
    .player-row .market-button-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    .player-row .market-button-icon{display:grid!important;place-items:center;color:var(--pink);font-size:16px;line-height:1}
    .player-row .market-sell-button.danger .market-button-icon{color:var(--red)}
    .player-row .owned{padding:6px 7px;font-size:0}
    .player-row .owned:before{content:"\f26a";font-family:"bootstrap-icons";font-size:15px;color:var(--green)}
}

/* CTA statistiche: deve prevalere sul vecchio badge VICE definito sopra. */
.roster-player-row .roster-average.is-locked:after{content:"SCOPRI\A MEDIA";white-space:pre-line;font-size:8px;line-height:1.15;letter-spacing:.08em}

/* Centratura ottica delle Bootstrap Icons nei pulsanti acquisto/cessione. */
.player-row .market-buy-button .market-button-icon:before,.player-row .market-sell-button .market-button-icon:before{display:block;line-height:1;vertical-align:0;transform:translateY(1px)}

/* Centra il pulsante completo nella riga, non soltanto il glifo. */
.roster-player-row>form{align-self:center;justify-self:center;display:grid;height:38px;margin:0;place-items:center}.roster-player-row>form>.market-buy-button,.roster-player-row>form>.market-sell-button{align-self:center;display:grid!important;height:38px;margin:0;place-items:center;line-height:1}.roster-player-row>form .market-button-icon{align-self:center;justify-self:center;line-height:1}.roster-player-row>form .market-button-icon:before{margin:0;line-height:1;vertical-align:middle;transform:none}

/* Riepilogo rosa: su desktop resta sotto il menu del gioco e si compatta solo quando incollato. */
@media (min-width: 761px) {
    #roster-stats-live {
        position: sticky;
        top: var(--game-dock-height);
        z-index: 35;
        transition: gap .22s ease, margin .22s ease, padding .22s ease, background .22s ease, box-shadow .22s ease;
    }
    #roster-stats-live > div {
        min-height: 100px;
        transition: min-height .22s ease, padding .22s ease, border-width .22s ease, background .22s ease;
    }
    #roster-stats-live strong {
        transition: margin .22s ease, font-size .22s ease, line-height .22s ease;
    }
    .has-desktop-sponsor #roster-stats-live {
        top: calc(170px + var(--game-dock-height));
    }
    #roster-stats-live.is-stuck {
        gap: 0;
        margin-right: 0;
        margin-bottom: 14px;
        margin-left: 0;
        padding: 0;
        background: rgba(12, 12, 16, .97);
        border: 1px solid #3a3940;
        border-top: 2px solid var(--pink);
        box-shadow: 0 13px 32px #000c;
        backdrop-filter: blur(18px);
    }
    #roster-stats-live.is-stuck > div {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-height: 39px;
        padding: 4px 18px;
        border-top-width: 0;
        border-right-width: 0;
        background: transparent;
    }
    #roster-stats-live.is-stuck > div + div { border-left: 1px solid var(--line); }
    #roster-stats-live.is-stuck small { font-size: 8px; line-height: 1; }
    #roster-stats-live.is-stuck strong {
        display: block;
        margin: 0;
        font-size: 24px;
        line-height: 1;
    }
}
