/* FantaInfinity theme and desktop navigation layer. */
:root {

    --fi-theme-bg: #08110c;
    --fi-theme-surface: #101a14;
    --fi-theme-surface-2: #15241c;
    --fi-theme-surface-3: #1c2f24;

    --fi-theme-line: rgba(255,255,255,.08);

    --fi-theme-text: #f8f7f3;
    --fi-theme-muted: #b0b7b3;

    --fi-primary: #1d7d4e;
    --fi-primary-light: #2fa66b;

    --fi-gold: #d7b35c;
    --fi-gold-light: #f1d58f;

    --fi-danger:#d95d63;
    --fi-success:#4dc985;

}

html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }

html[data-theme="dark"] body:not(.auth-page) {
    color: var(--fi-theme-text) !important;
    background:

            radial-gradient(circle at top,
            rgba(47,166,107,.18),
            transparent 42rem),

            radial-gradient(circle at right,
            rgba(215,179,92,.10),
            transparent 34rem),

            linear-gradient(
                    180deg,
                    #07110b,
                    #0d1812 45%,
                    #08100d
            );
}

html[data-theme="dark"] body:not(.auth-page) :is(h1, h2, h3, h4, h5, h6, strong, .player-name) {
    color: var(--fi-theme-text);
}

html[data-theme="dark"] body:not(.auth-page) :is(p, small, .muted-text, .metric-label, .stat span, .dashboard-metric span) {
    color: var(--fi-theme-muted);
}

html[data-theme="dark"] body:not(.auth-page) :is(
    .dashboard-panel, .csv-panel, .table-panel, .next-match, .admin-box,
    .role-section, .stat-card, .metric, .card, .panel, .content-card,
    .sponsor-card, .trade-card, .player-sheet, .table-wrapper,
    body > .container
) {
    border-color: var(--fi-theme-line) !important;
    color: var(--fi-theme-text) !important;
    background:

            linear-gradient(
                    180deg,
                    rgba(255,255,255,.045),
                    rgba(255,255,255,.02)
            );

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);

    box-shadow: 0 25px 60px rgba(0,0,0,.35);
    box-shadow: 0 20px 48px rgba(0, 0, 0, .27) !important;
}

html[data-theme="dark"] body:not(.auth-page) :is(
    .dashboard-metric, .stat, .quick-card, .hub-tile, .player-card,
    .fan-player, .match-card, .home-match, .contract-row, .movement-row,
    .mission-row, .column-guide > div
) {
    border-color: var(--fi-theme-line) !important;
    color: var(--fi-theme-text) !important;
    background: linear-gradient(145deg, var(--fi-theme-surface-2), var(--fi-theme-surface)) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .2) !important;
}

html[data-theme="dark"] body:not(.auth-page) :is(input, select, textarea, .form-control, .form-select) {
    border-color: rgba(255, 255, 255, .13) !important;
    color: var(--fi-theme-text) !important;
    background: #102235 !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset !important;
}

html[data-theme="dark"] body:not(.auth-page) :is(input, textarea)::placeholder {
    color: #7f919f !important;
}

html[data-theme="dark"] body:not(.auth-page) :is(table, tbody, tr, td) {
    color: var(--fi-theme-text);
    border-color: var(--fi-theme-line) !important;
}

html[data-theme="dark"] body:not(.auth-page) tbody tr,
html[data-theme="dark"] body:not(.auth-page) tbody tr:nth-child(even) {
    background: rgba(13, 29, 43, .82) !important;
}

html[data-theme="dark"] body:not(.auth-page) tbody tr:hover {
    background: rgba(28, 58, 72, .9) !important;
}

html[data-theme="dark"] body:not(.auth-page) :is(.file-drop, .preview-table) {
    border-color: rgba(255, 159, 67, .28) !important;
    color: var(--fi-theme-text) !important;
    background: rgba(16, 34, 53, .88) !important;
}

html[data-theme="dark"] body:not(.auth-page) :is(.section-link, .template-link, a:not(.primary-action):not(.action-link):not(.button-link):not(.back-link):not(.mobile-dock a)) {
    color: var(--fi-theme-orange-soft);
}

.fi-theme-toggle {
    position: fixed;
    z-index: 1200;
    top: 18px;
    right: 18px;
    display: inline-grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(255, 159, 67, .25);
    border-radius: 15px;
    color: var(--fi-theme-orange-soft);
    background: rgba(7, 17, 29, .9);
    box-shadow: 0 12px 34px rgba(0, 0, 0, .3);
    backdrop-filter: blur(16px);
    cursor: pointer;
}

.fi-theme-toggle:hover { transform: translateY(-2px); border-color: var(--fi-theme-orange); }
.fi-theme-toggle:focus-visible { outline: 3px solid rgba(255, 159, 67, .35); outline-offset: 3px; }
html[data-theme="light"] .fi-theme-toggle { color: #75400f; background: rgba(255, 250, 242, .94); }

html[data-theme="light"] body:not(.auth-page) {
    color: #172620 !important;
    background:
        radial-gradient(circle at 92% 2%, rgba(255, 181, 91, .38), transparent 28rem),
        radial-gradient(circle at 4% 42%, rgba(83, 205, 159, .28), transparent 30rem),
        linear-gradient(145deg, #fff9ec, #effaf3 55%, #eaf3ff) !important;
}

html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.panel,.stat,.card,.content-card,.role-section,.table-panel) {
    color: #f7f3ea !important;
    border-color: rgba(255, 159, 67, .16) !important;
    background:
        radial-gradient(circle at 100% 0, rgba(255,159,67,.08), transparent 13rem),
        linear-gradient(145deg, #142a3b, #0a1825) !important;
    box-shadow: 0 18px 42px rgba(23, 55, 43, .2) !important;
}

html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.panel,.stat,.card,.content-card,.role-section,.table-panel)
    :is(h1,h2,h3,h4,strong,.player-name) { color: #f7f3ea !important; }

html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.panel,.stat,.card,.content-card,.role-section,.table-panel)
    :is(p,small,.muted-text,.metric-label,.stat span) { color: #aebbc4 !important; }

html[data-theme="light"] body:not(.auth-page) :is(.player-card,.quick-card,.fan-player,.sponsor-summary article,.awards-grid article) {
    color: #f7f3ea !important;
    border-color: rgba(255,255,255,.09) !important;
    background: linear-gradient(145deg,#183044,#102232) !important;
}

html[data-theme="light"] body:not(.auth-page) :is(.player-card,.quick-card,.fan-player,.sponsor-summary article,.awards-grid article)
    :is(h2,h3,strong,.player-name) { color:#f7f3ea !important; }

html[data-theme="light"] body:not(.auth-page) :is(.player-card,.quick-card,.fan-player,.sponsor-summary article,.awards-grid article)
    :is(p,small,.muted-text) { color:#aebbc4 !important; }

html[data-theme="light"] .listone-page tbody tr {
    color:#f7f3ea !important;
    border-color:rgba(255,255,255,.08) !important;
    background:#102232 !important;
}

html[data-theme="light"] .listone-page tbody tr:hover { background:#183449 !important; }

html[data-theme="light"] .roster-heading h1 { color:#172620 !important; }
html[data-theme="light"] .roster-heading span { color:#0d7658 !important; }
html[data-theme="light"] .roster-page .player-meta { color:#aebbc4 !important; }
html[data-theme="light"] .roster-page .player-meta b { color:#f7f3ea !important; }

html[data-theme="light"] body:not(.auth-page) .stadium-panel {
    color: #f7fbf8 !important;
    border-color: rgba(255,159,67,.2) !important;
    background: radial-gradient(circle at 100% 0, rgba(255,159,67,.14), transparent 16rem), linear-gradient(145deg,#102638,#07111d) !important;
}

@media (min-width: 1100px) {
    body:not(.auth-page) .mobile-dock {
        position: fixed;
        z-index: 1000;
        top: 50%;
        right: auto;
        bottom: auto;
        left: 16px;
        display: grid !important;
        width: 94px !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        padding: 9px !important;
        border: 1px solid rgba(255, 159, 67, .18) !important;
        border-radius: 23px !important;
        background: rgba(6, 17, 29, .94) !important;
        box-shadow: 0 20px 55px rgba(0, 0, 0, .38) !important;
        backdrop-filter: blur(18px);
        transform: translateY(-50%);
    }

    body:not(.auth-page) .mobile-dock a {
        display: flex;
        min-height: 66px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 8px 5px;
        border-radius: 16px;
        color: #93a2ad !important;
        font-size: 10px;
        font-weight: 800;
        text-decoration: none;
    }

    body:not(.auth-page) .mobile-dock a i { color: var(--fi-theme-orange-soft) !important; font-size: 19px; }
    body:not(.auth-page) .mobile-dock a:hover { color: #fff !important; background: rgba(255, 159, 67, .09) !important; transform: translateY(-1px); }
    body:not(.auth-page) .mobile-dock a.is-active { color: #1d1106 !important; background: linear-gradient(145deg, #ff9f43, #ffc46e) !important; }
    body:not(.auth-page) .mobile-dock a.is-active i { color: #201205 !important; }

    body:not(.auth-page):has(.mobile-dock) :is(.page, body > .container, body > main.container, body > .page-container, body > .section) {
        width: calc(100% - 164px) !important;
        max-width: none !important;
        margin-right: 24px !important;
        margin-left: 126px !important;
    }
}

@media (min-width: 761px) and (max-width: 1099px) {
    body:not(.auth-page) .mobile-dock {
        position: fixed;
        z-index: 1000;
        right: 18px;
        bottom: 16px;
        left: 18px;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        max-width: 620px;
        margin: auto;
        padding: 7px;
        border-radius: 20px;
    }
    body:not(.auth-page) { padding-bottom: 94px !important; }
}

@media (max-width: 760px) {
    .fi-theme-toggle { display: none !important; }

    /* Testi gestionali sempre leggibili nel tema scuro, anche nelle card che
       in origine erano state disegnate per uno sfondo chiaro. */
    html[data-theme="dark"] body:not(.auth-page) :is(
        .stat span, .stat strong, .panel-header h2, .row-title,
        .stadium-data strong, .outcome-card strong, .tier-row strong
    ) { color: var(--fi-theme-text) !important; }

    html[data-theme="dark"] body:not(.auth-page) :is(
        .row-meta, .stadium-note, .stadium-data span, .outcome-card span,
        .tier-row span, .empty-state
    ) { color: #b8c5ce !important; }

    html[data-theme="light"] .dashboard-page :is(.dashboard-metric,.dashboard-panel),
    html[data-theme="light"] body:not(.auth-page) :is(.sponsor-summary article,.awards-grid article,.fan-player,.quick-card,.hub-tile) {
        color: #f7f3ea !important;
        border-color: rgba(255, 159, 67, .15) !important;
        background:
            radial-gradient(circle at 100% 0, rgba(255,159,67,.09), transparent 9rem),
            linear-gradient(145deg, #142a3b, #0a1825) !important;
        box-shadow: 0 15px 34px rgba(20, 52, 40, .2) !important;
    }

    html[data-theme="light"] .dashboard-page :is(.metric-label,.section-heading h2,.dashboard-metric strong,.dashboard-panel h2,.dashboard-panel h3,.dashboard-panel strong) {
        color: #f7f3ea !important;
    }

    html[data-theme="light"] .dashboard-page :is(.sponsor-summary small,.awards-grid span,.awards-grid small,.fan-player small,.awards-note) {
        color: #aebbc4 !important;
    }

    html[data-theme="light"] .listone-page #playerTable tr {
        color:#f7f3ea !important;
        border-color:rgba(255,255,255,.09) !important;
        background:linear-gradient(145deg,#183044,#102232) !important;
    }
}

/* Dark-only visual system: every application surface uses a readable dark palette. */
html, html[data-theme="dark"], html[data-theme="light"] { color-scheme: dark !important; background:#050c16 !important; }
html[data-theme="light"] body:not(.auth-page) { color:var(--fi-theme-text) !important; background:radial-gradient(circle at 86% -12%,rgba(255,159,67,.13),transparent 34rem),radial-gradient(circle at -8% 48%,rgba(22,184,138,.12),transparent 31rem),linear-gradient(145deg,#050c16,#091927 58%,#07131f) !important; }
.fi-theme-toggle { display:none !important; }
body:not(.auth-page) { --text:#f7f3ea;--muted:#aebbc4;--panel:#0d1d2b;--line:rgba(255,255,255,.11);color:#f7f3ea !important; }
body:not(.auth-page) :is(.container,.section,.panel,.card,.content-card,.table-wrapper,.table-panel,.role-section,.stat-card,.metric,.player-card,.trade-card,.sponsor-card,.modal-content,.dropdown-menu,.list-group-item,.accordion-item,.offcanvas,.home-economy,.economy-card,.formation-panel,.bench-panel) { color:#f7f3ea !important;border-color:rgba(255,255,255,.11) !important;background:linear-gradient(145deg,#122636,#091824) !important;box-shadow:0 18px 44px rgba(0,0,0,.28) !important; }
body:not(.auth-page) :is(h1,h2,h3,h4,h5,h6,strong,b,label,.player-name,.row-title,.card-title,.modal-title,th,td) { color:#f7f3ea !important; }
body:not(.auth-page) :is(p,small,.muted,.muted-text,.text-muted,.row-meta,.card-text,.form-text,.empty-state,.metric-label) { color:#aebbc4 !important; }
body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select) { color:#f7f3ea !important;background:#0c2030 !important;border-color:rgba(255,255,255,.14) !important; }
body:not(.auth-page) :is(input,textarea)::placeholder { color:#899aa7 !important;opacity:1; }
body:not(.auth-page) select option { color:#f7f3ea;background:#0c2030; }
body:not(.auth-page) :is(table,thead,tbody,tr,td,th) { border-color:rgba(255,255,255,.1) !important; }
body:not(.auth-page) thead th { color:#ffd08a !important;background:#142d40 !important; }
body:not(.auth-page) tbody tr,body:not(.auth-page) tbody tr:nth-child(even) { color:#f7f3ea !important;background:rgba(13,29,43,.9) !important; }
body:not(.auth-page) tbody tr:hover { background:#19394d !important; }
body:not(.auth-page) :is(.alert,.notice,.info-box,.stadium-note,.awards-note) { color:#f3ead7 !important;border-color:rgba(255,180,84,.24) !important;background:rgba(94,57,16,.42) !important; }
body:not(.auth-page) a:not(.btn):not(.hero-cta):not(.mobile-dock a) { color:#ffc06b; }

/* Contrasto dark uniforme anche per componenti nati con la vecchia palette chiara. */
body:not(.auth-page) :is(.fan-formula,.file-drop,.column-guide>div,.secondary-file,.source-result,
    .result-banner,.template-link,.preview-stats span,.status-chip,.row-error,.contract-pill,
    .stadium-data,.tier-row,.outcome-card) {
    color:#f7f3ea !important;
    border-color:rgba(255,255,255,.12) !important;
    background:#102535 !important;
}
body:not(.auth-page) :is(.fan-formula,.file-drop,.column-guide>div,.secondary-file,.source-result,
    .result-banner,.template-link,.preview-stats span,.status-chip,.row-error,.contract-pill,
    .stadium-data,.tier-row,.outcome-card) :is(span,small,p,strong,b) { color:inherit !important; }
body:not(.auth-page) .sponsor-alert.success { color:#baf5d9 !important;background:#123d32 !important; }
body:not(.auth-page) .sponsor-alert.error { color:#ffd0cc !important;background:#482326 !important; }
.stadium-upgrade{display:grid;gap:8px;margin-top:14px}.stadium-upgrade button{display:flex;width:100%;min-height:52px;align-items:center;gap:10px;padding:11px 14px;border:1px solid rgba(255,159,67,.28);border-radius:14px;color:#f7f3ea;background:linear-gradient(135deg,#173044,#503018);font-weight:850;cursor:pointer}.stadium-upgrade button strong{margin-left:auto;color:#ffc06b!important}.stadium-upgrade button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.58}.stadium-upgrade small{color:#b7c3ca!important}.stadium-max{display:flex;align-items:center;gap:8px;margin-top:14px;color:#7ce0b5!important}.awards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.awards-grid article>div{min-width:0}.awards-grid article small b{color:#ffc06b!important}.awards-grid article> b{color:#ffc06b!important}
@media(max-width:760px){.awards-grid{grid-template-columns:1fr}}


/* La barra del live mantiene cinque colonne stabili e non copre la panchina. */
@media(max-width:760px){
  body.live-lineups-page{padding-bottom:104px!important}
  .live-lineups-page .mobile-dock{position:fixed!important;z-index:2000!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;left:8px!important;display:grid!important;width:auto!important;height:72px!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch!important;gap:3px!important;margin:0!important;padding:6px!important;overflow:visible!important;border-radius:20px!important}
  .live-lineups-page .mobile-dock a{display:flex!important;min-width:0!important;min-height:58px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:4px 1px!important;border-radius:13px!important;font-size:8px!important;transform:none!important}
  .live-lineups-page .mobile-dock a span{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .live-lineups-page .mobile-dock .dock-match-action{min-height:58px!important;margin-top:-12px!important}
  .live-lineups-page .mobile-dock .dock-match-action .dock-action-icon{width:48px!important;height:48px!important;flex:0 0 48px!important;border-width:4px!important;font-size:19px!important}
}

/* FantaInfinity identity v3.8 - pitch-wide visual system
   Il campo diventa la tela comune di ogni vista; superfici e componenti legacy
   ricevono lo stesso linguaggio cromatico su desktop e mobile. */
html[data-theme="light"]{
    --fi-pitch-1:#dcefdc;
    --fi-pitch-2:#cde6cf;
    --fi-pitch-3:#eaf6e8;
    --fi-ink:#173027;
    --fi-ink-soft:#526a60;
    --fi-card:#fbfff9;
    --fi-card-line:#84ad8f;
    --fi-blue-soft:#dcecf8;
    --fi-teal-soft:#d9efe8;
    --fi-gold-soft:#f7e6b5;
    --fi-violet-soft:#e9def4;
    --fi-coral-soft:#f5d9cf;
}

html[data-theme="light"] body:not(.auth-page){
    min-height:100vh!important;
    color:var(--fi-ink)!important;
    background:
        radial-gradient(circle at 50% 42%,transparent 0 76px,rgba(255,255,255,.23) 77px 79px,transparent 80px),
        linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.2) calc(50% - 1px),rgba(255,255,255,.2) calc(50% + 1px),transparent calc(50% + 1px)),
        radial-gradient(circle at 8% 8%,rgba(255,255,255,.52),transparent 25rem),
        repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 9%,rgba(44,126,70,.035) 9%,rgba(44,126,70,.035) 18%),
        linear-gradient(145deg,var(--fi-pitch-3),var(--fi-pitch-1) 48%,var(--fi-pitch-2))!important;
    background-attachment:fixed!important;
}

/* Superfici universali: coprono anche le viste storiche e i componenti Bootstrap. */
html[data-theme="light"] body:not(.auth-page) :is(
    .card,.panel,.csv-panel,.content-card,.dashboard-panel,.table-panel,
    .table-wrapper,.modal-content,.details-card,.detail-section,.update-section,
    .section,.subsection,.admin-box,.next-match,.hero-scorecard,.club-card,
    .partite-container,.match-details,.api-state,.empty-state,.empty-message
){
    color:var(--fi-ink)!important;
    border:1px solid rgba(72,126,86,.34)!important;
    border-top:4px solid #4c9466!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,rgba(253,255,251,.97),rgba(232,245,232,.97))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 14px 32px rgba(29,78,45,.13)!important;
}

html[data-theme="light"] body:not(.auth-page)>:is(.container,.page),
html[data-theme="light"] body:not(.auth-page)>main,
html[data-theme="light"] body:not(.auth-page) main>.container{
    color:var(--fi-ink)!important;
}

html[data-theme="light"] body:not(.auth-page) :is(
    .card,.panel,.csv-panel,.content-card,.dashboard-panel,.table-panel,
    .table-wrapper,.modal-content,.details-card,.detail-section,.update-section,
    .section,.subsection,.admin-box,.next-match,.hero-scorecard,.club-card,
    .partite-container,.match-details,.api-state,.empty-state,.empty-message
) :is(h1,h2,h3,h4,h5,h6,strong,b,label){color:var(--fi-ink)!important}

html[data-theme="light"] body:not(.auth-page) :is(
    .card,.panel,.csv-panel,.content-card,.dashboard-panel,.table-panel,
    .table-wrapper,.modal-content,.details-card,.detail-section,.update-section,
    .section,.subsection,.admin-box,.next-match,.hero-scorecard,.club-card,
    .partite-container,.match-details,.api-state,.empty-state,.empty-message
) :is(p,small,.muted-text,.text-muted){color:var(--fi-ink-soft)!important}

/* Testate colorate, per dare ritmo anche alle pagine gestionali. */
html[data-theme="light"] body:not(.auth-page) :is(.card-header,.panel-header,.modal-header,.role-header,.section-title){
    color:#fff!important;
    border-color:rgba(18,77,45,.24)!important;
    background:linear-gradient(135deg,#24754a,#3f9360)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.card-header,.panel-header,.modal-header,.role-header,.section-title) :is(h1,h2,h3,h4,h5,h6,strong,span,i,a){color:#fff!important}

/* Colori per funzione, validi in ogni pagina. */
html[data-theme="light"] body:not(.auth-page) :is(.market-card,.market-panel,.market-guide,.auction-card){
    color:#153b32!important;border-color:#4caa88!important;background:linear-gradient(145deg,#effbf5,var(--fi-teal-soft))!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.player-card,.player-sheet,.player-row,.player-slot,.fan-player,.picker-player,.bench-card,.reserve-card,.role-section){
    color:#17374c!important;border-color:#6da2c2!important;background:linear-gradient(145deg,#f5fbff,var(--fi-blue-soft))!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.trade-card,.trade-step,.trade-list){
    color:#39294a!important;border-color:#9a7eb5!important;background:linear-gradient(145deg,#faf6ff,var(--fi-violet-soft))!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.sponsor-card,.sponsor-alert,.tier-row,.awards-grid>article,.trophy-card){
    color:#493509!important;border-color:#cea33f!important;background:linear-gradient(145deg,#fffbeb,var(--fi-gold-soft))!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.contract-row,.movement-row,.penalty-box,.outcome-card){
    color:#4a291f!important;border-color:#d38a74!important;background:linear-gradient(145deg,#fff7f3,var(--fi-coral-soft))!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.stat,.stat-card,.metric,.card-stat,.stadium-data,.scorecard-breakdown>span){
    color:#17384c!important;border-color:#76a6c2!important;background:linear-gradient(145deg,#f5fbff,#dcecf8)!important;
}

/* Liste e righe diventano vere card compatte, non blocchi grigi. */
html[data-theme="light"] body:not(.auth-page) :is(
    .list-group-item,.team-list>li,.player-list>li,.mission-row,.movement-row,
    .contract-row,.tier-row,.match-card,.home-match,.column-guide>div
){
    color:var(--fi-ink)!important;
    border-color:rgba(67,124,82,.31)!important;
    background:linear-gradient(145deg,#ffffff,#eaf5e9)!important;
    box-shadow:0 7px 18px rgba(29,78,45,.09)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.list-group-item,.team-list>li,.player-list>li,.match-card) :is(a,p,span,strong,b,small){color:inherit!important}

/* Tabelle chiare e sportive in tutte le viste. */
html[data-theme="light"] body:not(.auth-page) :is(table,.table,.standings-table){
    color:var(--fi-ink)!important;
    border-color:rgba(65,119,79,.3)!important;
    background:rgba(250,255,248,.92)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(thead,.table thead){
    color:#fff!important;background:linear-gradient(135deg,#1f6d43,#39885a)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(thead,.table thead) :is(th,a,span){color:#fff!important}
html[data-theme="light"] body:not(.auth-page) tbody tr,
html[data-theme="light"] body:not(.auth-page) .table-striped>tbody>tr:nth-of-type(odd)>*{
    color:var(--fi-ink)!important;background:rgba(250,255,248,.96)!important;
}
html[data-theme="light"] body:not(.auth-page) tbody tr:nth-child(even),
html[data-theme="light"] body:not(.auth-page) .table-striped>tbody>tr:nth-of-type(even)>*{
    color:var(--fi-ink)!important;background:rgba(224,241,225,.94)!important;
}
html[data-theme="light"] body:not(.auth-page) tbody tr:hover,
html[data-theme="light"] body:not(.auth-page) .table-striped>tbody>tr:hover>*{
    background:#d2ead6!important;
}
html[data-theme="light"] body:not(.auth-page) :is(td,th){border-color:rgba(66,119,80,.22)!important}

/* Form e filtri coerenti con il terreno di gioco. */
html[data-theme="light"] body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select){
    color:#183128!important;
    border:1px solid #91b99b!important;
    background:#fbfff9!important;
    box-shadow:inset 0 1px 3px rgba(28,80,45,.07)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select):focus{
    border-color:#318356!important;
    box-shadow:0 0 0 4px rgba(49,131,86,.16)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.toolbar,.filters,.filter-bar,.round-selector,.admin-form){
    color:var(--fi-ink)!important;
    border-color:rgba(67,124,82,.32)!important;
    background:rgba(239,249,237,.94)!important;
}

/* Il verde resta protagonista anche nel tema scuro, senza perdere contrasto. */
html[data-theme="dark"] body:not(.auth-page){
    background:
        radial-gradient(circle at 50% 42%,transparent 0 76px,rgba(185,232,196,.08) 77px 79px,transparent 80px),
        linear-gradient(90deg,transparent calc(50% - 1px),rgba(185,232,196,.08) calc(50% - 1px),rgba(185,232,196,.08) calc(50% + 1px),transparent calc(50% + 1px)),
        repeating-linear-gradient(90deg,rgba(91,169,111,.035) 0,rgba(91,169,111,.035) 10%,transparent 10%,transparent 20%),
        linear-gradient(145deg,#07150d,#0d2517 52%,#081a11)!important;
    background-attachment:fixed!important;
}
html[data-theme="dark"] body:not(.auth-page) :is(.card,.panel,.section,.subsection,.csv-panel,.modal-content,.table-wrapper,.list-group-item){
    border-color:rgba(91,169,111,.3)!important;
    border-top:4px solid #4c9d68!important;
    background:linear-gradient(145deg,rgba(19,46,30,.97),rgba(10,30,19,.97))!important;
}

@media(max-width:760px){
    html[data-theme="light"] body:not(.auth-page),html[data-theme="dark"] body:not(.auth-page){background-attachment:scroll!important}
    html[data-theme="light"] body:not(.auth-page) :is(
        .card,.panel,.csv-panel,.content-card,.dashboard-panel,.table-panel,
        .table-wrapper,.modal-content,.section,.subsection,.role-section,
        .match-card,.player-card,.market-card,.trade-card,.sponsor-card
    ){
        border-radius:15px!important;
        box-shadow:0 8px 20px rgba(29,78,45,.12)!important;
    }
    html[data-theme="light"] body:not(.auth-page) :is(.container,.page,main){max-width:100%!important}
    html body:not(.auth-page) :is(a.fi-dashboard-back,a.fi-back-link,a.sheet-back,.topbar>a.back-link:first-child,.player-topbar>a:first-child,.trade-topbar>a:first-child,.live-header>a.back-button:first-child){
        display:inline-grid!important;width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;min-height:46px!important;place-items:center!important;padding:0!important;overflow:hidden!important;border-radius:14px!important;
    }
    html body:not(.auth-page) :is(a.fi-dashboard-back,a.fi-back-link,a.sheet-back,.topbar>a.back-link:first-child,.player-topbar>a:first-child,.trade-topbar>a:first-child,.live-header>a.back-button:first-child)>:is(span,.back-copy){display:none!important}
    html body:not(.auth-page) :is(a.fi-dashboard-back,a.fi-back-link,a.sheet-back,.topbar>a.back-link:first-child,.player-topbar>a:first-child,.trade-topbar>a:first-child,.live-header>a.back-button:first-child) :is(svg,i){width:21px!important;height:21px!important;margin:0!important;font-size:20px!important}
    html body:not(.auth-page) a.rules-back{width:46px!important;min-width:46px!important;height:46px!important;padding:0!important;font-size:0!important}
    html body:not(.auth-page) a.rules-back i{font-size:19px!important}
}

/* FantaInfinity identity v4.0 - campo piu' saturo + dashboard mobile-first. */
html[data-theme="light"] body:not(.auth-page){
    background:
        radial-gradient(circle at 50% 42%,transparent 0 76px,rgba(255,255,255,.25) 77px 79px,transparent 80px),
        linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.22) calc(50% - 1px),rgba(255,255,255,.22) calc(50% + 1px),transparent calc(50% + 1px)),
        radial-gradient(circle at 8% 8%,rgba(242,255,240,.48),transparent 24rem),
        repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0,rgba(255,255,255,.055) 9%,rgba(30,118,58,.055) 9%,rgba(30,118,58,.055) 18%),
        linear-gradient(145deg,#d5ecd2,#c3e0c4 48%,#acd2b2)!important;
}

@media(max-width:760px){
    html[data-theme="light"] body.dashboard-page{padding-bottom:92px!important}

    html body.dashboard-page .dashboard-shell{
        display:flex!important;
        width:100%!important;
        max-width:100%!important;
        flex-direction:column!important;
        gap:10px!important;
        margin:0!important;
        padding:8px 10px 18px!important;
    }

    html body.dashboard-page .dashboard-header{
        position:sticky!important;
        z-index:70!important;
        top:6px!important;
        min-height:58px!important;
        gap:8px!important;
        margin:0!important;
        padding:7px 8px!important;
        border-radius:17px!important;
        border-color:rgba(44,111,64,.3)!important;
        background:rgba(247,253,244,.94)!important;
        box-shadow:0 8px 22px rgba(25,77,41,.14)!important;
        backdrop-filter:blur(16px)!important;
    }
    html body.dashboard-page .dashboard-brand img{width:43px!important;height:43px!important;border-radius:12px!important}
    html body.dashboard-page .dashboard-user{
        display:flex!important;
        max-width:min(51vw,190px)!important;
        min-height:43px!important;
        padding:5px 7px!important;
        border-color:#a7c9ad!important;
        background:#e7f4e6!important;
    }
    html body.dashboard-page .dashboard-user i{display:none!important}
    html body.dashboard-page .dashboard-user strong{color:#173027!important;font-size:12px!important}
    html body.dashboard-page .dashboard-user span{color:#39704d!important;font-size:9px!important}
    html body.dashboard-page .logout-action{width:43px!important;height:43px!important;min-height:43px!important}

    html body.dashboard-page .mobile-match-center{
        order:2!important;
        display:grid!important;
        gap:10px!important;
        margin:0!important;
        padding:14px!important;
        overflow:hidden!important;
        border:1px solid #4c9980!important;
        border-top:4px solid #207252!important;
        border-radius:20px!important;
        color:#153b35!important;
        background:linear-gradient(145deg,#effaf4,#c9e8db)!important;
        box-shadow:0 12px 28px rgba(27,91,56,.16)!important;
    }
    html body.dashboard-page .mobile-match-center::after{opacity:.16!important}
    html body.dashboard-page .mobile-match-topline{margin:0!important;padding:0 1px 8px!important;border-bottom:1px solid rgba(31,110,77,.2)!important}
    html body.dashboard-page .mobile-match-topline :is(span,a,i){color:#1a6648!important}
    html body.dashboard-page .mobile-current-match{gap:9px!important;padding:0!important}
    html body.dashboard-page .mobile-round{color:#286f51!important}
    html body.dashboard-page .mobile-current-match h2{
        grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)!important;
        gap:7px!important;
        margin:1px 0!important;
        font-size:clamp(15px,4.6vw,19px)!important;
        line-height:1.14!important;
    }
    html body.dashboard-page .mobile-current-match h2 span{color:#15352b!important;white-space:normal!important;overflow-wrap:anywhere!important}
    html body.dashboard-page .mobile-current-match h2 b{color:#fff!important;background:#277953!important;box-shadow:none!important}
    html body.dashboard-page .mobile-standings-line span{color:#356f51!important;font-size:10px!important}
    html body.dashboard-page .formation-deadline{
        min-height:50px!important;margin:0!important;padding:8px 10px!important;
        border-color:rgba(38,116,79,.25)!important;background:rgba(255,255,255,.55)!important;
    }
    html body.dashboard-page .formation-deadline :is(i,small,strong){color:#244e3b!important}
    html body.dashboard-page .mobile-lineup-cta{
        min-height:52px!important;margin:0!important;padding:10px 13px!important;border-radius:14px!important;
    }
    html body.dashboard-page .mobile-last-result{
        gap:8px!important;margin:0!important;padding:10px 0 0!important;border-color:rgba(31,110,77,.2)!important;
    }
    html body.dashboard-page .mobile-last-result span{color:#507363!important}
    html body.dashboard-page .mobile-last-result strong{color:#17352a!important}

    html body.dashboard-page .metrics-grid{
        order:3!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
        margin:0!important;
        overflow:visible!important;
    }
    html body.dashboard-page .metrics-grid>.dashboard-metric{
        width:auto!important;
        min-width:0!important;
        min-height:94px!important;
        padding:12px!important;
        border-radius:16px!important;
        box-shadow:0 8px 19px rgba(35,77,47,.12)!important;
    }
    html body.dashboard-page .dashboard-metric .metric-top{gap:6px!important}
    html body.dashboard-page .dashboard-metric .metric-label{font-size:10px!important;line-height:1.15!important}
    html body.dashboard-page .dashboard-metric .metric-top i{width:30px!important;height:30px!important;flex:0 0 30px!important;font-size:12px!important}
    html body.dashboard-page .dashboard-metric>strong{font-size:clamp(19px,6vw,25px)!important;line-height:1.05!important;overflow-wrap:anywhere!important}
    html body.dashboard-page .dashboard-metric>small{display:none!important}

    html body.dashboard-page .mobile-club-hub{
        order:4!important;
        gap:10px!important;
        margin:0!important;
        padding:14px!important;
        border:1px solid #7aa887!important;
        border-top:4px solid #3d8857!important;
        border-radius:20px!important;
        background:linear-gradient(145deg,#eef8eb,#d7ebd6)!important;
        box-shadow:0 10px 24px rgba(29,78,45,.13)!important;
    }
    html body.dashboard-page .mobile-hub-heading span{color:#33744c!important}
    html body.dashboard-page .mobile-hub-heading strong{margin-top:2px!important;color:#173027!important;font-size:18px!important}
    html body.dashboard-page .mobile-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
    html body.dashboard-page .mobile-hub-grid>a{
        min-height:104px!important;
        grid-template-columns:1fr!important;
        grid-template-rows:38px auto!important;
        align-content:start!important;
        gap:7px!important;
        padding:11px!important;
        border-radius:15px!important;
    }
    html body.dashboard-page .mobile-hub-grid>a:nth-child(3){
        min-height:70px!important;grid-column:1/-1!important;grid-template-columns:40px minmax(0,1fr) auto!important;grid-template-rows:1fr!important;align-items:center!important;
    }
    html body.dashboard-page .mobile-hub-grid>a>i:first-child{width:38px!important;height:38px!important;border-radius:11px!important}
    html body.dashboard-page .mobile-hub-grid>a>i:last-child{display:none!important}
    html body.dashboard-page .mobile-hub-grid>a:nth-child(3)>i:last-child{display:block!important}
    html body.dashboard-page .mobile-hub-grid strong{font-size:13px!important;line-height:1.15!important}
    html body.dashboard-page .mobile-hub-grid small{font-size:10px!important;line-height:1.2!important}

    html body.dashboard-page .dashboard-hero{
        order:5!important;
        display:grid!important;
        min-height:0!important;
        grid-template-columns:minmax(0,1fr) 118px!important;
        gap:10px!important;
        align-items:center!important;
        margin:0!important;
        padding:14px!important;
        border-radius:20px!important;
        background-position:54% center!important;
    }
    html body.dashboard-page .dashboard-hero .hero-copy{min-width:0!important}
    html body.dashboard-page .dashboard-hero .hero-kicker{margin-bottom:5px!important;font-size:9px!important}
    html body.dashboard-page .dashboard-hero h1{margin:0!important;font-size:clamp(22px,7vw,30px)!important;line-height:1.02!important;overflow-wrap:anywhere!important}
    html body.dashboard-page .dashboard-hero .hero-description,
    html body.dashboard-page .dashboard-hero .hero-actions{display:none!important}
    html body.dashboard-page .dashboard-hero .hero-scorecard{
        width:118px!important;min-width:0!important;padding:10px!important;border-radius:14px!important;
    }
    html body.dashboard-page .hero-scorecard .scorecard-label{font-size:8px!important}
    html body.dashboard-page .hero-scorecard .scorecard-main strong{font-size:21px!important;overflow-wrap:anywhere!important}
    html body.dashboard-page .hero-scorecard .scorecard-main i{font-size:15px!important}
    html body.dashboard-page .hero-scorecard .scorecard-breakdown{display:none!important}

    html body.dashboard-page .dashboard-layout{order:6!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0!important}
    html body.dashboard-page .dashboard-column{gap:10px!important}
    html body.dashboard-page :is(.desktop-shortcuts,.match-priority,.next-match-panel){display:none!important}
    html body.dashboard-page .dashboard-panel{padding:14px!important;border-radius:18px!important}
    html body.dashboard-page .section-heading{gap:8px!important;margin-bottom:11px!important}
    html body.dashboard-page .section-heading h2{font-size:18px!important;line-height:1.12!important}
    html body.dashboard-page .section-heading>div>span{font-size:9px!important}
    html body.dashboard-page .section-link{min-height:36px!important;padding:7px 9px!important;font-size:10px!important}
    html body.dashboard-page .fan-player{padding:8px!important}
    html body.dashboard-page .fan-formula{padding:10px!important;font-size:10px!important}
    html body.dashboard-page .sponsor-summary{gap:8px!important;padding:0!important}
    html body.dashboard-page .sponsor-summary article{padding:11px!important}
    html body.dashboard-page>.dashboard-panel{order:7!important;margin:0!important}
    html body.dashboard-page .awards-grid{gap:8px!important;padding:0!important}
    html body.dashboard-page .awards-grid article{padding:10px!important}

    html body.dashboard-page .mobile-dock{
        right:7px!important;bottom:max(7px,env(safe-area-inset-bottom))!important;left:7px!important;
        min-height:66px!important;padding:6px!important;border-radius:19px!important;
        border-color:#88ad90!important;background:rgba(247,253,244,.97)!important;
        box-shadow:0 -7px 24px rgba(27,78,43,.16)!important;
    }
    html body.dashboard-page .mobile-dock a{min-height:52px!important;border-radius:12px!important}
}

@media(max-width:350px){
    html body.dashboard-page .dashboard-shell{padding-inline:7px!important}
    html body.dashboard-page .dashboard-user{max-width:46vw!important}
    html body.dashboard-page .dashboard-hero{grid-template-columns:1fr!important}
    html body.dashboard-page .dashboard-hero .hero-scorecard{width:100%!important}
    html body.dashboard-page .metrics-grid{gap:7px!important}
    html body.dashboard-page .metrics-grid>.dashboard-metric{padding:10px!important}
}


/* Contorni arancioni luminosi e coerenti su tutte le superfici principali. */
body:not(.auth-page) :is(
    .dashboard-metric,.dashboard-panel,.hero-scorecard,.mobile-match-center,
    .panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,
    .player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,
    .stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,
    .team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,
    .bench-panel,.fan-player,.sponsor-summary article,.awards-grid article,
    .outcome-card,.stadium-data,.tier-row,.movement-row
) {
    border-color: rgba(255,159,67,.38) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.055),
        0 0 0 1px rgba(255,159,67,.055),
        0 16px 38px rgba(0,0,0,.34),
        0 0 24px rgba(255,128,36,.075) !important;
}
body:not(.auth-page) :is(
    a.player-card,a.quick-card,a.hub-tile,a.market-card,a.trade-card,
    button.picker-player,.bench-card
):hover {
    border-color: rgba(255,179,92,.72) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 0 0 1px rgba(255,159,67,.11),
        0 18px 42px rgba(0,0,0,.38),
        0 0 30px rgba(255,128,36,.14) !important;
}
@media (max-width:760px) {
    body:not(.auth-page) :is(
        .dashboard-metric,.dashboard-panel,.mobile-match-center,.panel,.card,
        .player-card,.quick-card,.hub-tile,.market-card,.team-details,
        .match-scoreboard,.bench-card,.role-section
    ) {
        border-color: rgba(255,159,67,.34) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.05),
            0 12px 28px rgba(0,0,0,.32),
            0 0 18px rgba(255,128,36,.065) !important;
    }
}


.listone-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px}.listone-pagination>a{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:0 14px;border:1px solid rgba(255,159,67,.36);border-radius:12px;color:#ffc06b!important;background:#102535;text-decoration:none;font-weight:850}.listone-pagination>a.disabled{pointer-events:none;opacity:.38}.listone-pagination>span{color:#aebbc4}.listone-pagination b{color:#f7f3ea!important}@media(max-width:520px){.listone-pagination{gap:8px;padding:14px 6px}.listone-pagination>a{padding:0 11px}.listone-pagination>a span{display:none}}


/* Ritorno coerente e sempre leggibile nelle viste di lega e campionato. */
body:not(.auth-page) :is(.league-teams-page,.competition-page,.roster-page,.news-page) .back-link {
    display:inline-flex!important;min-height:44px;align-items:center;justify-content:center;gap:9px;padding:9px 14px!important;
    border:1px solid rgba(255,176,82,.62)!important;border-radius:13px!important;color:#211204!important;
    background:linear-gradient(135deg,#ffc06b,#ff963b)!important;box-shadow:0 10px 24px rgba(255,128,36,.22)!important;
    font-weight:900!important;text-decoration:none!important;
}
.league-teams-page .team-copy h3 { display:block!important;margin:0 0 7px!important;color:#fff8ed!important;font-size:clamp(20px,3vw,27px)!important;line-height:1!important; }
.league-teams-page .owner span { color:#aebbc4!important; }
.league-teams-page .owner small { color:#7f919d!important;font-size:9px;text-transform:uppercase; }
.league-teams-page .owner b { color:#dbe6eb!important; }
.league-teams-page .seed { display:inline-flex;max-width:100%;align-items:center;gap:6px;color:#ffc06b!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.dock-progress{position:absolute;top:3px;right:5px;padding:2px 4px;border-radius:999px;color:#2a1706!important;background:#ffad57;font-size:6px!important;font-weight:950!important;text-transform:uppercase}
.mobile-dock a{position:relative}
.news-shell{width:min(920px,calc(100% - 32px));margin:0 auto;padding:28px 0 120px}.news-coming-soon{display:grid;min-height:60vh;place-items:center;align-content:center;gap:14px;margin-top:24px;padding:clamp(28px,6vw,72px);border:1px solid rgba(255,159,67,.4);border-radius:28px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(255,159,67,.17),transparent 22rem),linear-gradient(145deg,#122b3d,#07131f);box-shadow:0 22px 60px rgba(0,0,0,.38),0 0 28px rgba(255,128,36,.08)}.news-icon{display:grid;width:82px;height:82px;place-items:center;border:1px solid rgba(255,190,110,.45);border-radius:24px;color:#ffc06b;background:#182f40;font-size:34px}.news-coming-soon>p:first-of-type{margin:0;color:#77dfad!important;font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.news-coming-soon h1{max-width:650px;margin:0;color:#fff8ed!important;font-size:clamp(34px,7vw,64px);line-height:.95}.progress-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;color:#241303;background:linear-gradient(135deg,#ffc06b,#ff963b);font-size:11px;font-weight:950;text-transform:uppercase}.news-copy{max-width:590px;margin:4px 0 0!important;color:#aebdc7!important;line-height:1.65}


/* Arancio dominante: bordi netti, azioni leggibili e superfici separate. */
body:not(.auth-page) :is(
    .dashboard-metric,.dashboard-panel,.hero-scorecard,.mobile-match-center,
    .panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,
    .player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,
    .stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,
    .team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,
    .bench-panel,.fan-player,.sponsor-summary article,.awards-grid article,
    .outcome-card,.stadium-data,.tier-row,.movement-row
) {
    border-width:2px !important;
    border-style:solid !important;
    border-color:rgba(255,153,55,.72) !important;
    box-shadow:inset 0 1px 0 rgba(255,225,188,.10),0 0 0 1px rgba(255,126,25,.12),0 16px 38px rgba(0,0,0,.38),0 0 22px rgba(255,126,25,.15) !important;
}
.dashboard-page :is(.hero-cta,.review-lineup-link),
.dashboard-page :is(.hero-cta,.review-lineup-link) :is(span,i),
.dashboard-page .mobile-review-lineup,
.dashboard-page .mobile-review-lineup :is(span,i) { color:#241306 !important; }
.dashboard-page :is(.hero-cta,.review-lineup-link,.mobile-review-lineup) {
    border:2px solid #ffd18d !important;
    background:linear-gradient(135deg,#ffc267,#ff8f2f) !important;
    box-shadow:0 10px 26px rgba(255,126,25,.30),inset 0 1px 0 rgba(255,255,255,.40) !important;
}
.roster-page .role-count {
    border:2px solid #ffab50 !important;
    color:#fff7e9 !important;
    background:linear-gradient(135deg,#5b3212,#2b1d15) !important;
    box-shadow:0 0 18px rgba(255,145,47,.24) !important;
}
body:not(.auth-page) :is(.metric-top i,.eyebrow,.section-heading>div>span,.panel-kicker) { color:#ffad57 !important; }
@media (max-width:760px) {
    body:not(.auth-page) :is(
        .dashboard-metric,.dashboard-panel,.mobile-match-center,.panel,.card,
        .player-card,.quick-card,.hub-tile,.market-card,.team-details,
        .match-scoreboard,.bench-card,.role-section
    ) {
        border-width:2px !important;
        border-color:rgba(255,153,55,.70) !important;
        box-shadow:inset 0 1px 0 rgba(255,225,188,.09),0 12px 28px rgba(0,0,0,.36),0 0 18px rgba(255,126,25,.13) !important;
    }
}


/* Listone mobile: foto e identità del ruolo immediatamente leggibili. */
@media (max-width:720px) {
  .listone-page .advanced-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px; }
  .listone-page .advanced-filters label:first-child,.listone-page .advanced-filters label:nth-child(2) { grid-column:span 1; }
  .listone-page .apply-filters,.listone-page .reset-filters { width:100%; }
  .listone-page #playerTable tr { grid-template-columns:minmax(0,1fr) auto!important; gap:10px!important; padding:12px!important; border-width:2px!important; background:#0d2130!important; }
  .listone-page #playerTable tr.role-row-PORTIERE { border-color:#f4a62a!important; background:linear-gradient(135deg,rgba(244,166,42,.18),#0d2130 48%)!important; }
  .listone-page #playerTable tr.role-row-DIFENSORE { border-color:#398ee9!important; background:linear-gradient(135deg,rgba(57,142,233,.18),#0d2130 48%)!important; }
  .listone-page #playerTable tr.role-row-CENTROCAMPISTA { border-color:#31bd78!important; background:linear-gradient(135deg,rgba(49,189,120,.18),#0d2130 48%)!important; }
  .listone-page #playerTable tr.role-row-ATTACCANTE { border-color:#ed5155!important; background:linear-gradient(135deg,rgba(237,81,85,.18),#0d2130 48%)!important; }
  .listone-page #playerTable td[data-label="Giocatore"] { grid-column:1; grid-row:1; }
  .listone-page #playerTable td[data-label="Ruolo"] { grid-column:2; grid-row:1; align-self:start; }
  .listone-page #playerTable td[data-label="Valore FI"] { grid-column:2; grid-row:2; justify-content:flex-end; }
  .listone-page #playerTable td[data-label="Proprieta"] { grid-column:1; grid-row:2; padding-left:64px!important; }
  .listone-page #playerTable td[data-label="Contratto"] { grid-column:1/-1; grid-row:3; padding:8px 10px!important; border-radius:9px; background:rgba(5,15,23,.45); }
  .listone-page #playerTable td[data-label="Preferiti"],.listone-page #playerTable td[data-label="Admin"] { grid-column:1/-1; grid-row:4; }
  .listone-page .listone-photo { width:54px; height:62px; flex-basis:54px; border-radius:12px; }
  .listone-page .player-name { color:#fffaf0!important; font-size:16px!important; font-weight:1000!important; line-height:1.14!important; white-space:normal!important; }
  .listone-page .player-team { color:#c7d5dd!important; font-size:11px!important; }
}
@media (max-width:420px) {
  .listone-page .advanced-filters { grid-template-columns:1fr 1fr; }
  .listone-page .advanced-filters label:first-child,.listone-page .advanced-filters label:nth-child(2) { grid-column:1/-1; }
}


/* Palette FantaInfinity: antracite caldo, arancio e verde campo. */
:root {
    --fi-theme-bg:#080b09;
    --fi-theme-surface:#151411;
    --fi-theme-surface-2:#1d1914;
    --fi-theme-surface-3:#282016;
    --fi-theme-line:rgba(255,153,55,.58);
    --fi-theme-text:#fff8ed;
    --fi-theme-muted:#c6b7a5;
    --fi-theme-orange:#ff9638;
    --fi-theme-green:#32c982;
}
html body:not(.auth-page) {
    color:#fff8ed!important;
    background:
        radial-gradient(circle at 92% -8%,rgba(255,137,36,.20),transparent 31rem),
        radial-gradient(circle at -10% 52%,rgba(35,167,104,.14),transparent 34rem),
        linear-gradient(145deg,#070a08,#11100d 55%,#090d0b)!important;
}
html body:not(.auth-page) :is(
    .dashboard-panel,.dashboard-metric,.panel,.card,.content-card,.table-panel,.table-wrapper,
    .role-section,.stat,.stat-card,.metric,.quick-card,.hub-tile,.market-card,.trade-card,
    .team-details,.match-scoreboard,.bench-card,.formation-panel,.bench-panel,.economy-card,
    .home-economy,.stadium-panel,.sponsor-card,.player-card,.fan-player,.outcome-card,
    .stadium-data,.tier-row,.movement-row,.reserve-card,.club-action
) {
    color:#fff8ed!important;
    border-color:rgba(255,151,53,.68)!important;
    background:
        radial-gradient(circle at 100% 0,rgba(255,142,40,.105),transparent 14rem),
        linear-gradient(145deg,#1b1814,#0d1210)!important;
    box-shadow:inset 0 1px 0 rgba(255,224,183,.09),0 16px 38px rgba(0,0,0,.42),0 0 20px rgba(255,125,25,.12)!important;
}
html body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select) {
    color:#fff8ed!important;
    border-color:rgba(255,151,53,.46)!important;
    background:#12120f!important;
}
html body:not(.auth-page) :is(h1,h2,h3,h4,h5,h6,strong,b,label,.player-name,.row-title,.card-title,.modal-title,th,td) { color:#fff8ed!important; }
html body:not(.auth-page) :is(p,small,.muted,.muted-text,.text-muted,.row-meta,.card-text,.form-text,.empty-state,.metric-label) { color:#c6b7a5!important; }
html body:not(.auth-page) :is(.section-link,.eyebrow,.kicker,.panel-kicker,.metric-top i) { color:#ffad57!important; }

/* Sponsor dashboard: contrasto pieno e identità visiva. */
html .dashboard-page .sponsor-summary { gap:11px!important; }
html .dashboard-page .sponsor-summary article {
    position:relative;
    overflow:hidden;
    border:2px solid rgba(255,151,53,.78)!important;
    color:#fff8ed!important;
    background:
        linear-gradient(90deg,rgba(255,145,45,.15),transparent 42%),
        linear-gradient(145deg,#241b12,#111411)!important;
    box-shadow:inset 4px 0 0 #ff9638,0 10px 24px rgba(0,0,0,.34),0 0 16px rgba(255,126,25,.12)!important;
}
html .dashboard-page .sponsor-summary article strong { color:#fff8ed!important;font-size:14px;letter-spacing:.01em; }
html .dashboard-page .sponsor-summary article small { color:#d5c4ae!important;font-size:12px;line-height:1.4; }
html .dashboard-page .sponsor-summary>article>span {
    min-width:48px;
    padding:5px 8px;
    border:1px solid rgba(50,201,130,.48);
    border-radius:9px;
    color:#7eebba!important;
    background:rgba(20,87,59,.40)!important;
    text-align:center;
}
html .dashboard-page .sponsor-mini-progress { height:8px!important;border:1px solid rgba(255,151,53,.20);background:#090d0b!important; }
html .dashboard-page .sponsor-mini-progress i { background:linear-gradient(90deg,#ff8f2f,#ffc267 55%,#35cc86)!important;box-shadow:0 0 12px rgba(255,148,52,.38); }
html .dashboard-page .dashboard-panel { border-width:2px!important; }
html .dashboard-page .section-heading h2 { text-shadow:0 2px 12px rgba(0,0,0,.45); }
html .dashboard-page .section-heading>div>span { color:#ff9d43!important;letter-spacing:.13em; }

/* Evita il ritorno delle vecchie superfici azzurre nelle media query. */
@media (max-width:760px) {
    html body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.panel,.card,.content-card,.role-section,.table-panel,.quick-card,.market-card,.trade-card) {
        background:radial-gradient(circle at 100% 0,rgba(255,142,40,.11),transparent 11rem),linear-gradient(145deg,#1b1814,#0d1210)!important;
    }
    html .dashboard-page .sponsor-summary article { padding:14px!important; }
    html .dashboard-page .sponsor-summary article strong { font-size:15px; }
    html .dashboard-page .sponsor-summary article small { font-size:12px; }
}


/* Premi individuali: rimuove le vecchie card bianche. */
html .dashboard-page .awards-panel .awards-note {
    color:#d4c1aa!important;
    border-left:4px solid #ff9638;
    background:linear-gradient(90deg,rgba(255,145,45,.16),rgba(255,145,45,.035))!important;
}
html .dashboard-page .awards-grid article,
html .dashboard-page .awards-grid article.mine {
    border:2px solid rgba(255,151,53,.72)!important;
    color:#fff8ed!important;
    background:radial-gradient(circle at 100% 0,rgba(255,148,52,.13),transparent 10rem),linear-gradient(145deg,#211912,#101411)!important;
    box-shadow:inset 4px 0 0 #ff9638,0 12px 26px rgba(0,0,0,.34),0 0 16px rgba(255,126,25,.10)!important;
}
html .dashboard-page .awards-grid article>i { color:#241406!important;background:linear-gradient(135deg,#ffd06f,#e39a31)!important;box-shadow:0 7px 16px rgba(227,154,49,.24); }
html .dashboard-page .awards-grid article :is(span,small) { color:#cdbda9!important; }
html .dashboard-page .awards-grid article strong { color:#fff8ed!important;font-size:15px; }
html .dashboard-page .awards-grid article>div>b { color:#ffbd72!important; }
html .dashboard-page .awards-grid article>b { color:#ffbd72!important;font-size:15px; }


/* CTA formazione: azione primaria immediatamente riconoscibile. */
@keyframes fi-lineup-attention {
    0%, 100% { box-shadow:0 0 0 3px rgba(255,154,56,.16),0 12px 30px rgba(255,91,22,.34),inset 0 1px 0 rgba(255,255,255,.55); }
    50% { box-shadow:0 0 0 6px rgba(255,154,56,.08),0 15px 38px rgba(255,91,22,.48),inset 0 1px 0 rgba(255,255,255,.68); }
}
html .dashboard-page :is(.lineup-primary-cta,.mobile-lineup-cta) {
    border:3px solid #ffe0a3!important;
    color:#170b02!important;
    background:linear-gradient(135deg,#ffd46f 0%,#ff9a2f 45%,#ff671f 100%)!important;
    box-shadow:0 0 0 3px rgba(255,154,56,.16),0 12px 30px rgba(255,91,22,.38),inset 0 1px 0 rgba(255,255,255,.58)!important;
    font-weight:1000!important;
    letter-spacing:.015em;
    text-shadow:0 1px 0 rgba(255,255,255,.28);
    animation:fi-lineup-attention 2.5s ease-in-out infinite;
}
html .dashboard-page :is(.lineup-primary-cta,.mobile-lineup-cta) :is(span,i) { color:#170b02!important; }
html .dashboard-page .lineup-primary-cta { min-height:52px!important;padding:0 18px!important;border-radius:14px!important;font-size:14px!important; }
html .dashboard-page .lineup-primary-cta i:first-child,
html .dashboard-page .mobile-lineup-cta i:first-child {
    display:grid;
    width:29px;
    height:29px;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.42);
    box-shadow:inset 0 0 0 1px rgba(74,28,0,.12);
}
html .dashboard-page :is(.lineup-primary-cta,.mobile-lineup-cta):hover {
    filter:saturate(1.12) brightness(1.06);
    transform:translateY(-2px);
}
html .dashboard-page :is(.lineup-primary-cta,.mobile-lineup-cta):focus-visible {
    outline:4px solid #fff4d5!important;
    outline-offset:3px;
}
@media (max-width:760px) {
    html .dashboard-page .mobile-lineup-cta { min-height:58px!important;padding:12px 15px!important;border-radius:16px!important;font-size:15px!important; }
}
@media (prefers-reduced-motion:reduce) {
    html .dashboard-page :is(.lineup-primary-cta,.mobile-lineup-cta) { animation:none!important; }
}

/* Identita mobile: logo, utente, lega e logout. */
html .dashboard-page .dashboard-brand img {
    object-fit:contain!important;
    border:1px solid rgba(255,168,72,.46);
    background:radial-gradient(circle,rgba(255,145,38,.13),rgba(5,8,7,.82));
    box-shadow:0 0 0 2px rgba(255,147,44,.10),0 10px 25px rgba(0,0,0,.40),0 0 17px rgba(255,120,27,.18);
}
html .dashboard-page .logout-action {
    border:2px solid rgba(255,105,105,.78)!important;
    color:#fff5f2!important;
    background:linear-gradient(145deg,#d93636,#9e1f27)!important;
    box-shadow:0 9px 22px rgba(188,31,39,.34),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
html .dashboard-page .logout-action:hover { background:linear-gradient(145deg,#ef4949,#b5242d)!important;transform:translateY(-1px); }

@media (max-width:760px) {
    html .dashboard-page .dashboard-header {
        gap:8px!important;
        padding:8px!important;
        border:1px solid rgba(255,152,52,.48);
        border-radius:17px;
        background:linear-gradient(145deg,rgba(29,24,18,.97),rgba(8,14,12,.98));
        box-shadow:0 12px 30px rgba(0,0,0,.42),0 0 18px rgba(255,126,25,.10);
        backdrop-filter:blur(16px);
    }
    html .dashboard-page .dashboard-brand { flex:0 0 auto;gap:0; }
    html .dashboard-page .dashboard-brand>div { display:none!important; }
    html .dashboard-page .dashboard-brand img { width:46px!important;height:46px!important;border-radius:13px!important; }
    html .dashboard-page .dashboard-header-actions { min-width:0;flex:1 1 auto;justify-content:flex-end;gap:7px; }
    html .dashboard-page .dashboard-header-actions form { flex:0 0 auto;margin:0; }
    html .dashboard-page .dashboard-user {
        display:flex!important;
        min-width:0;
        flex:1 1 auto;
        gap:8px;
        padding:6px 9px 6px 6px;
        border:1px solid rgba(255,164,66,.33);
        border-radius:13px;
        background:linear-gradient(135deg,rgba(57,42,25,.86),rgba(14,27,22,.90));
        box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    }
    html .dashboard-page .dashboard-user>div { min-width:0; }
    html .dashboard-page .dashboard-user i { width:32px;height:32px;flex:0 0 32px;color:#261204!important;background:linear-gradient(135deg,#ffc562,#ff8d2c)!important; }
    html .dashboard-page .dashboard-user strong,
    html .dashboard-page .dashboard-user span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
    html .dashboard-page .dashboard-user strong { color:#fff8ed!important;font-size:13px;line-height:1.15; }
    html .dashboard-page .dashboard-user span { margin-top:2px;color:#ffbd72!important;font-size:10px;font-weight:800; }
    html .dashboard-page .logout-action { width:43px!important;height:43px!important;border-radius:13px!important; }
}

@media (max-width:370px) {
    html .dashboard-page .dashboard-header { gap:6px!important;padding:7px!important; }
    html .dashboard-page .dashboard-brand img { width:41px!important;height:41px!important; }
    html .dashboard-page .dashboard-user { padding-right:6px; }
    html .dashboard-page .dashboard-user i { display:none; }
    html .dashboard-page .logout-action { width:40px!important;height:40px!important; }
}
/* Pulsante di ritorno condiviso per tutte le viste. */
body:not(.auth-page) :is(.back-link,.back-arrow,.back-button,.sheet-back,.fi-back-link) {
    border-color:rgba(255,153,55,.72)!important;
    color:#fff8ed!important;
    background:linear-gradient(145deg,#22180f,#101411)!important;
    box-shadow:0 11px 26px rgba(0,0,0,.35),0 0 18px rgba(255,126,25,.13)!important;
}
body:not(.auth-page) :is(.back-link,.back-arrow,.back-button,.sheet-back,.fi-back-link):hover {
    border-color:#ffb15e!important;
    background:linear-gradient(145deg,#322014,#141a16)!important;
    transform:translateY(-1px);
}
/* Trattative: riepiloghi e modali sempre dark e leggibili. */
html body.trade-page {
    color:#fff8ed!important;
    background:radial-gradient(circle at 90% -8%,rgba(255,139,40,.15),transparent 31rem),radial-gradient(circle at -8% 55%,rgba(33,190,126,.10),transparent 28rem),linear-gradient(145deg,#050807,#0e1512 58%,#080b09)!important;
}
html body.trade-page :is(.card,.card-body,.list-group,.list-group-item,.modal-content,.modal-body,.modal-footer) {
    color:#fff8ed!important;
    border-color:rgba(255,153,55,.54)!important;
    background:linear-gradient(145deg,#1e1812,#0d1310)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 15px 34px rgba(0,0,0,.34),0 0 18px rgba(255,126,25,.08)!important;
}
html body.trade-page .card-header,
html body.trade-page :is(.card-header.bg-primary,.card-header.bg-success,.card-header.bg-info,.card-header.bg-secondary) {
    color:#fff8ed!important;
    border-bottom:1px solid rgba(255,164,65,.46)!important;
    background:linear-gradient(135deg,#392312,#171a14)!important;
}
html body.trade-page :is(.card-header h1,.card-header h2,.card-header h5,.modal-title) { color:#fff8ed!important; }
html body.trade-page .instructions,
html body.trade-page :is(.text-muted,p,small) { color:#c9b8a4!important; }
html body.trade-page :is(label,strong,span,td,li) { color:#fff3e3; }
html body.trade-page .table {
    --bs-table-color:#fff3e3;
    --bs-table-bg:#111713;
    --bs-table-border-color:rgba(255,153,55,.26);
    --bs-table-striped-color:#fff8ed;
    --bs-table-striped-bg:rgba(255,145,43,.055);
    --bs-table-hover-color:#fff8ed;
    --bs-table-hover-bg:rgba(255,145,43,.11);
    margin-bottom:0;
    color:#fff3e3!important;
    background:#111713!important;
}
html body.trade-page .table thead th { color:#ffbd73!important;background:#2a1c11!important;border-color:rgba(255,158,57,.35)!important; }
html body.trade-page .table tbody,
html body.trade-page .table tbody tr,
html body.trade-page .table tbody td,
html body.trade-page .table-striped>tbody>tr:nth-of-type(odd)>* {
    color:#fff3e3!important;
    border-color:rgba(255,153,55,.22)!important;
    background-color:#121814!important;
    box-shadow:none!important;
}
html body.trade-page .table tbody tr:nth-child(even),
html body.trade-page .table tbody tr:nth-child(even)>td { background-color:#1b1813!important; }
html body.trade-page :is(input,select,textarea,.form-control,.form-select) {
    color:#fff8ed!important;
    border:1px solid rgba(255,158,61,.48)!important;
    background:#090f0c!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html body.trade-page :is(input,textarea)::placeholder { color:#8f8171!important; }
html body.trade-page select option { color:#fff8ed!important;background:#101713!important; }
html body.trade-page .modal-dialog { color:#fff8ed; }
html body.trade-page .modal-header { border-color:rgba(255,153,55,.52)!important;background:linear-gradient(135deg,#392312,#171a14)!important; }
html body.trade-page .modal-footer { border-top:1px solid rgba(255,153,55,.30)!important; }
html body.trade-page .btn-close { filter:invert(1) sepia(.25) saturate(2);opacity:.9; }
html body.trade-page .btn-link { color:#ffb35f!important;font-weight:850;text-decoration:none; }
html body.trade-page .btn-primary { color:#211104!important;border-color:#ffd083!important;background:linear-gradient(135deg,#ffc464,#ff8e2f)!important; }
html body.trade-page .btn-success { color:#06150e!important;border-color:#75e4ae!important;background:linear-gradient(135deg,#59dda0,#22ae70)!important; }
html body.trade-page .btn-danger { color:#fff!important;border-color:#ff7979!important;background:linear-gradient(135deg,#e34848,#a9232b)!important; }
html body.trade-page .btn-warning { color:#201204!important;border-color:#ffd36e!important;background:linear-gradient(135deg,#ffd16d,#e79c32)!important; }
html body.trade-page .btn-info { color:#07130f!important;border-color:#7be8c0!important;background:linear-gradient(135deg,#65dfb1,#31b882)!important; }
html body.trade-page .btn-secondary { color:#fff8ed!important;border-color:rgba(255,163,66,.50)!important;background:#27201a!important; }
html body.trade-page :is(.bg-warning,.bg-success,.bg-danger) { color:#fff8ed!important;background:#241b13!important; }
html body.trade-page .text-success { color:#71e4ad!important; }
html body.trade-page .text-danger { color:#ff8585!important; }
html body.trade-page .trade-topbar a { border:2px solid rgba(255,153,55,.65)!important;color:#fff8ed!important;background:linear-gradient(145deg,#22180f,#101411)!important;box-shadow:0 10px 24px rgba(0,0,0,.32),0 0 16px rgba(255,126,25,.10)!important; }

@media(max-width:760px) {
    html body.trade-page tbody tr,
    html body.trade-page tbody tr:nth-child(even) {
        border:2px solid rgba(255,153,55,.58)!important;
        color:#fff8ed!important;
        background:linear-gradient(145deg,#211a13,#0e1411)!important;
        box-shadow:0 12px 26px rgba(0,0,0,.34),0 0 15px rgba(255,126,25,.08)!important;
    }
    html body.trade-page tbody td,
    html body.trade-page tbody tr:nth-child(even)>td,
    html body.trade-page .table-striped>tbody>tr:nth-of-type(odd)>* { background:transparent!important; }
    html body.trade-page tbody td:last-child { border-top-color:rgba(255,153,55,.28)!important; }
    html body.trade-page .modal-content { border:2px solid rgba(255,153,55,.66)!important;border-radius:20px!important; }
}
/* Palette slate luminosa: sfondi piÃ¹ aperti, card appena schiarite. */
html,html[data-theme="dark"],html[data-theme="light"] { background:#17242d!important; }
html body:not(.auth-page),
html[data-theme="light"] body:not(.auth-page),
html[data-theme="dark"] body:not(.auth-page) {
    --fi-page-light:#1b2933;
    --fi-surface-light:#293a46;
    --fi-surface-light-2:#22333e;
    --fi-surface-soft:#30434f;
    --fi-muted-light:#c3cdd3;
    color:#fffaf2!important;
    background:
        radial-gradient(circle at 88% -10%,rgba(255,153,55,.19),transparent 34rem),
        radial-gradient(circle at -8% 58%,rgba(38,190,132,.13),transparent 32rem),
        linear-gradient(145deg,#182630,#22323c 54%,#1a2a33)!important;
}
html body:not(.auth-page) :is(
    .dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,
    .panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,
    .player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,
    .stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,
    .team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,
    .bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,
    .reserve-card,.club-action,.contract-row,.mission-row
) {
    color:#fffaf2!important;
    background:
        radial-gradient(circle at 100% 0,rgba(255,158,61,.10),transparent 15rem),
        linear-gradient(145deg,#2c3d48,#22333e)!important;
    border-color:rgba(255,169,80,.66)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 14px 32px rgba(4,10,13,.27),0 0 19px rgba(255,126,25,.09)!important;
}
html body:not(.auth-page) :is(p,small,.muted,.muted-text,.text-muted,.row-meta,.card-text,.form-text,.empty-state,.metric-label) { color:#c3cdd3!important; }
html body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select) {
    color:#fffaf2!important;
    border-color:rgba(255,173,88,.45)!important;
    background:#243640!important;
}
html body:not(.auth-page) select option { color:#fffaf2!important;background:#243640!important; }
html body:not(.auth-page) thead th { color:#ffd092!important;background:#31434e!important; }
html body:not(.auth-page) tbody tr,
html body:not(.auth-page) tbody tr:nth-child(even) { color:#fffaf2!important;background:#263843!important; }
html body:not(.auth-page) tbody tr:nth-child(even) { background:#2d404b!important; }
html body:not(.auth-page) tbody tr:hover { background:#374c58!important; }
html body:not(.auth-page) :is(.topbar,.page-header,.csv-topbar,.trade-topbar) {
    background:rgba(40,56,66,.96)!important;
    border-color:rgba(255,167,74,.55)!important;
    box-shadow:0 12px 30px rgba(4,10,13,.28),0 0 16px rgba(255,126,25,.08)!important;
}
html body:not(.auth-page) :is(.back-link,.back-arrow,.back-button,.sheet-back,.fi-back-link) {
    background:linear-gradient(145deg,#394751,#263640)!important;
}
html .dashboard-page .dashboard-header {
    background:linear-gradient(145deg,rgba(48,62,70,.97),rgba(34,49,58,.98))!important;
}
html .dashboard-page .dashboard-user { background:linear-gradient(135deg,rgba(65,71,66,.94),rgba(40,59,64,.96))!important; }
html .dashboard-page .sponsor-summary article,
html .dashboard-page .awards-grid article,
html .dashboard-page .awards-grid article.mine {
    color:#fffaf2!important;
    background:radial-gradient(circle at 100% 0,rgba(255,156,58,.13),transparent 11rem),linear-gradient(145deg,#34444d,#293a43)!important;
}
html .dashboard-page .sponsor-mini-progress { background:#1c2d35!important; }
html body.trade-page {
    background:radial-gradient(circle at 90% -8%,rgba(255,153,55,.18),transparent 33rem),radial-gradient(circle at -8% 55%,rgba(33,190,126,.13),transparent 30rem),linear-gradient(145deg,#192832,#243640 58%,#1b2b34)!important;
}
html body.trade-page :is(.card,.card-body,.list-group,.list-group-item,.modal-content,.modal-body,.modal-footer) {
    color:#fffaf2!important;
    background:linear-gradient(145deg,#30414c,#253640)!important;
}
html body.trade-page .table { --bs-table-bg:#283a45;--bs-table-striped-bg:#30434e;--bs-table-hover-bg:#394d59;background:#283a45!important; }
html body.trade-page .table tbody,
html body.trade-page .table tbody tr,
html body.trade-page .table tbody td,
html body.trade-page .table-striped>tbody>tr:nth-of-type(odd)>* { background-color:#283a45!important; }
html body.trade-page .table tbody tr:nth-child(even),
html body.trade-page .table tbody tr:nth-child(even)>td { background-color:#30434e!important; }
html body.trade-page :is(input,select,textarea,.form-control,.form-select) { background:#22343e!important; }
html body.trade-page .modal-header,
html body.trade-page :is(.card-header,.card-header.bg-primary,.card-header.bg-success,.card-header.bg-info,.card-header.bg-secondary) { background:linear-gradient(135deg,#4a4034,#2d3d45)!important; }
html .mobile-dock { background:rgba(36,51,60,.97)!important;border-color:rgba(255,164,69,.42)!important; }

@media(max-width:760px) {
    html body:not(.auth-page) :is(
        .dashboard-panel,.dashboard-metric,.mobile-match-center,.panel,.card,
        .player-card,.quick-card,.hub-tile,.market-card,.team-details,
        .match-scoreboard,.bench-card,.role-section
    ) { background:radial-gradient(circle at 100% 0,rgba(255,158,61,.10),transparent 12rem),linear-gradient(145deg,#2d3f4a,#23343e)!important; }
    html body.trade-page tbody tr,
    html body.trade-page tbody tr:nth-child(even) { background:linear-gradient(145deg,#30424d,#253640)!important; }
}
/* Modern warm light theme: ivory canvas and contemporary cards. */
html,html[data-theme="dark"],html[data-theme="light"] {
    color-scheme:light!important;
    background:#f4eee5!important;
}
html body:not(.auth-page),
html[data-theme="light"] body:not(.auth-page),
html[data-theme="dark"] body:not(.auth-page) {
    --fi-light-page:#f5efe6;
    --fi-light-card:#fffdf9;
    --fi-light-card-soft:#fff7ed;
    --fi-light-text:#2c2118;
    --fi-light-muted:#74665b;
    --fi-light-line:rgba(191,112,47,.25);
    --fi-light-orange:#f47b25;
    color:var(--fi-light-text)!important;
    background:
        radial-gradient(circle at 88% -10%,rgba(255,158,62,.23),transparent 34rem),
        radial-gradient(circle at -10% 58%,rgba(47,188,125,.13),transparent 31rem),
        linear-gradient(145deg,#fbf8f2,#f2eadf 56%,#f8f3eb)!important;
}

html body:not(.auth-page) :is(
    .dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,
    .panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,
    .player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,
    .stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,
    .team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,
    .bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,
    .reserve-card,.club-action,.contract-row,.mission-row,.list-group-item,
    .modal-content,.modal-body,.modal-footer
) {
    color:var(--fi-light-text)!important;
    border:1px solid rgba(197,119,50,.28)!important;
    background:
        radial-gradient(circle at 100% 0,rgba(255,154,55,.10),transparent 14rem),
        linear-gradient(145deg,rgba(255,255,255,.99),rgba(255,247,236,.98))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 14px 38px rgba(101,70,43,.12),0 2px 8px rgba(116,73,38,.06)!important;
}
html body:not(.auth-page) :is(
    .dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,
    .panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,
    .player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,
    .stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,
    .team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,
    .bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,
    .reserve-card,.club-action,.contract-row,.mission-row,.list-group-item,
    .modal-content,.modal-body,.modal-footer
) :is(h1,h2,h3,h4,h5,h6,strong,b,label,.player-name,.row-title,.card-title,.modal-title,td) { color:var(--fi-light-text)!important; }
html body:not(.auth-page) :is(
    .dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,
    .panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,
    .player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,
    .stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,
    .team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,
    .bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,
    .reserve-card,.club-action,.contract-row,.mission-row,.list-group-item,
    .modal-content,.modal-body,.modal-footer
) :is(p,small,.muted,.muted-text,.text-muted,.row-meta,.card-text,.form-text,.empty-state,.metric-label,span) { color:var(--fi-light-muted)!important; }

html body:not(.auth-page) :is(.dashboard-panel,.panel,.card,.content-card,.table-panel,.role-section,.market-card,.trade-card,.stadium-panel,.formation-panel,.bench-panel) {
    position:relative;
    overflow:hidden;
}
html body:not(.auth-page) :is(.dashboard-panel,.panel,.card,.content-card,.table-panel,.role-section,.market-card,.trade-card,.stadium-panel,.formation-panel,.bench-panel)::before {
    position:absolute;
    z-index:0;
    top:0;
    right:0;
    left:0;
    height:3px;
    background:linear-gradient(90deg,#f47b25,#ffb044 64%,#32b879);
    content:"";
}
html body:not(.auth-page) :is(.dashboard-panel,.panel,.card,.content-card,.table-panel,.role-section,.market-card,.trade-card,.stadium-panel,.formation-panel,.bench-panel)>* { position:relative;z-index:1; }

html body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select) {
    color:#2c2118!important;
    border:1px solid rgba(193,115,47,.30)!important;
    background:#fffdfa!important;
    box-shadow:inset 0 1px 2px rgba(93,60,33,.05)!important;
}
html body:not(.auth-page) :is(input,textarea)::placeholder { color:#9a8b7f!important; }
html body:not(.auth-page) select option { color:#2c2118!important;background:#fffdfa!important; }
html body:not(.auth-page) :is(.topbar,.page-header,.csv-topbar,.trade-topbar) {
    color:#2c2118!important;
    border:1px solid rgba(193,115,47,.26)!important;
    background:rgba(255,253,248,.94)!important;
    box-shadow:0 12px 32px rgba(101,70,43,.12)!important;
    backdrop-filter:blur(18px);
}
html body:not(.auth-page) :is(.back-link,.back-arrow,.back-button,.sheet-back,.fi-back-link),
html body:not(.auth-page) .trade-topbar a {
    color:#3b2a1c!important;
    border:1px solid rgba(231,116,31,.38)!important;
    background:linear-gradient(145deg,#fffdfa,#fff1df)!important;
    box-shadow:0 9px 22px rgba(122,75,35,.11)!important;
}
html body:not(.auth-page) :is(.back-link,.back-arrow,.back-button,.sheet-back,.fi-back-link):hover,
html body:not(.auth-page) .trade-topbar a:hover { border-color:#f47b25!important;background:#fff5e8!important; }

html body:not(.auth-page) thead th {
    color:#4a3120!important;
    border-color:rgba(193,115,47,.22)!important;
    background:#f7e8d5!important;
}
html body:not(.auth-page) tbody tr,
html body:not(.auth-page) tbody tr:nth-child(even) {
    color:#30241c!important;
    border-color:rgba(193,115,47,.16)!important;
    background:#fffdf9!important;
}
html body:not(.auth-page) tbody tr:nth-child(even) { background:#fcf5eb!important; }
html body:not(.auth-page) tbody tr:hover { background:#fff0df!important; }
html body:not(.auth-page) tbody td { color:#30241c!important; }

html .dashboard-page .dashboard-header {
    color:#2c2118!important;
    border:1px solid rgba(193,115,47,.25)!important;
    background:rgba(255,253,248,.96)!important;
    box-shadow:0 12px 32px rgba(101,70,43,.13)!important;
}
html .dashboard-page .dashboard-brand strong { color:#2c2118!important; }
html .dashboard-page .dashboard-brand span { color:#7a6b5f!important; }
html .dashboard-page .dashboard-user { border-color:rgba(231,116,31,.28)!important;background:linear-gradient(135deg,#fff5e5,#f7f8ee)!important; }
html .dashboard-page .dashboard-user strong { color:#2c2118!important; }
html .dashboard-page .dashboard-user span { color:#b45119!important; }
html .dashboard-page .section-heading h2,
html .dashboard-page .metric-value { color:#2c2118!important;text-shadow:none!important; }
html .dashboard-page .metric-label,
html .dashboard-page .empty-message { color:#75675c!important; }
html .dashboard-page .sponsor-summary article,
html .dashboard-page .awards-grid article,
html .dashboard-page .awards-grid article.mine {
    color:#2c2118!important;
    border-color:rgba(224,121,38,.30)!important;
    background:linear-gradient(145deg,#fffefb,#fff4e5)!important;
    box-shadow:0 10px 24px rgba(111,68,32,.09)!important;
}
html .dashboard-page .sponsor-summary article strong,
html .dashboard-page .awards-grid article strong { color:#2c2118!important; }
html .dashboard-page .sponsor-summary article small,
html .dashboard-page .awards-grid article :is(span,small) { color:#74665b!important; }
html .dashboard-page .sponsor-mini-progress { border-color:rgba(222,120,39,.22)!important;background:#eadfce!important; }

html body.trade-page {
    color:#2c2118!important;
    background:radial-gradient(circle at 90% -8%,rgba(255,153,55,.22),transparent 33rem),radial-gradient(circle at -8% 55%,rgba(33,190,126,.12),transparent 30rem),linear-gradient(145deg,#fbf8f2,#f1e9de 58%,#f8f2e9)!important;
}
html body.trade-page :is(.card,.card-body,.list-group,.list-group-item,.modal-content,.modal-body,.modal-footer) {
    color:#2c2118!important;
    background:linear-gradient(145deg,#fffefb,#fff5e8)!important;
}
html body.trade-page :is(.card-header,.card-header.bg-primary,.card-header.bg-success,.card-header.bg-info,.card-header.bg-secondary),
html body.trade-page .modal-header {
    color:#3a281b!important;
    border-color:rgba(226,121,37,.27)!important;
    background:linear-gradient(135deg,#ffe4bf,#f8eee0)!important;
}
html body.trade-page :is(.card-header h1,.card-header h2,.card-header h5,.modal-title) { color:#3a281b!important; }
html body.trade-page .table {
    --bs-table-color:#30241c;
    --bs-table-bg:#fffdf9;
    --bs-table-striped-color:#30241c;
    --bs-table-striped-bg:#fcf5eb;
    --bs-table-hover-color:#30241c;
    --bs-table-hover-bg:#fff0df;
    background:#fffdf9!important;
}
html body.trade-page .table tbody,
html body.trade-page .table tbody tr,
html body.trade-page .table tbody td,
html body.trade-page .table-striped>tbody>tr:nth-of-type(odd)>* { color:#30241c!important;background-color:#fffdf9!important; }
html body.trade-page .table tbody tr:nth-child(even),
html body.trade-page .table tbody tr:nth-child(even)>td { background-color:#fcf5eb!important; }
html body.trade-page :is(label,strong,span,td,li) { color:#30241c; }
html body.trade-page :is(.text-muted,p,small,.instructions) { color:#74665b!important; }
html body.trade-page .btn-close { filter:none; }

html .mobile-dock {
    border:1px solid rgba(193,115,47,.25)!important;
    background:rgba(255,253,248,.97)!important;
    box-shadow:0 -10px 30px rgba(92,60,34,.13)!important;
}
html .mobile-dock a { color:#75675d!important; }
html .mobile-dock a i { color:#a45f2c!important; }
html .mobile-dock a.is-active { color:#a94713!important;background:#fff0da!important; }
html .mobile-dock .dock-match-action { border-color:#fff0d9!important;background:linear-gradient(135deg,#ffae48,#f47721)!important;box-shadow:0 8px 24px rgba(222,105,27,.28)!important; }
html .mobile-dock .dock-match-action :is(i,span) { color:#28170b!important; }

/* Keep football fields and photographic hero surfaces rich and readable. */
html body:not(.auth-page) :is(.dashboard-hero,.trade-hero,.vertical-pitch,.pitch,.next-match-highlight) :is(h1,h2,h3,strong,b) { color:#fffaf2!important; }
html body:not(.auth-page) :is(.dashboard-hero,.trade-hero,.vertical-pitch,.pitch,.next-match-highlight) :is(p,small,span) { color:#dce5df!important; }

@media(max-width:760px) {
    html body:not(.auth-page) :is(
        .dashboard-panel,.dashboard-metric,.mobile-match-center,.panel,.card,
        .player-card,.quick-card,.hub-tile,.market-card,.team-details,
        .match-scoreboard,.bench-card,.role-section
    ) { background:radial-gradient(circle at 100% 0,rgba(255,154,55,.10),transparent 12rem),linear-gradient(145deg,#fffefb,#fff5e9)!important; }
    html .dashboard-page .dashboard-header { background:rgba(255,253,248,.97)!important; }
    html body.trade-page tbody tr,
    html body.trade-page tbody tr:nth-child(even) {
        color:#30241c!important;
        border-color:rgba(224,121,38,.30)!important;
        background:linear-gradient(145deg,#fffefb,#fff5e8)!important;
        box-shadow:0 10px 24px rgba(111,68,32,.10)!important;
    }
}
/* FantaInfinity identity v3: warm canvas, one card language, orange + green. */
html,html[data-theme="dark"],html[data-theme="light"]{color-scheme:light!important;background:#f1eadf!important}
html body:not(.auth-page){--fi-canvas:#f4eee4;--fi-card:#fffdfa;--fi-ink:#251d16;--fi-muted:#6d6258;--fi-orange:#f27622;--fi-orange-2:#ffad42;--fi-green:#12845b;--fi-green-2:#43c68d;--fi-line:#e7c9a8;color:var(--fi-ink)!important;background:radial-gradient(circle at 92% 0,rgba(255,171,65,.22),transparent 31rem),radial-gradient(circle at 0 56%,rgba(45,190,127,.13),transparent 28rem),linear-gradient(145deg,#faf7f1,#eee7dc)!important}
html body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,.panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,.player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,.stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,.team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,.bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,.reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,.list-group-item,.modal-content,.modal-body,.modal-footer){color:var(--fi-ink)!important;border:1px solid var(--fi-line)!important;background:var(--fi-card)!important;box-shadow:0 15px 38px rgba(74,47,26,.11),0 3px 9px rgba(89,55,27,.07)!important}
html body:not(.auth-page) :is(.dashboard-panel,.panel,.card,.content-card,.table-panel,.role-section,.market-card,.trade-card,.stadium-panel,.formation-panel,.bench-panel,.csv-panel){position:relative;overflow:hidden}
html body:not(.auth-page) :is(.dashboard-panel,.panel,.card,.content-card,.table-panel,.role-section,.market-card,.trade-card,.stadium-panel,.formation-panel,.bench-panel,.csv-panel)::before{position:absolute;z-index:0;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,var(--fi-orange),var(--fi-orange-2) 48%,var(--fi-green));content:""}
html body:not(.auth-page) :is(.dashboard-panel,.panel,.card,.content-card,.table-panel,.role-section,.market-card,.trade-card,.stadium-panel,.formation-panel,.bench-panel,.csv-panel)>*{position:relative;z-index:1}
html body:not(.auth-page) :is(h1,h2,h3,h4,h5,h6,strong,b,label,.player-name,.row-title,.card-title,.modal-title,td){color:var(--fi-ink)!important;text-shadow:none!important}
html body:not(.auth-page) :is(p,small,.muted,.muted-text,.text-muted,.row-meta,.card-text,.form-text,.empty-state,.metric-label){color:var(--fi-muted)!important}
html body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select){color:var(--fi-ink)!important;border:1px solid #d9b991!important;background:#fff!important;box-shadow:inset 0 1px 2px rgba(70,43,20,.05)!important}
html body:not(.auth-page) :is(input,textarea)::placeholder{color:#8f8175!important}html body:not(.auth-page) select option{color:var(--fi-ink)!important;background:#fff!important}
html body:not(.auth-page) :is(.topbar,.page-header,.csv-topbar,.trade-topbar,.dashboard-header){color:var(--fi-ink)!important;border:1px solid var(--fi-line)!important;background:rgba(255,253,248,.97)!important;box-shadow:0 12px 30px rgba(79,49,25,.11)!important;backdrop-filter:blur(18px)}
html body:not(.auth-page) :is(.back-link,.back-arrow,.back-button,.sheet-back,.fi-back-link),html body.trade-page .trade-topbar a{color:#3d2919!important;border:1px solid #e5b77f!important;background:#fff7eb!important;box-shadow:none!important}
html body:not(.auth-page) :is(.back-link,.back-arrow,.back-button,.sheet-back,.fi-back-link):hover{border-color:var(--fi-orange)!important;background:#fff0db!important}
html body:not(.auth-page) thead th{color:#3b291c!important;border-color:#dfbf99!important;background:#f9e8d3!important}html body:not(.auth-page) tbody tr,html body:not(.auth-page) tbody tr:nth-child(even){color:var(--fi-ink)!important;background:#fffdfa!important}html body:not(.auth-page) tbody tr:nth-child(even){background:#fbf5ec!important}html body:not(.auth-page) tbody tr:hover{background:#fff0dc!important}
html .mobile-dock{border:1px solid #dfbc91!important;background:rgba(255,253,248,.98)!important;box-shadow:0 -10px 30px rgba(76,47,24,.14)!important}html .mobile-dock a{color:#74675d!important}html .mobile-dock a i{color:#b65f20!important}html .mobile-dock a.is-active{color:#9f410c!important;background:#fff0d9!important}html .mobile-dock .dock-match-action{border-color:#ffca83!important;background:linear-gradient(135deg,#ffb34d,#f27622)!important;box-shadow:0 9px 24px rgba(216,94,16,.28)!important}html .mobile-dock .dock-match-action :is(i,span){color:#2c180a!important}
html body:not(.auth-page) :is(.btn-primary,.primary-action,.submit-btn,.apply-filters,button[type="submit"]){color:#fff!important;border-color:#b8490c!important;background:linear-gradient(135deg,#ff9837,#e85d11)!important;box-shadow:0 9px 22px rgba(211,86,15,.22)!important}
html body:not(.auth-page) :is(.btn-success,.success-action){color:#fff!important;background:linear-gradient(135deg,#27ad76,#0b7550)!important}
html .market-card-icon{color:#fff!important;background:linear-gradient(145deg,var(--fi-orange),#ffad42)!important;box-shadow:0 8px 20px rgba(224,91,15,.22)!important}html .market-card-icon i{display:block!important;color:#fff!important;font-size:24px!important}
html .dashboard-page .dashboard-hero{background:linear-gradient(90deg,rgba(27,20,13,.91),rgba(16,79,54,.62)),url('/img/fantainfinity-login-hero.png') center/cover no-repeat!important}
html .roster-page .roster-heading{min-height:210px;padding:34px;border:1px solid #e2b579;border-radius:28px;background:linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.72),rgba(255,252,246,.12)),url('/img/hero-roster.jpg') center/cover no-repeat!important;box-shadow:0 18px 44px rgba(78,48,24,.14)!important}
html :is(.market-page .market-hero,.listone-page .hero,.trade-page .trade-hero){background:linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.70),rgba(255,252,246,.10)),url('/img/hero-market.jpg') center/cover no-repeat!important}
html .society-page .hero{background:linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.69),rgba(255,252,246,.08)),url('/img/hero-societa.jpg') center/cover no-repeat!important}
html :is(.competition-page .hero,.league-teams-page .hero,.formation-page .hero){background:linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.68),rgba(255,252,246,.08)),url('/img/hero-competition.jpg') center/cover no-repeat!important}
html :is(.csv-page .csv-hero,body:not([class])>.page>.hero,body:not([class]) .hero){background:linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.68),rgba(255,252,246,.08)),url('/img/hero-admin.jpg') center/cover no-repeat!important}
html body:not(.auth-page) :is(.market-hero,.trade-hero,.hero,.csv-hero,.roster-heading) :is(h1,h2,h3,strong,b){color:var(--fi-ink)!important}html body:not(.auth-page) :is(.market-hero,.trade-hero,.hero,.csv-hero,.roster-heading) :is(p,small,span){color:#5f554c!important}
html body:not(.auth-page) :is(.dashboard-hero,.vertical-pitch,.pitch) :is(h1,h2,h3,strong,b){color:#fffaf2!important}html body:not(.auth-page) :is(.dashboard-hero,.vertical-pitch,.pitch) :is(p,small,span){color:#e4ebe5!important}
html .formation-page .picker-player{grid-template-columns:56px minmax(0,1fr)!important}html .formation-page .chance{display:none!important}html .formation-page .bench-card{min-height:86px!important;cursor:pointer!important}html .formation-page .bench-card select{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;pointer-events:none!important}html .formation-page .bench-add{display:flex;align-items:center;gap:10px;min-height:46px;padding:9px 11px;border:1px dashed #eca15f;border-radius:13px;color:#a7470d!important;background:#fff7ea!important}html .formation-page .bench-add i{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--fi-orange),var(--fi-orange-2))}html .formation-page .bench-add b{color:#70401e!important;font-size:12px}html .formation-page .bench-card.has-player .bench-add{border-style:solid;border-color:#6fc7a2;background:#edf9f3!important}html .formation-page .bench-card.has-player .bench-add i{background:var(--fi-green)}
@media(max-width:760px){html body:not(.auth-page){padding-bottom:96px!important}html .mobile-dock{position:fixed!important;z-index:2000!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;left:8px!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;min-height:70px!important;border-radius:22px!important}html .mobile-dock a{min-width:0!important}html .formation-page.player-picker-open .mobile-dock{display:none!important}html .roster-page .roster-heading{min-height:150px;padding:22px 18px;border-radius:22px}html body:not(.auth-page) :is(.market-hero,.trade-hero,.hero,.csv-hero){background-position:58% center!important}}

/* View-specific hero completion and compatibility fixes. */
html .admin-market-page .hero,html .competition-page .hero,html .csv-page .csv-hero{background:linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.68),rgba(255,252,246,.08)),url('/img/hero-admin.jpg') center/cover no-repeat!important}
html .formation-page .picker-player{grid-template-columns:56px minmax(0,1fr)!important}
html .formation-page .picker-player>span{min-width:0!important}
html .formation-page .picker-player strong{color:#251d16!important}
html .formation-page .picker-player small{color:#6d6258!important}
html .news-page{min-height:100vh!important}
@media(max-width:760px){html .news-page{padding-bottom:100px!important}html .news-page .mobile-dock{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}}

/* View-specific hero completion and compatibility fixes. */
html .admin-market-page .hero,html .competition-page .hero,html .csv-page .csv-hero{background:linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.68),rgba(255,252,246,.08)),url('/img/hero-admin.jpg') center/cover no-repeat!important}
html .formation-page .picker-player{grid-template-columns:56px minmax(0,1fr)!important}
html .formation-page .picker-player>span{min-width:0!important}
html .formation-page .picker-player strong{color:#251d16!important}
html .formation-page .picker-player small{color:#6d6258!important}
html .news-page{min-height:100vh!important}
@media(max-width:760px){html .news-page{padding-bottom:100px!important}html .news-page .mobile-dock{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}}

/* View-specific hero completion and compatibility fixes. */
html .admin-market-page .hero,html .competition-page .hero,html .csv-page .csv-hero{background:linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.68),rgba(255,252,246,.08)),url('/img/hero-admin.jpg') center/cover no-repeat!important}
html .formation-page .picker-player{grid-template-columns:56px minmax(0,1fr)!important}
html .formation-page .picker-player>span{min-width:0!important}
html .formation-page .picker-player strong{color:#251d16!important}
html .formation-page .picker-player small{color:#6d6258!important}
html .news-page{min-height:100vh!important}
@media(max-width:760px){html .news-page{padding-bottom:100px!important}html .news-page .mobile-dock{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}}

/* Identity v3 contrast pass after visual QA. */
html body.dashboard-page :is(.dashboard-metric,.dashboard-panel,.quick-card,.hero-scorecard),
html body.listone-page :is(.toolbar,.advanced-filters,.stats-grid>.stat,.table-panel,.table-wrapper,.player-row,.list-row),
html body.formation-page :is(.tool-card,.layout-grid>.panel,.leadership-panel),
html body.news-page .news-coming-soon,
html body:not(.auth-page) :is(.admin-card,.competition-card,.form-card,.box-card){
    color:#251d16!important;
    border:1px solid #e7c9a8!important;
    background:#fffdfa!important;
    box-shadow:0 15px 38px rgba(74,47,26,.11),0 3px 9px rgba(89,55,27,.07)!important;
}
html body.dashboard-page .dashboard-metric :is(span,small,p,strong,b),
html body.dashboard-page .dashboard-panel :is(h1,h2,h3,h4,strong,b),
html body.dashboard-page .quick-card :is(h1,h2,h3,h4,strong,b),
html body.dashboard-page .hero-scorecard :is(span,small,p,strong,b){color:#251d16!important}
html body.dashboard-page .dashboard-panel :is(p,small,.empty-message,.metric-label),
html body.dashboard-page .quick-card p,
html body.dashboard-page .hero-scorecard :is(span,small,p){color:#6d6258!important}
html body.dashboard-page .dashboard-metric{border-top:4px solid #f27622!important}
html body.dashboard-page .dashboard-metric:nth-child(even){border-top-color:#12845b!important}

html body.news-page .news-coming-soon{border-top:5px solid #f27622!important}
html body.news-page .news-coming-soon :is(h1,h2,h3,strong){color:#251d16!important}
html body.news-page .news-coming-soon :is(p,small,span){color:#6d6258!important}
html body.news-page .news-icon{color:#fff!important;border-color:#ffb366!important;background:linear-gradient(135deg,#f27622,#ffad42)!important}

html body.listone-page :is(.toolbar,.advanced-filters){border-top:4px solid #f27622!important}
html body.listone-page .stats-grid>.stat{border-top:4px solid #12845b!important}
html body.listone-page :is(.toolbar,.advanced-filters,.stats-grid>.stat,.table-panel,.table-wrapper,.player-row,.list-row) :is(h1,h2,h3,strong,b,label,span,td){color:#251d16!important}
html body.listone-page :is(.toolbar,.advanced-filters,.stats-grid>.stat,.table-panel,.table-wrapper,.player-row,.list-row) :is(p,small){color:#6d6258!important}
html body.listone-page :is(.toolbar,.advanced-filters) :is(input,select){color:#251d16!important;border-color:#d9b991!important;background:#fff!important}
html body.listone-page .filter-button{color:#51351f!important;border-color:#e3c39e!important;background:#fff8ee!important}
html body.listone-page .filter-button.active{color:#fff!important;border-color:#c34c0b!important;background:linear-gradient(135deg,#f58a31,#dc570f)!important}

html body.formation-page :is(.tool-card,.layout-grid>.panel,.leadership-panel){border-top:4px solid #f27622!important}
html body.formation-page .pitch{color:#fff!important;border-color:#145f40!important;background:radial-gradient(circle at 50% 42%,rgba(118,255,180,.15),transparent 42%),repeating-linear-gradient(90deg,#117044 0 12.5%,#0d643c 12.5% 25%)!important}
html body.formation-page .player-slot .selected-name{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.65)!important}
html body.formation-page .player-slot :is(.role-badge,.slot-label){color:#fff!important}
html body.formation-page .bench-list{background:#fffdfa!important}
html body.formation-page .bench-card label{color:#2f241b!important;background:#f7e8d4!important}
html body.formation-page .picker-sheet{color:#251d16!important;border-color:#e2b984!important;background:#fffdfa!important}
html body.formation-page .picker-header :is(h2,strong){color:#251d16!important}
html body.formation-page .picker-header small{color:#6d6258!important}

html body.market-page .market-balance,
html body.listone-page .hero-card{color:#251d16!important;border:1px solid rgba(209,139,75,.46)!important;background:rgba(255,253,248,.91)!important;box-shadow:0 12px 30px rgba(67,42,23,.13)!important;backdrop-filter:blur(10px)}
html body.market-page .market-balance :is(span,small,strong),
html body.listone-page .hero-card :is(span,small,strong){color:#251d16!important}

@media(max-width:760px){
    html body.dashboard-page :is(.dashboard-metric,.dashboard-panel,.quick-card),
    html body.listone-page :is(.toolbar,.advanced-filters,.stats-grid>.stat,.table-panel,.player-row),
    html body.formation-page :is(.tool-card,.layout-grid>.panel,.leadership-panel),
    html body.news-page .news-coming-soon{background:#fffdfa!important}
    html body.news-page .news-shell{width:auto!important;margin:0 8px!important;padding:8px 0 92px!important}
    html body.news-page .news-coming-soon{min-height:calc(100dvh - 120px)!important;padding:24px 18px!important;border-radius:24px!important}
}

/* Final specificity lock: the saved theme can no longer resurrect legacy navy cards. */
html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,.panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,.player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,.stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,.team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,.bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,.reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,.list-group-item,.modal-content,.modal-body,.modal-footer,.toolbar,.advanced-filters,.tool-card,.news-coming-soon){color:#251d16!important;border-color:#e7c9a8!important;background:#fffdfa!important;box-shadow:0 15px 38px rgba(74,47,26,.11),0 3px 9px rgba(89,55,27,.07)!important}
html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,.panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,.player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,.stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,.team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,.bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,.reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,.list-group-item,.modal-content,.modal-body,.modal-footer,.toolbar,.advanced-filters,.tool-card,.news-coming-soon) :is(h1,h2,h3,h4,h5,h6,strong,b,label,td){color:#251d16!important}
html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,.panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,.player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,.stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,.team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,.bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,.reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,.list-group-item,.modal-content,.modal-body,.modal-footer,.toolbar,.advanced-filters,.tool-card,.news-coming-soon) :is(p,small,.muted,.text-muted,.metric-label){color:#6d6258!important}
html[data-theme="light"] body.formation-page .pitch{color:#fff!important;border-color:#145f40!important;background:radial-gradient(circle at 50% 42%,rgba(118,255,180,.15),transparent 42%),repeating-linear-gradient(90deg,#117044 0 12.5%,#0d643c 12.5% 25%)!important;box-shadow:0 18px 42px rgba(12,82,52,.22)!important}
html[data-theme="light"] body.formation-page .pitch .selected-name{color:#fff!important}

/* Final specificity lock: the saved theme can no longer resurrect legacy navy cards. */
html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,.panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,.player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,.stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,.team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,.bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,.reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,.list-group-item,.modal-content,.modal-body,.modal-footer,.toolbar,.advanced-filters,.tool-card,.news-coming-soon){color:#251d16!important;border-color:#e7c9a8!important;background:#fffdfa!important;box-shadow:0 15px 38px rgba(74,47,26,.11),0 3px 9px rgba(89,55,27,.07)!important}
html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,.panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,.player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,.stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,.team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,.bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,.reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,.list-group-item,.modal-content,.modal-body,.modal-footer,.toolbar,.advanced-filters,.tool-card,.news-coming-soon) :is(h1,h2,h3,h4,h5,h6,strong,b,label,td){color:#251d16!important}
html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,.panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,.player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,.stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,.team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,.bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,.reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,.list-group-item,.modal-content,.modal-body,.modal-footer,.toolbar,.advanced-filters,.tool-card,.news-coming-soon) :is(p,small,.muted,.text-muted,.metric-label){color:#6d6258!important}
html[data-theme="light"] body.formation-page .pitch{color:#fff!important;border-color:#145f40!important;background:radial-gradient(circle at 50% 42%,rgba(118,255,180,.15),transparent 42%),repeating-linear-gradient(90deg,#117044 0 12.5%,#0d643c 12.5% 25%)!important;box-shadow:0 18px 42px rgba(12,82,52,.22)!important}
html[data-theme="light"] body.formation-page .pitch .selected-name{color:#fff!important}
html[data-theme="light"] body.dashboard-page .dashboard-metric>strong{color:#251d16!important;font-size:clamp(26px,2.4vw,38px)!important}
html[data-theme="light"] body.dashboard-page .dashboard-metric :is(.metric-label,small){color:#6d6258!important}
html[data-theme="light"] body.dashboard-page .hero-scorecard .scorecard-breakdown span{color:#3c2d22!important;background:#f4e7d6!important}
html[data-theme="light"] body.dashboard-page .hero-scorecard .scorecard-breakdown b{color:#156f50!important}
html[data-theme="light"] body.listone-page .stats-grid>.stat>strong{color:#251d16!important;opacity:1!important}
html[data-theme="light"] body.listone-page .stats-grid>.stat>span{color:#65594f!important;opacity:1!important}

/* FantaInfinity identity v3.1: warmer cards and stronger universal contrast. */
html[data-theme="light"] body:not(.auth-page){
    --fi-card:#ede2d3;
    --fi-card-soft:#f5ecdf;
    --fi-card-deep:#e5d6c3;
    --fi-ink:#211912;
    --fi-muted:#5d5147;
    --fi-line:#d49a5f;
    background:radial-gradient(circle at 92% 0,rgba(255,166,61,.19),transparent 31rem),radial-gradient(circle at 0 56%,rgba(39,174,116,.11),transparent 28rem),linear-gradient(145deg,#f8f3eb,#ece4d8)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(
    .dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,
    .panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,
    .player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,
    .stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,
    .team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,
    .bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,
    .reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,
    .list-group-item,.modal-content,.modal-body,.modal-footer,.toolbar,
    .advanced-filters,.tool-card,.news-coming-soon,.admin-card,.competition-card,
    .form-card,.box-card,.awards-grid>article,.sponsor-summary>article
){
    color:var(--fi-ink)!important;
    border:1px solid rgba(205,126,51,.58)!important;
    background:linear-gradient(145deg,#f1e7da,#e9dccb)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 14px 34px rgba(74,47,26,.14),0 3px 8px rgba(89,55,27,.08)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(
    .dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,
    .panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,
    .player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,
    .stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,
    .team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,
    .bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,
    .reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,
    .list-group-item,.modal-content,.modal-body,.modal-footer,.toolbar,
    .advanced-filters,.tool-card,.news-coming-soon,.admin-card,.competition-card,
    .form-card,.box-card,.awards-grid>article,.sponsor-summary>article
) :is(h1,h2,h3,h4,h5,h6,strong,b,label,td,.player-name,.row-title,.card-title,.metric-value){
    color:#211912!important;
    opacity:1!important;
    text-shadow:none!important;
}
html[data-theme="light"] body:not(.auth-page) :is(
    .dashboard-panel,.dashboard-metric,.hero-scorecard,.mobile-match-center,
    .panel,.card,.content-card,.table-panel,.table-wrapper,.role-section,
    .player-card,.quick-card,.hub-tile,.market-card,.trade-card,.sponsor-card,
    .stat,.stat-card,.metric,.economy-card,.home-economy,.stadium-panel,
    .team-details,.match-scoreboard,.bench-card,.picker-player,.formation-panel,
    .bench-panel,.fan-player,.outcome-card,.stadium-data,.tier-row,.movement-row,
    .reserve-card,.club-action,.contract-row,.mission-row,.csv-panel,
    .list-group-item,.modal-content,.modal-body,.modal-footer,.toolbar,
    .advanced-filters,.tool-card,.news-coming-soon,.admin-card,.competition-card,
    .form-card,.box-card,.awards-grid>article,.sponsor-summary>article
) :is(p,small,.muted,.muted-text,.text-muted,.row-meta,.card-text,.form-text,.empty-state,.metric-label){
    color:#5d5147!important;
    opacity:1!important;
}
html[data-theme="light"] body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select){
    color:#211912!important;
    border:1px solid #cfa06f!important;
    background:#fffaf3!important;
}
html[data-theme="light"] body:not(.auth-page) :is(input,textarea)::placeholder{color:#77695d!important;opacity:1!important}
html[data-theme="light"] body:not(.auth-page) thead th{color:#2b2018!important;background:#e1ceb5!important}
html[data-theme="light"] body:not(.auth-page) tbody tr,
html[data-theme="light"] body:not(.auth-page) tbody tr:nth-child(even){color:#251c15!important;background:#f3e9dc!important}
html[data-theme="light"] body:not(.auth-page) tbody tr:nth-child(even){background:#eadfce!important}
html[data-theme="light"] body:not(.auth-page) tbody td{color:#251c15!important}

/* Preserve intentional coloured controls and football surfaces. */
html[data-theme="light"] body:not(.auth-page) :is(.btn-primary,.btn-success,.primary-action,.success-action,.submit-btn,.apply-filters,button[type="submit"]) :is(span,strong,b,i),
html[data-theme="light"] body:not(.auth-page) :is(.btn-primary,.btn-success,.primary-action,.success-action,.submit-btn,.apply-filters,button[type="submit"]){color:#fff!important}
html[data-theme="light"] body.formation-page .pitch{background:radial-gradient(circle at 50% 42%,rgba(118,255,180,.15),transparent 42%),repeating-linear-gradient(90deg,#117044 0 12.5%,#0d643c 12.5% 25%)!important}
html[data-theme="light"] body.formation-page .pitch :is(.selected-name,.role-badge,.slot-label){color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.7)!important}
html[data-theme="light"] body:not(.auth-page) :is(.role-pill,.status-chip,.badge,.role-badge,.dock-match-action) :is(span,strong,b,i),
html[data-theme="light"] body:not(.auth-page) :is(.role-pill,.status-chip,.badge,.role-badge,.dock-match-action){opacity:1!important}
html[data-theme="light"] body.dashboard-page .hero-scorecard .scorecard-breakdown span{color:#33261c!important;background:#ddcbb4!important}
html[data-theme="light"] body.dashboard-page .hero-scorecard .scorecard-breakdown b{color:#0c6445!important}
html[data-theme="light"] body.listone-page .stats-grid>.stat :is(strong,span){color:#211912!important;opacity:1!important}
html[data-theme="light"] body.news-page .news-coming-soon{background:linear-gradient(145deg,#f1e7da,#e9dccb)!important}
html[data-theme="light"] body.formation-page .bench-list{background:#e6d8c6!important}
html[data-theme="light"] body.formation-page .bench-add{background:#f7eddf!important}
html[data-theme="light"] body.formation-page .picker-sheet{background:#e9ddcd!important}
html[data-theme="light"] body.formation-page .picker-player{background:#f6ede2!important}

@media(max-width:760px){
    html[data-theme="light"] body:not(.auth-page) :is(
        .dashboard-panel,.dashboard-metric,.mobile-match-center,.panel,.card,
        .player-card,.quick-card,.hub-tile,.market-card,.team-details,
        .match-scoreboard,.bench-card,.role-section,.stat,.tool-card,.news-coming-soon
    ){background:linear-gradient(145deg,#f1e7da,#e9dccb)!important}
}

/* FantaInfinity identity v3.2: remove residual dark cards and enforce readable text. */
html[data-theme="light"] body.dashboard-page :is(.match-highlight,.next-match-highlight,.next-team,.fan-formula),
html[data-theme="light"] body.market-page :is(.market-topbar>a,.market-club,.market-guide>div),
html[data-theme="light"] body.listone-page :is(.filters,.reset-filters),
html[data-theme="light"] body.society-page :is(.budget-balances>div,.stadium-note,.sponsor-counter),
html[data-theme="light"] body.roster-page :is(.roster-total,.role-count,.contract-pill),
html[data-theme="light"] body.trade-page :is(.principale,.trade-list,.trade-tabs),
html[data-theme="light"] body.league-teams-page .participants-section,
html[data-theme="light"] body:not(.auth-page) :is(.admin-toolbar,.admin-filters,.admin-summary,.management-card,.settings-card){
    color:#211912!important;
    border:1px solid rgba(205,126,51,.62)!important;
    background:linear-gradient(145deg,#f1e7da,#e8dac8)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 14px 34px rgba(74,47,26,.14)!important;
}
html[data-theme="light"] body.dashboard-page :is(.match-highlight,.next-match-highlight,.next-team,.fan-formula) :is(h1,h2,h3,h4,strong,b,span),
html[data-theme="light"] body.market-page :is(.market-topbar>a,.market-club,.market-guide>div) :is(h1,h2,h3,h4,strong,b,span),
html[data-theme="light"] body.listone-page .filters :is(h1,h2,h3,h4,strong,b,label,span),
html[data-theme="light"] body.society-page :is(.budget-balances>div,.stadium-note,.sponsor-counter) :is(h1,h2,h3,h4,strong,b,label,span),
html[data-theme="light"] body.roster-page :is(.roster-total,.role-count,.contract-pill) :is(h1,h2,h3,h4,strong,b,label,span),
html[data-theme="light"] body.trade-page :is(.principale,.trade-list,.trade-tabs) :is(h1,h2,h3,h4,h5,strong,b,label,span),
html[data-theme="light"] body.league-teams-page .participants-section :is(h1,h2,h3,h4,strong,b,label,span){
    color:#211912!important;
    opacity:1!important;
    text-shadow:none!important;
}
html[data-theme="light"] body.dashboard-page :is(.match-highlight,.next-match-highlight,.next-team,.fan-formula) :is(p,small),
html[data-theme="light"] body.market-page .market-guide>div :is(p,small),
html[data-theme="light"] body.society-page :is(.stadium-note,.sponsor-counter) :is(p,small),
html[data-theme="light"] body.trade-page :is(.principale,.trade-list) :is(p,small),
html[data-theme="light"] body.league-teams-page .participants-section :is(p,small){color:#5d5147!important;opacity:1!important}

html[data-theme="light"] body.dashboard-page .next-team.my-team{border:2px solid #1b9568!important;background:linear-gradient(145deg,#d9eee3,#c9e3d5)!important}
html[data-theme="light"] body.dashboard-page .match-deadline,
html[data-theme="light"] body.dashboard-page .match-deadline.is-live{color:#174936!important;border-color:#68b794!important;background:#d8ecdf!important}
html[data-theme="light"] body.dashboard-page .fan-rank{color:#fff!important;border-color:#08764e!important;background:linear-gradient(135deg,#15956a,#08734f)!important}
html[data-theme="light"] body.dashboard-page .fan-rank :is(span,strong,b,small){color:#fff!important}

html[data-theme="light"] body.market-page .market-topbar{color:#211912!important;background:rgba(248,238,224,.97)!important}
html[data-theme="light"] body.market-page .market-guide>div>span:first-child{color:#fff!important;background:linear-gradient(135deg,#f28a2b,#d85c10)!important}

html[data-theme="light"] body.listone-page .filters :is(input,select){color:#211912!important;border-color:#c9915b!important;background:#fffaf3!important}
html[data-theme="light"] body.listone-page .reset-filters{color:#8c3608!important;background:#f8e5cd!important}
html[data-theme="light"] body.listone-page .status-pill.owned{color:#084c35!important;border-color:#63af8c!important;background:#cfe8db!important}
html[data-theme="light"] body.listone-page .status-pill.free{color:#71300d!important;border-color:#e2a15f!important;background:#fae2c3!important}
html[data-theme="light"] body.listone-page .listone-photo{background:#eadbc8!important}

html[data-theme="light"] body.society-page .budget-form :is(label,small){color:#4e4035!important}
html[data-theme="light"] body.society-page .reserve-progress{background:#d4c3ad!important}
html[data-theme="light"] body.society-page .club-action{color:#211912!important;background:linear-gradient(145deg,#f2e6d7,#e6d5bf)!important}
html[data-theme="light"] body.society-page .club-action :is(strong,b,span){color:#211912!important}

html[data-theme="light"] body.roster-page .roster-total{color:#211912!important;background:linear-gradient(145deg,#f0e1ce,#e4d0b8)!important}
html[data-theme="light"] body.roster-page .role-count{color:#5e2a0c!important;background:#f4d7b2!important}
html[data-theme="light"] body.roster-page .contract-pill{color:#493629!important;background:#e7d6c1!important}
html[data-theme="light"] body.roster-page .role-pill{opacity:1!important;font-weight:950!important}
html[data-theme="light"] body.roster-page .role-pill.keeper-pill{color:#2d1a08!important}
html[data-theme="light"] body.roster-page :is(.role-pill.defender-pill,.role-pill.midfielder-pill,.role-pill.striker-pill){color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.38)!important}

html[data-theme="light"] body.trade-page .principale{border:0!important;background:transparent!important;box-shadow:none!important}
html[data-theme="light"] body.trade-page .trade-list{padding:clamp(14px,2vw,24px)!important}
html[data-theme="light"] body.trade-page .trade-tabs a{color:#5a3b24!important;border-color:#d7ac7d!important;background:#f7ead8!important}
html[data-theme="light"] body.trade-page .trade-tabs a.active{color:#fff!important;border-color:#c6500e!important;background:linear-gradient(135deg,#f48a2c,#dc590f)!important}

html[data-theme="light"] body.league-teams-page .view-team-btn{color:#fff!important;border-color:#08734f!important;background:linear-gradient(135deg,#15956a,#08734f)!important}

html[data-theme="light"] body.formation-page .picker-close{color:#66320f!important;border-color:#d49a5f!important;background:#f2dfc6!important}
html[data-theme="light"] body.formation-page .picker-search{color:#211912!important;background:#fffaf3!important}
html[data-theme="light"] body.formation-page .picker-player.selected{color:#211912!important;border-color:#f27622!important;background:#f6dfc3!important}
html[data-theme="light"] body.formation-page .picker-player img{background:#dfcfbb!important}
html[data-theme="light"] body.formation-page .picker-matchup .opponent-club{color:#173d59!important;background:#d9eaf4!important}

/* All secondary text in light cards must remain visible, including legacy inline opacity rules. */
html[data-theme="light"] body:not(.auth-page) :is(.card,.panel,.content-card,.dashboard-panel,.dashboard-metric,.player-card,.market-card,.trade-card,.sponsor-card,.participants-section,.trade-list,.match-highlight,.next-team,.fan-formula,.filters,.budget-balances>div,.stadium-note,.sponsor-counter,.roster-total,.role-count,.contract-pill) :is(.subtitle,.description,.detail,.meta,.caption,.hint,.label,.value){opacity:1!important}

@media(max-width:760px){
    html[data-theme="light"] body.market-page .market-topbar,
    html[data-theme="light"] body.trade-page .trade-tabs{background:linear-gradient(145deg,#f1e7da,#e8dac8)!important}
    html[data-theme="light"] body.trade-page .trade-list{padding:12px!important}
}

/* FantaInfinity identity v3.3: measured contrast fixes and legacy admin refresh. */
html[data-theme="light"] body.dashboard-page .section-link{color:#8f3708!important;font-weight:900!important}
html[data-theme="light"] body.dashboard-page .section-link:hover{color:#5f2204!important}

html[data-theme="light"] body.listone-page .search-box{border:1px solid #d49a5f!important;background:linear-gradient(145deg,#eadbc8,#dfcbb3)!important;box-shadow:0 8px 20px rgba(74,47,26,.11)!important}
html[data-theme="light"] body.listone-page .player-identity.listone-player-link,
html[data-theme="light"] body.listone-page .player-identity.listone-player-link :is(strong,span,small){color:#211912!important;opacity:1!important}
html[data-theme="light"] body.listone-page .player-identity.listone-player-link small{color:#5d5147!important}
html[data-theme="light"] body.listone-page .listone-pagination>a{color:#783006!important;border-color:#d49a5f!important;background:#f1dfc8!important}
html[data-theme="light"] body.listone-page .listone-pagination>a:not(.disabled):hover{color:#fff!important;background:#bd4708!important}
html[data-theme="light"] body.listone-page .listone-pagination>span,
html[data-theme="light"] body.listone-page .listone-pagination b{color:#33261c!important}

html[data-theme="light"] body.society-page .stats-grid>.stat>span{color:#51443a!important;opacity:1!important}
html[data-theme="light"] body.society-page .money-pill{color:#3c270f!important;background:#e0bd66!important}
html[data-theme="light"] body.society-page .mission-row :is(span,strong,b){color:#211912!important}
html[data-theme="light"] body.society-page :is(.btn-success,.success-action){color:#153a2a!important;background:#87dfb0!important}

html[data-theme="light"] body.roster-page .value-pill{color:#3c270f!important;background:#e0bd66!important;font-weight:950!important}
html[data-theme="light"] body.roster-page .role-pill.midfielder-pill{color:#fff!important;background:linear-gradient(145deg,#13855a,#086a47)!important}
html[data-theme="light"] body.roster-page .role-pill.forward-pill{color:#fff!important;background:linear-gradient(145deg,#cf373d,#a91f2a)!important;text-shadow:0 1px 2px rgba(0,0,0,.4)!important}
html[data-theme="light"] body.roster-page .role-pill.defender-pill{color:#fff!important;background:linear-gradient(145deg,#347fc8,#14508f)!important}

html[data-theme="light"] body.competition-page .position{color:#3c270f!important;background:#e0bd66!important}
html[data-theme="light"] body :is(.live-kicker,.live-label){color:#8f3708!important}
html[data-theme="light"] body :is(.round-badge,.matchday-badge){color:#2c1c0d!important}
html[data-theme="light"] body.news-page .progress-pill{color:#3b220f!important;background:#f0a34d!important}

html[data-theme="light"] body:not(.auth-page) :is(.btn-primary,.primary-action,.submit-btn,.apply-filters,button[type="submit"]){background:linear-gradient(135deg,#db620e,#b84205)!important}
html[data-theme="light"] body.market-page .market-guide>div>span:first-child{background:linear-gradient(135deg,#d45a0a,#aa3904)!important}

html[data-theme="light"] body.legacy-admin-page{min-height:100vh!important;padding:clamp(14px,3vw,28px)!important;color:#211912!important;background:radial-gradient(circle at 90% 0,rgba(255,166,61,.18),transparent 30rem),linear-gradient(145deg,#f8f3eb,#ece4d8)!important}
html[data-theme="light"] body.legacy-admin-page>.container{width:min(1120px,calc(100% - 24px))!important;max-width:1120px!important;margin:76px auto 30px!important;padding:clamp(18px,3vw,32px)!important;color:#211912!important;border:1px solid rgba(205,126,51,.6)!important;border-radius:24px!important;background:linear-gradient(145deg,#f1e7da,#e8dac8)!important;box-shadow:0 16px 40px rgba(74,47,26,.14)!important}
html[data-theme="light"] body.legacy-admin-page :is(h1,h2,h3,p,label,.competition-league){color:#211912!important;text-shadow:none!important}
html[data-theme="light"] body.legacy-admin-page :is(.update-section,.role-section,.team-list li,.player-list li){color:#211912!important;border-color:#d06d20!important;background:linear-gradient(145deg,#f6ecdf,#eadbc7)!important;box-shadow:0 10px 26px rgba(74,47,26,.11)!important}
html[data-theme="light"] body.legacy-admin-page :is(.team-list li a,.player-list li p){color:#211912!important}
html[data-theme="light"] body.legacy-admin-page .back-arrow{top:16px!important;left:16px!important;color:#7d3108!important;border:1px solid #d49a5f!important;border-radius:14px!important;background:#f5e6d2!important}
html[data-theme="light"] body.legacy-admin-page .competition-icon{background:#f6a046!important}
html[data-theme="light"] body.legacy-admin-page .competition-icon i{color:#2a190b!important}

@media(max-width:760px){
 html[data-theme="light"] body.legacy-admin-page{padding:10px 8px 92px!important}
 html[data-theme="light"] body.legacy-admin-page>.container{width:100%!important;margin:64px auto 20px!important;padding:16px!important}
 html[data-theme="light"] body.legacy-admin-page .team-list{padding:0!important}
 html[data-theme="light"] body.legacy-admin-page .team-list li{margin-bottom:12px!important;padding:14px!important}
 html[data-theme="light"] body.legacy-admin-page .back-arrow{font-size:22px!important}
 html[data-theme="light"] body.legacy-admin-page .back-arrow i{margin:12px!important}
}

/* FantaInfinity identity v3.4: la card mobile "La tua lega" usa la stessa
   superficie chiara e la stessa gerarchia tipografica delle altre card. */
@media(max-width:760px){
    html[data-theme="light"] body.dashboard-page .mobile-club-hub{
        color:#211912!important;
        border:1px solid rgba(205,126,51,.58)!important;
        background:linear-gradient(145deg,#f1e7da,#e9dccb)!important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 14px 34px rgba(74,47,26,.14),0 3px 8px rgba(89,55,27,.08)!important;
    }
    html[data-theme="light"] body.dashboard-page .mobile-hub-heading span{
        color:#8f3708!important;
    }
    html[data-theme="light"] body.dashboard-page .mobile-hub-heading strong{
        color:#211912!important;
        text-shadow:none!important;
    }
    html[data-theme="light"] body.dashboard-page .mobile-hub-grid>a{
        color:#211912!important;
        border:1px solid #e7c9a8!important;
        background:#fffdfa!important;
        box-shadow:0 8px 20px rgba(74,47,26,.09)!important;
    }
    html[data-theme="light"] body.dashboard-page .mobile-hub-grid>a strong{
        color:#211912!important;
        opacity:1!important;
    }
    html[data-theme="light"] body.dashboard-page .mobile-hub-grid>a small{
        color:#5d5147!important;
        opacity:1!important;
    }
    html[data-theme="light"] body.dashboard-page .mobile-hub-grid>a>i:last-child{
        color:#8f3708!important;
    }
}

/* FantaInfinity identity v3.6: metriche coerenti su desktop e mobile.
   Le tinte sono chiare; numeri, etichette e icone mantengono contrasto elevato. */
    html[data-theme="light"] body.dashboard-page .metrics-grid>.dashboard-metric{
        border-width:1px!important;
        border-top-width:4px!important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 12px 27px rgba(64,45,27,.12)!important;
    }
    html[data-theme="light"] body.dashboard-page .metrics-grid>.dashboard-metric .metric-top i{
        display:grid;
        width:34px;
        height:34px;
        place-items:center;
        border-radius:11px;
        font-size:15px;
    }

    html[data-theme="light"] body.dashboard-page .dashboard-metric.market-credits{
        color:#392707!important;
        border-color:#d9a33b!important;
        background:linear-gradient(145deg,#fff4cf,#f7df9b)!important;
    }
    html[data-theme="light"] body.dashboard-page .dashboard-metric.market-credits :is(.metric-label,strong,small){color:#392707!important}
    html[data-theme="light"] body.dashboard-page .dashboard-metric.market-credits .metric-top i{color:#fff!important;background:#9a5d05!important}

    html[data-theme="light"] body.dashboard-page .dashboard-metric.cash-balance{
        color:#153829!important;
        border-color:#69aa87!important;
        background:linear-gradient(145deg,#e5f6ec,#ccebd9)!important;
    }
    html[data-theme="light"] body.dashboard-page .dashboard-metric.cash-balance :is(.metric-label,strong,small){color:#153829!important}
    html[data-theme="light"] body.dashboard-page .dashboard-metric.cash-balance .metric-top i{color:#fff!important;background:#16704e!important}

    html[data-theme="light"] body.dashboard-page .dashboard-metric.roster-value{
        color:#17354e!important;
        border-color:#709cc2!important;
        background:linear-gradient(145deg,#e8f2fb,#cfe3f5)!important;
    }
    html[data-theme="light"] body.dashboard-page .dashboard-metric.roster-value :is(.metric-label,strong,small){color:#17354e!important}
    html[data-theme="light"] body.dashboard-page .dashboard-metric.roster-value .metric-top i{color:#fff!important;background:#28658f!important}

    html[data-theme="light"] body.dashboard-page .dashboard-metric.contract-cost{
        color:#4d231c!important;
        border-color:#d28172!important;
        background:linear-gradient(145deg,#fbe9e4,#f3cec5)!important;
    }
    html[data-theme="light"] body.dashboard-page .dashboard-metric.contract-cost :is(.metric-label,strong,small){color:#4d231c!important}
    html[data-theme="light"] body.dashboard-page .dashboard-metric.contract-cost .metric-top i{color:#fff!important;background:#a84437!important}

    html[data-theme="light"] body.dashboard-page .dashboard-hero .hero-scorecard{
        color:#30233e!important;
        border-color:#a18abb!important;
        background:linear-gradient(145deg,#f2eafa,#e4d6f1)!important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 13px 30px rgba(38,24,53,.18)!important;
    }
    html[data-theme="light"] body.dashboard-page .dashboard-hero .hero-scorecard :is(.scorecard-label,.scorecard-main strong,.scorecard-main i){color:#30233e!important}
    html[data-theme="light"] body.dashboard-page .dashboard-hero .scorecard-breakdown span{
        color:#49365d!important;
        border-color:#c2afd5!important;
        background:#fbf7ff!important;
    }
    html[data-theme="light"] body.dashboard-page .dashboard-hero .scorecard-breakdown b{color:#604081!important}

/* FantaInfinity identity v3.7: card vive e riconoscibili su tutta l'app.
   Palette pastello, inchiostro scuro e accenti saturi mantengono leggibilita'
   sia su desktop sia su mobile senza trasformare l'interfaccia in un arcobaleno. */
html[data-theme="light"] body:not(.auth-page) :is(
    .quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action,
    .player-card,.market-card,.trade-card,.sponsor-card,.stat-card,
    .economy-card,.contract-row,.mission-row,.reserve-card,.fan-player,
    .outcome-card,.tier-row,.movement-row,.bench-card,.picker-player
){
    border-width:1px!important;
    border-top-width:4px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 12px 28px rgba(54,42,32,.11)!important;
}

/* Navigazione: sequenza cromatica stabile per riconoscere le azioni al volo. */
html[data-theme="light"] body:not(.auth-page) :is(.quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action):nth-child(4n+1){
    color:#15384c!important;border-color:#65a6c5!important;
    background:linear-gradient(145deg,#e9f6fc,#cfeaf6)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action):nth-child(4n+2){
    color:#173b2b!important;border-color:#68aa82!important;
    background:linear-gradient(145deg,#e9f8ef,#cfedd9)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action):nth-child(4n+3){
    color:#38284b!important;border-color:#9b83b8!important;
    background:linear-gradient(145deg,#f3edfa,#e3d7f1)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action):nth-child(4n){
    color:#4a2d16!important;border-color:#d99a5e!important;
    background:linear-gradient(145deg,#fff3e5,#f6dabc)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action) :is(h2,h3,h4,strong,b,span,small,p,i){
    color:inherit!important;
}

/* Rosa e giocatori: azzurro sportivo, distinto dalle superfici economiche. */
html[data-theme="light"] body:not(.auth-page) :is(.player-card,.fan-player,.picker-player,.bench-card,.reserve-card){
    color:#18364b!important;border-color:#79a8c4!important;
    background:linear-gradient(145deg,#f0f8fc,#dbeef7)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.player-card,.fan-player,.picker-player,.bench-card,.reserve-card) :is(h2,h3,h4,strong,b,label){color:#18364b!important}
html[data-theme="light"] body:not(.auth-page) :is(.player-card,.fan-player,.picker-player,.bench-card,.reserve-card) :is(p,small,.muted,.text-muted){color:#49687a!important}

/* Mercato e scambi: verde acqua per opportunita', viola per negoziazioni. */
html[data-theme="light"] body:not(.auth-page) .market-card{
    color:#153c35!important;border-color:#65ae9c!important;
    background:linear-gradient(145deg,#e9f8f3,#ccebe1)!important;
}
html[data-theme="light"] body:not(.auth-page) .trade-card{
    color:#37274a!important;border-color:#9b83b8!important;
    background:linear-gradient(145deg,#f3edfa,#e2d5f0)!important;
}

/* Societa', sponsor e contratti: oro, pesca e verde finanziario. */
html[data-theme="light"] body:not(.auth-page) :is(.sponsor-card,.tier-row){
    color:#493409!important;border-color:#d2a648!important;
    background:linear-gradient(145deg,#fff6d9,#f5e2a5)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.contract-row,.movement-row){
    color:#4b271d!important;border-color:#d88d79!important;
    background:linear-gradient(145deg,#fceee9,#f3d6cc)!important;
}
html[data-theme="light"] body:not(.auth-page) .economy-card{
    color:#173a2b!important;border-color:#6cac86!important;
    background:linear-gradient(145deg,#edf9f1,#d3eddc)!important;
}
html[data-theme="light"] body:not(.auth-page) .mission-row{
    color:#352747!important;border-color:#a28abb!important;
    background:linear-gradient(145deg,#f5effb,#e5d9f2)!important;
}

/* Statistiche, risultati e partita: superfici fredde con accenti leggibili. */
html[data-theme="light"] body:not(.auth-page) :is(.stat,.stat-card,.outcome-card,.stadium-data){
    color:#17374e!important;border-color:#75a3c6!important;
    background:linear-gradient(145deg,#eef6fd,#d7e8f6)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.match-scoreboard,.mobile-match-center,.formation-panel,.bench-panel){
    color:#153b3e!important;border-color:#66a7a9!important;
    background:linear-gradient(145deg,#ebf8f7,#d1ecea)!important;
}

/* Pannelli principali: contrasto con lo sfondo bianco e intestazione colorata. */
html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.content-card,.table-panel,.role-section,.team-details,.stadium-panel){
    color:#29221c!important;border-color:#dfb27f!important;
    background:linear-gradient(145deg,#fffdf9,#f7eadb)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 15px 34px rgba(79,53,31,.12)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.dashboard-panel,.content-card,.table-panel,.role-section,.team-details,.stadium-panel)>:is(h1,h2,h3,h4,.panel-heading,.section-heading):first-child{
    color:#742f0e!important;
}

/* Testo sempre scuro sulle nuove superfici; badge e bottoni conservano i propri colori. */
html[data-theme="light"] body:not(.auth-page) :is(
    .market-card,.trade-card,.sponsor-card,.tier-row,.contract-row,.movement-row,
    .economy-card,.mission-row,.stat,.stat-card,.outcome-card,.stadium-data,
    .match-scoreboard,.mobile-match-center,.formation-panel,.bench-panel
) :is(h1,h2,h3,h4,h5,h6,strong,b,label){color:inherit!important}
html[data-theme="light"] body:not(.auth-page) :is(
    .market-card,.trade-card,.sponsor-card,.tier-row,.contract-row,.movement-row,
    .economy-card,.mission-row,.stat,.stat-card,.outcome-card,.stadium-data,
    .match-scoreboard,.mobile-match-center,.formation-panel,.bench-panel
) :is(p,small,.muted,.text-muted){color:color-mix(in srgb,currentColor 78%,#fff)!important}

@media(prefers-reduced-motion:no-preference){
    html[data-theme="light"] body:not(.auth-page) :is(
        .quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action,
        .player-card,.market-card,.trade-card,.sponsor-card,.stat-card,
        .economy-card,.contract-row,.mission-row,.reserve-card,.fan-player
    ){
        transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
    }
    html[data-theme="light"] body:not(.auth-page) :is(
        .quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action,
        .player-card,.market-card,.trade-card,.sponsor-card,.stat-card,
        .economy-card,.contract-row,.mission-row,.reserve-card,.fan-player
    ):hover{
        transform:translateY(-3px)!important;
        filter:saturate(1.06)!important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 18px 36px rgba(54,42,32,.16)!important;
    }
}

@media(max-width:760px){
    html[data-theme="light"] body:not(.auth-page) :is(
        .quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action,
        .player-card,.market-card,.trade-card,.sponsor-card,.stat-card,
        .economy-card,.contract-row,.mission-row,.reserve-card,.fan-player
    ){
        box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 9px 20px rgba(54,42,32,.11)!important;
    }
}

/* FantaInfinity identity v3.9 - final app-wide pitch layer. */
/* Barra mobile intelligente: superficie piena fino al fondo, senza trasparenze. */
@media(max-width:760px){
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock{
        right:0!important;
        bottom:0!important;
        left:0!important;
        width:100%!important;
        min-height:72px!important;
        padding:6px 7px max(7px,env(safe-area-inset-bottom))!important;
        border-right:0!important;
        border-bottom:0!important;
        border-left:0!important;
        border-radius:20px 20px 0 0!important;
        background:#f7fdf4!important;
        box-shadow:0 -8px 26px rgba(22,72,38,.18)!important;
        backdrop-filter:none!important;
        transform:translate3d(0,0,0)!important;
        opacity:1!important;
        transition:transform .28s cubic-bezier(.22,.75,.25,1),box-shadow .2s ease!important;
        will-change:transform;
    }
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock::before{
        content:"";
        position:absolute;
        z-index:-1;
        right:0;
        bottom:calc(-1 * env(safe-area-inset-bottom));
        left:0;
        height:calc(10px + env(safe-area-inset-bottom));
        background:#f7fdf4;
    }
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock.is-scroll-hidden{
        pointer-events:none!important;
        box-shadow:none!important;
        transform:translate3d(0,calc(100% + env(safe-area-inset-bottom) + 3px),0)!important;
    }
}
/* v5.0 - mobile shell coerente per tutte le viste. */
@media(max-width:760px){
    html body:not(.auth-page) :is(
        .topbar,.market-topbar,.trade-topbar,.csv-topbar,.player-topbar,.live-header,.page-header
    ){
        position:sticky!important;
        z-index:850!important;
        top:6px!important;
        display:flex!important;
        width:100%!important;
        min-width:0!important;
        min-height:58px!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:7px!important;
        margin:0 0 12px!important;
        padding:7px!important;
        overflow:visible!important;
        color:#173027!important;
        border:1px solid #78a383!important;
        border-radius:17px!important;
        background:#f4faef!important;
        box-shadow:0 8px 22px rgba(24,72,39,.15)!important;
        backdrop-filter:none!important;
    }

    html body:not(.auth-page) :is(
        .topbar,.market-topbar,.trade-topbar,.csv-topbar,.player-topbar,.page-header
    ) > :is(a,.back-link,.sheet-back,.trade-back):first-child{
        display:inline-flex!important;
        width:auto!important;
        min-width:44px!important;
        max-width:58%!important;
        min-height:44px!important;
        flex:0 1 auto!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:8px!important;
        margin:0!important;
        padding:8px 11px!important;
        overflow:hidden!important;
        color:#fff!important;
        border:1px solid #155d39!important;
        border-radius:12px!important;
        background:linear-gradient(145deg,#2d7d50,#155c39)!important;
        box-shadow:0 5px 13px rgba(20,87,53,.18)!important;
        font-size:11px!important;
        font-weight:900!important;
        line-height:1.08!important;
        text-decoration:none!important;
        white-space:nowrap!important;
    }
    html body:not(.auth-page) :is(
        .topbar,.market-topbar,.trade-topbar,.csv-topbar,.player-topbar,.page-header
    ) > :is(a,.back-link,.sheet-back,.trade-back):first-child :is(i,span,strong,small){color:inherit!important}
    html body:not(.auth-page) :is(
        .topbar,.market-topbar,.trade-topbar,.csv-topbar,.player-topbar,.page-header
    ) > :is(a,.back-link,.sheet-back,.trade-back):first-child > :is(span,.back-copy){
        min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
    }
    html body:not(.auth-page) .back-copy :is(strong,small){display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

    html body:not(.auth-page) :is(
        .topbar,.market-topbar,.trade-topbar,.csv-topbar,.player-topbar,.page-header
    ) > :is(.league-pill,.round-pill,.market-club,.admin-pill,.player-brand,.action-link,.trade-dashboard,a:not(:first-child)){
        display:inline-flex!important;
        width:auto!important;
        min-width:0!important;
        max-width:55%!important;
        min-height:42px!important;
        flex:0 1 auto!important;
        align-items:center!important;
        justify-content:center!important;
        gap:7px!important;
        margin:0!important;
        padding:8px 10px!important;
        overflow:hidden!important;
        color:#274636!important;
        border:1px solid #a5c3a8!important;
        border-radius:12px!important;
        background:#e3f0df!important;
        box-shadow:none!important;
        font-size:10px!important;
        font-weight:850!important;
        text-decoration:none!important;
        white-space:nowrap!important;
    }
    html body:not(.auth-page) :is(.league-pill,.round-pill,.market-club,.admin-pill,.player-brand,.action-link,.trade-dashboard) :is(span,strong,small,i){color:inherit!important}
    html body:not(.auth-page) :is(.league-pill,.round-pill,.market-club,.admin-pill,.player-brand,.action-link,.trade-dashboard) span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

    /* La testata live ha tre colonne e non deve comprimere il titolo centrale. */
    html body.live-lineups-page .live-header{
        display:grid!important;
        grid-template-columns:minmax(44px,auto) minmax(0,1fr) 44px!important;
    }
    html body.live-lineups-page .live-header .back-button{
        display:inline-flex!important;
        width:auto!important;
        min-width:44px!important;
        max-width:118px!important;
        min-height:44px!important;
        align-items:center!important;
        gap:7px!important;
        padding:8px 10px!important;
        overflow:hidden!important;
        color:#fff!important;
        border:1px solid #155d39!important;
        border-radius:12px!important;
        background:linear-gradient(145deg,#2d7d50,#155c39)!important;
        text-decoration:none!important;
    }
    html body.live-lineups-page .live-header .back-button :is(i,span){color:inherit!important}
    html body.live-lineups-page .live-header .back-button span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
    html body.live-lineups-page .live-header .round-heading{min-width:0!important;text-align:center!important}
    html body.live-lineups-page .live-header .round-heading :is(span,h1){overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
    html body.live-lineups-page .live-header .calendar-button{
        display:grid!important;width:44px!important;height:44px!important;place-items:center!important;padding:0!important;
        color:#315238!important;border:1px solid #b99a4b!important;border-radius:12px!important;background:#f5e4a9!important;
    }

    /* Frecce legacy senza contenitore: touch target stabile e nessuna sovrapposizione. */
    html body:not(.auth-page) > :is(.back-arrow,.back-button),
    html body.legacy-admin-page .back-arrow{
        position:fixed!important;
        z-index:900!important;
        top:max(10px,env(safe-area-inset-top))!important;
        left:10px!important;
        display:grid!important;
        width:46px!important;
        height:46px!important;
        place-items:center!important;
        margin:0!important;
        padding:0!important;
        color:#fff!important;
        border:1px solid #155d39!important;
        border-radius:14px!important;
        background:#216f46!important;
        box-shadow:0 8px 20px rgba(19,75,45,.22)!important;
    }

    /* Dock universale: cinque colonne reali, fondo pieno e icone sempre centrate. */
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock{
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        align-items:end!important;
        gap:2px!important;
        overflow:visible!important;
    }
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock::before{display:none!important}
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock>a{
        position:relative!important;
        z-index:1!important;
        display:flex!important;
        width:auto!important;
        min-width:0!important;
        min-height:58px!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        gap:4px!important;
        margin:0!important;
        padding:5px 1px!important;
        overflow:visible!important;
        color:#527060!important;
        border:0!important;
        border-radius:12px!important;
        background:transparent!important;
        box-shadow:none!important;
        font-size:8px!important;
        line-height:1!important;
        text-decoration:none!important;
    }
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock>a>i{color:#3f7656!important;font-size:17px!important;filter:none!important}
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock>a>span{display:block!important;max-width:100%!important;overflow:hidden!important;color:inherit!important;text-overflow:ellipsis!important;white-space:nowrap!important}
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock>a.is-active{color:#164d31!important;background:#dcecdc!important;box-shadow:inset 0 0 0 1px #a8c9ad!important}
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock>a.is-active::before{top:2px!important;background:#26784b!important;box-shadow:none!important}
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock .dock-progress{
        position:absolute!important;top:1px!important;right:2px!important;padding:2px 4px!important;border-radius:999px!important;
        color:#fff!important;background:#9a680e!important;font-size:6px!important;font-weight:950!important;
    }
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock .dock-match-action{
        min-height:58px!important;margin-top:-12px!important;background:transparent!important;transform:none!important;
    }
    html body:not(.auth-page):not(.fi-no-smart-dock) .mobile-dock .dock-match-action .dock-action-icon{
        display:grid!important;width:48px!important;height:48px!important;flex:0 0 48px!important;place-items:center!important;
        color:#fff!important;border:4px solid #f7fdf4!important;border-radius:50%!important;background:linear-gradient(145deg,#2a8051,#145d3a)!important;
        box-shadow:0 8px 18px rgba(20,89,54,.28)!important;font-size:18px!important;
    }

    /* Notizie: topbar autonoma e contenuto sempre sopra il footer. */
    html body.news-page{min-height:100dvh!important;padding:0 0 calc(82px + env(safe-area-inset-bottom))!important}
    html body.news-page .news-shell{
        width:100%!important;max-width:720px!important;margin:0 auto!important;padding:8px 10px 18px!important;
    }
    html body.news-page .news-shell>.back-link{
        position:sticky!important;z-index:850!important;top:6px!important;display:inline-flex!important;min-height:46px!important;
        align-items:center!important;gap:8px!important;margin:0 0 10px!important;padding:9px 13px!important;
        color:#fff!important;border:1px solid #155d39!important;border-radius:13px!important;background:linear-gradient(145deg,#2d7d50,#155c39)!important;
        box-shadow:0 7px 18px rgba(19,75,45,.2)!important;text-decoration:none!important;
    }
    html body.news-page .news-shell>.back-link :is(i,span){color:inherit!important}
    html body.news-page .news-coming-soon{
        min-height:calc(100dvh - 158px)!important;margin:0!important;padding:24px 17px!important;border-radius:20px!important;
    }
    html body.news-page .news-coming-soon h1{font-size:clamp(28px,9vw,42px)!important;line-height:1.02!important}
    html body.news-page .news-copy{font-size:13px!important;line-height:1.5!important}

    html body.create-team-page .back-arrow{
        position:fixed!important;z-index:900!important;top:max(10px,env(safe-area-inset-top))!important;left:10px!important;
        display:grid!important;width:46px!important;height:46px!important;place-items:center!important;margin:0!important;padding:0!important;
        color:#fff!important;border:1px solid #155d39!important;border-radius:14px!important;background:#216f46!important;
        box-shadow:0 8px 20px rgba(19,75,45,.22)!important;
    }
    html body.create-team-page .back-arrow i{margin:0!important;color:#fff!important}

    html body:not(.auth-page) .container>.back-link:last-child{
        display:inline-flex!important;min-height:44px!important;align-items:center!important;gap:8px!important;margin:18px 0 0!important;
        padding:9px 13px!important;color:#fff!important;border:1px solid #155d39!important;border-radius:12px!important;
        background:linear-gradient(145deg,#2d7d50,#155c39)!important;text-decoration:none!important;
    }
    html body:not(.auth-page) .container>.back-link:last-child :is(i,span){color:inherit!important}
}

@media(max-width:380px){
    html body:not(.auth-page) :is(.topbar,.market-topbar,.trade-topbar,.csv-topbar,.player-topbar,.page-header)>:is(a,.back-link,.sheet-back,.trade-back):first-child{max-width:54%!important;padding-inline:9px!important}
    html body:not(.auth-page) :is(.league-pill,.round-pill,.market-club,.admin-pill,.player-brand,.action-link,.trade-dashboard){max-width:46%!important;padding-inline:8px!important}
}

/* v4.1: maggiore saturazione; la specificita' protegge il nuovo campo
   dalle dichiarazioni legacy che seguono. */
html[data-theme="light"] body:not(.auth-page):not(.fi-no-pitch){
    background:
        radial-gradient(circle at 50% 42%,transparent 0 76px,rgba(255,255,255,.25) 77px 79px,transparent 80px),
        linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.22) calc(50% - 1px),rgba(255,255,255,.22) calc(50% + 1px),transparent calc(50% + 1px)),
        radial-gradient(circle at 8% 8%,rgba(235,252,231,.38),transparent 24rem),
        repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 9%,rgba(19,103,48,.075) 9%,rgba(19,103,48,.075) 18%),
        linear-gradient(145deg,#c2ddc0,#a9cdaa 48%,#8fb99a)!important;
}
html[data-theme="light"] body:not(.auth-page){
    min-height:100vh!important;
    color:#173027!important;
    background:
        radial-gradient(circle at 50% 42%,transparent 0 76px,rgba(255,255,255,.23) 77px 79px,transparent 80px),
        linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.2) calc(50% - 1px),rgba(255,255,255,.2) calc(50% + 1px),transparent calc(50% + 1px)),
        radial-gradient(circle at 8% 8%,rgba(255,255,255,.52),transparent 25rem),
        repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 9%,rgba(44,126,70,.035) 9%,rgba(44,126,70,.035) 18%),
        linear-gradient(145deg,#eaf6e8,#dcefdc 48%,#cde6cf)!important;
    background-attachment:fixed!important;
}

html[data-theme="light"] body:not(.auth-page) :is(
    .card,.panel,.csv-panel,.content-card,.dashboard-panel,.table-panel,.table-wrapper,
    .modal-content,.details-card,.detail-section,.update-section,.section,.subsection,
    .admin-box,.next-match,.hero-scorecard,.club-card,.partite-container,.match-details,
    .api-state,.empty-state,.empty-message,.role-section,.team-details,.stadium-panel
){
    color:#173027!important;
    border:1px solid rgba(72,126,86,.34)!important;
    border-top:4px solid #4c9466!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,rgba(253,255,251,.98),rgba(232,245,232,.98))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 14px 32px rgba(29,78,45,.13)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(
    .card,.panel,.csv-panel,.content-card,.dashboard-panel,.table-panel,.table-wrapper,
    .modal-content,.details-card,.detail-section,.update-section,.section,.subsection,
    .admin-box,.next-match,.hero-scorecard,.club-card,.partite-container,.match-details,
    .api-state,.empty-state,.empty-message,.role-section,.team-details,.stadium-panel
) :is(h1,h2,h3,h4,h5,h6,strong,b,label){color:#173027!important}
html[data-theme="light"] body:not(.auth-page) :is(
    .card,.panel,.csv-panel,.content-card,.dashboard-panel,.table-panel,.table-wrapper,
    .modal-content,.details-card,.detail-section,.update-section,.section,.subsection,
    .admin-box,.next-match,.hero-scorecard,.club-card,.partite-container,.match-details,
    .api-state,.empty-state,.empty-message,.role-section,.team-details,.stadium-panel
) :is(p,small,.muted-text,.text-muted){color:#526a60!important}

html[data-theme="light"] body:not(.auth-page) :is(.card-header,.panel-header,.modal-header,.role-header,.section-title){
    color:#fff!important;border-color:#1d6a40!important;background:linear-gradient(135deg,#24754a,#3f9360)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.card-header,.panel-header,.modal-header,.role-header,.section-title) :is(h1,h2,h3,h4,h5,h6,strong,span,i,a){color:#fff!important}

html[data-theme="light"] body:not(.auth-page) :is(
    .list-group-item,.team-list>li,.player-list>li,.mission-row,.movement-row,
    .contract-row,.tier-row,.match-card,.home-match,.column-guide>div
){
    color:#173027!important;border-color:rgba(67,124,82,.31)!important;
    background:linear-gradient(145deg,#fff,#eaf5e9)!important;
    box-shadow:0 7px 18px rgba(29,78,45,.09)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.list-group-item,.team-list>li,.player-list>li,.match-card) :is(a,p,span,strong,b,small){color:inherit!important}

html[data-theme="light"] body:not(.auth-page) :is(table,.table,.standings-table){
    color:#173027!important;border-color:rgba(65,119,79,.3)!important;background:rgba(250,255,248,.94)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(thead,.table thead){color:#fff!important;background:linear-gradient(135deg,#1f6d43,#39885a)!important}
html[data-theme="light"] body:not(.auth-page) :is(thead,.table thead) :is(th,a,span){color:#fff!important}
html[data-theme="light"] body:not(.auth-page) tbody tr,
html[data-theme="light"] body:not(.auth-page) .table-striped>tbody>tr:nth-of-type(odd)>*{color:#173027!important;background:rgba(250,255,248,.96)!important}
html[data-theme="light"] body:not(.auth-page) tbody tr:nth-child(even),
html[data-theme="light"] body:not(.auth-page) .table-striped>tbody>tr:nth-of-type(even)>*{color:#173027!important;background:rgba(224,241,225,.94)!important}
html[data-theme="light"] body:not(.auth-page) tbody tr:hover,
html[data-theme="light"] body:not(.auth-page) .table-striped>tbody>tr:hover>*{background:#d2ead6!important}
html[data-theme="light"] body:not(.auth-page) :is(td,th){border-color:rgba(66,119,80,.22)!important}

html[data-theme="light"] body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select){
    color:#183128!important;border:1px solid #91b99b!important;background:#fbfff9!important;
    box-shadow:inset 0 1px 3px rgba(28,80,45,.07)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(input,select,textarea,.form-control,.form-select):focus{
    border-color:#318356!important;box-shadow:0 0 0 4px rgba(49,131,86,.16)!important;
}
html[data-theme="light"] body:not(.auth-page) :is(.toolbar,.filters,.filter-bar,.round-selector,.admin-form){
    color:#173027!important;border-color:rgba(67,124,82,.32)!important;background:rgba(239,249,237,.95)!important;
}

/* Famiglie cromatiche finali: ogni area conserva una personalita' precisa. */
html[data-theme="light"] body:not(.auth-page) :is(.quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action):nth-child(4n+1){color:#15384c!important;border-color:#65a6c5!important;background:linear-gradient(145deg,#f2faff,#cfeaf6)!important}
html[data-theme="light"] body:not(.auth-page) :is(.quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action):nth-child(4n+2){color:#173b2b!important;border-color:#68aa82!important;background:linear-gradient(145deg,#f2fcf5,#cfedd9)!important}
html[data-theme="light"] body:not(.auth-page) :is(.quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action):nth-child(4n+3){color:#38284b!important;border-color:#9b83b8!important;background:linear-gradient(145deg,#faf6ff,#e3d7f1)!important}
html[data-theme="light"] body:not(.auth-page) :is(.quick-card,.mobile-hub-grid>a,.hub-tile,.tool-card,.club-action):nth-child(4n){color:#4a2d16!important;border-color:#d99a5e!important;background:linear-gradient(145deg,#fff9ef,#f6dabc)!important}

html[data-theme="light"] body:not(.auth-page) :is(.player-card,.player-sheet,.player-row,.player-slot,.fan-player,.picker-player,.bench-card,.reserve-card,.role-section){color:#17374c!important;border-color:#6da2c2!important;background:linear-gradient(145deg,#f5fbff,#dcecf8)!important}
html[data-theme="light"] body:not(.auth-page) :is(.market-card,.market-panel,.market-guide,.auction-card){color:#153b32!important;border-color:#4caa88!important;background:linear-gradient(145deg,#effbf5,#d9efe8)!important}
html[data-theme="light"] body:not(.auth-page) :is(.trade-card,.trade-step,.trade-list){color:#39294a!important;border-color:#9a7eb5!important;background:linear-gradient(145deg,#faf6ff,#e9def4)!important}
html[data-theme="light"] body:not(.auth-page) :is(.sponsor-card,.sponsor-alert,.tier-row,.awards-grid>article,.trophy-card){color:#493509!important;border-color:#cea33f!important;background:linear-gradient(145deg,#fffbeb,#f7e6b5)!important}
html[data-theme="light"] body:not(.auth-page) :is(.contract-row,.movement-row,.penalty-box,.outcome-card){color:#4a291f!important;border-color:#d38a74!important;background:linear-gradient(145deg,#fff7f3,#f5d9cf)!important}
html[data-theme="light"] body:not(.auth-page) :is(.stat,.stat-card,.metric,.card-stat,.stadium-data,.scorecard-breakdown>span){color:#17384c!important;border-color:#76a6c2!important;background:linear-gradient(145deg,#f5fbff,#dcecf8)!important}

html[data-theme="dark"] body:not(.auth-page){
    background:
        radial-gradient(circle at 50% 42%,transparent 0 76px,rgba(185,232,196,.08) 77px 79px,transparent 80px),
        linear-gradient(90deg,transparent calc(50% - 1px),rgba(185,232,196,.08) calc(50% - 1px),rgba(185,232,196,.08) calc(50% + 1px),transparent calc(50% + 1px)),
        repeating-linear-gradient(90deg,rgba(91,169,111,.035) 0,rgba(91,169,111,.035) 10%,transparent 10%,transparent 20%),
        linear-gradient(145deg,#07150d,#0d2517 52%,#081a11)!important;
    background-attachment:fixed!important;
}
html[data-theme="dark"] body:not(.auth-page) :is(.card,.panel,.section,.subsection,.csv-panel,.modal-content,.table-wrapper,.list-group-item){
    border-color:rgba(91,169,111,.3)!important;border-top:4px solid #4c9d68!important;
    background:linear-gradient(145deg,rgba(19,46,30,.97),rgba(10,30,19,.97))!important;
}

@media(max-width:760px){
    html[data-theme="light"] body:not(.auth-page),html[data-theme="dark"] body:not(.auth-page){background-attachment:scroll!important}
    html[data-theme="light"] body:not(.auth-page) :is(.card,.panel,.csv-panel,.content-card,.dashboard-panel,.table-panel,.table-wrapper,.modal-content,.section,.subsection,.role-section,.match-card,.player-card,.market-card,.trade-card,.sponsor-card){
        border-radius:15px!important;box-shadow:0 8px 20px rgba(29,78,45,.12)!important;
    }
    html[data-theme="light"] body:not(.auth-page) :is(.container,.page,main){max-width:100%!important}
}
