/* =====================================================================
 * AECM — sm-shell.css
 * Coquille « paysage » des écrans de gestion, sur le modèle des jeux de
 * gestion de football (Soccer Manager / Football Manager) : menu latéral à
 * gauche, barre du haut avec écusson, monnaies et bouton « Continuer »,
 * panneaux côte à côte.
 *
 * Active quand html.land (voir sm-shell.js : écran plus large que haut).
 * Couleurs : UNIQUEMENT la charte existante (brand-500 #f97316 / brand-600
 * #ea580c, ui-900 #0a0e17, ui-800 #111827, ui-700 #1f2937 et les jetons
 * --surface-grad, --text, --text-muted, --border, --brand…).
 * ===================================================================== */

:root {
    --sm-brand-grad: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    --sm-side-w: 188px;
    --sm-head-h: 52px;
}

/* ---- Menu latéral --------------------------------------------------- */
html.land aside.sm-side {
    display: flex !important;
    width: var(--sm-side-w);
    background: #111827;
    border-inline-end: 1px solid var(--border);
}
html.land aside.sm-side > .sm-side-brand { height: var(--sm-head-h); }
aside.sm-side .sm-side-brand {
    display: flex; align-items: center; gap: 8px;
    padding: 0 14px; border-bottom: 1px solid var(--border);
}
aside.sm-side .sm-side-brand b { font-family: 'Teko', sans-serif; font-size: 24px; line-height: 1; color: #fff; letter-spacing: .02em; }
aside.sm-side .sm-side-brand b i { font-style: normal; color: #f97316; }
aside.sm-side nav.sm-side-nav { flex: 1; overflow-y: auto; padding: 4px 0 8px; scrollbar-width: none; }
aside.sm-side nav.sm-side-nav::-webkit-scrollbar { display: none; }
aside.sm-side .sm-item {
    width: 100%; display: flex; align-items: center; gap: 10px;
    padding: 7px 12px 7px 14px; min-height: 34px;
    color: var(--text); font-weight: 700; font-size: 12.5px; letter-spacing: .01em;
    background: transparent; border: 0; text-align: start; position: relative;
    transition: background .15s, color .15s;
}
aside.sm-side .sm-item svg.sm-ico { width: 16px; height: 16px; fill: currentColor; flex: 0 0 16px; opacity: .9; }
aside.sm-side .sm-item .sm-chev { margin-inline-start: auto; width: 12px; height: 12px; opacity: .55; fill: none; stroke: currentColor; stroke-width: 2.4; }
aside.sm-side .sm-item:hover { background: rgba(255, 255, 255, .04); }
/* élément actif : aplat dégradé de la marque, comme l'onglet sélectionné des captures */
aside.sm-side .sm-item.text-brand-500,
aside.sm-side .sm-item.is-active {
    background: var(--sm-brand-grad); color: #fff;
}
aside.sm-side .sm-item.text-brand-500 .sm-chev,
aside.sm-side .sm-item.is-active .sm-chev { opacity: 1; }
aside.sm-side .sm-sep { height: 2px; margin: 4px 12px; background: #f97316; opacity: .45; border-radius: 2px; }
aside.sm-side .sm-side-foot {
    display: flex; justify-content: space-around; align-items: center;
    padding: 8px 6px; border-top: 1px solid var(--border);
}
aside.sm-side .sm-side-foot button { color: var(--text-muted); padding: 6px; border-radius: 9px; }
aside.sm-side .sm-side-foot button:hover { color: #fff; background: rgba(255, 255, 255, .05); }
aside.sm-side .sm-side-foot svg { width: 22px; height: 22px; fill: currentColor; }
/* badge de messages non lus dans le menu */
aside.sm-side .sm-badge {
    min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px;
    background: #ef4444; color: #fff; font-size: 10px; line-height: 16px; text-align: center;
}

/* ---- Barre du haut -------------------------------------------------- */
html.land #main-header {
    height: var(--sm-head-h) !important; padding: 0 0 0 10px !important;
    background: linear-gradient(90deg, #111827 0%, #0a0e17 100%);
    gap: 10px;
}
html.land #main-header .sm-back {
    width: 34px; height: 34px; border-radius: 999px; flex: 0 0 34px;
    display: grid; place-items: center; background: var(--sm-brand-grad); color: #fff;
    box-shadow: var(--shadow-lift);
}
html.land #main-header .sm-back svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.6; }
html.land #main-header .sm-back[disabled] { opacity: .35; }
.sm-only { display: none !important; }
html.land .sm-only { display: flex !important; }
html.land .sm-hide { display: none !important; }
html.land #main-header .sm-search {
    flex: 1 1 auto; max-width: 300px; height: 32px; border-radius: 999px;
    align-items: center; gap: 8px; padding: 0 6px 0 14px;
    background: #1f2937; border: 1px solid var(--border); color: var(--text-muted);
    font-size: 12.5px; font-weight: 600;
}
html.land #main-header .sm-search span { flex: 1; text-align: start; }
html.land #main-header .sm-search i {
    width: 24px; height: 24px; border-radius: 999px; display: grid; place-items: center;
    background: var(--sm-brand-grad); color: #fff;
}
html.land #main-header .sm-search svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.6; }
html.land #main-header .sm-pills { align-items: center; gap: 6px; }
html.land #main-header .sm-pill {
    height: 30px; border-radius: 999px; align-items: center; gap: 6px; padding: 0 3px 0 10px;
    background: #0a0e17; border: 1px solid var(--border-strong); color: #fff;
    font-family: 'Teko', sans-serif; font-size: 19px; line-height: 1;
}
html.land #main-header .sm-pill svg { width: 15px; height: 15px; }
html.land #main-header .sm-pill .sm-plus {
    width: 22px; height: 22px; border-radius: 999px; display: grid; place-items: center;
    background: var(--sm-brand-grad); color: #fff; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 800;
}
/* « Continuer » : grand bouton en bout de barre, coin biseauté */
html.land #main-header .sm-continue {
    align-self: stretch; align-items: center; gap: 10px; padding: 0 14px 0 26px;
    background: var(--sm-brand-grad); color: #fff;
    clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%);
}
html.land #main-header .sm-continue .sm-c-txt { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.05; }
html.land #main-header .sm-continue b { font-family: 'Teko', sans-serif; font-size: 22px; font-weight: 600; letter-spacing: .02em; }
html.land #main-header .sm-continue small { font-size: 10.5px; font-weight: 700; opacity: .9; }
html.land #main-header .sm-continue svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 3; }
html.land #main-header .sm-continue:active { filter: brightness(.92); }

/* ---- Zone de contenu ------------------------------------------------ */
html.land #mobile-nav { display: none !important; }
html.land main { padding: 12px 14px 14px !important; }
html.land #tier-bar { padding-top: 3px; padding-bottom: 3px; }

/* ---- Panneaux : langage commun des écrans de gestion --------------- */
html.land .card,
html.land .panel-glass:not(#main-header) {
    border-radius: var(--r-card, 14px);
    background: var(--surface-grad);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-lift);
}
/* titres de section : capitales, filet de la marque à gauche */
html.land .sec-title { letter-spacing: .06em; }

/* ---- Tableau de bord en paysage : panneaux côte à côte -------------- */
html.land #view-dashboard .db-wrap {
    display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 12px; align-items: start; max-width: none;
}
html.land #view-dashboard .db-wrap > .match-card { grid-row: span 3; }
html.land #view-dashboard .db-wrap > .btn-office { grid-column: 2; }

/* retouches coquille */
aside.sm-side .sm-side-brand svg { width: 22px; height: 22px; fill: #f97316; flex: 0 0 22px; }
html.land #main-header > div:first-child { flex: 0 1 auto !important; gap: 8px; }
html.land #main-header #header-club-name { font-size: 20px !important; max-width: 150px; }
html.land #main-header #header-league-name { max-width: 150px; }
html.land #main-header .sm-search { max-width: 210px; min-width: 120px; }
html.land #main-header .sm-pill { white-space: nowrap; font-size: 17px; padding-inline-start: 8px; }
html.land #main-header #header-club-name { max-width: 120px; }
html.land #main-header #header-league-name { max-width: 120px; }
@media (max-width: 980px) {
    html.land #main-header .sm-search { min-width: 0; width: 32px; flex: 0 0 32px; padding: 0 3px; justify-content: center; }
    html.land #main-header .sm-search span { display: none; }
    html.land #main-header .sm-continue { padding-inline-start: 22px; }
    html.land #main-header .sm-continue b { font-size: 19px; }
}
/* barre de progression de carrière : rangée dans le menu latéral en paysage */
html.land aside.sm-side #tier-bar { padding: 6px 12px 7px !important; background: transparent; border-bottom: 1px solid var(--border); }
html.land aside.sm-side #tier-bar #tier-bar-label { font-size: 9px; }

/* =====================================================================
 * ÉCRANS EN PAYSAGE — règles communes
 * ===================================================================== */
/* pleine largeur : les écrans étaient bornés pour la lecture sur ordinateur */
html.land main > [id^="view-"]:not(#view-match) { max-width: none !important; }

/* onglets de section : texte + soulignement de la marque, comme les onglets des captures */
html.land #subnav.seg:not(.hidden) {
    display: flex; gap: 0; padding: 0 6px; margin-bottom: 10px !important;
    background: var(--surface-grad); border: 1px solid var(--border); border-radius: var(--r-card, 14px);
    height: 38px; align-items: stretch;
}
html.land #subnav .seg-btn {
    flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 6px;
    background: transparent !important; box-shadow: none !important; border-radius: 0 !important;
    color: var(--text-muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; position: relative;
}
html.land #subnav .seg-btn svg { width: 15px; height: 15px; }
html.land #subnav .seg-btn.is-active { color: #fff; }
html.land #subnav .seg-btn.is-active::after {
    content: ''; position: absolute; left: 14%; right: 14%; bottom: 0; height: 3px; border-radius: 3px 3px 0 0;
    background: var(--sm-brand-grad);
}

/* titres d'écran : plus compacts, sous-titres explicatifs masqués (la hauteur est rare en paysage) */
html.land main [id^="view-"] h3.font-teko.text-3xl { font-size: 24px !important; line-height: 1.1; }
html.land main [id^="view-"] h3.font-teko.text-3xl + p.text-xs { display: none; }

/* Effectif : grille plus dense */
html.land #squad-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 10px !important; }
@media (min-width: 1100px) { html.land #squad-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } }
html.land .squad-toolbar { margin-bottom: 10px !important; }

/* tous les sélecteurs à onglets : même langage que les onglets de section */
html.land .seg:not(.hidden):not(#subnav) {
    background: var(--surface-grad); border: 1px solid var(--border); border-radius: var(--r-card, 14px);
    padding: 0 6px; min-height: 36px; margin-bottom: 10px !important;
}
html.land .seg:not(#subnav) .seg-btn {
    background: transparent !important; box-shadow: none !important; border-radius: 0 !important;
    color: var(--text-muted); position: relative; padding-top: 6px; padding-bottom: 6px;
}
html.land .seg:not(#subnav) .seg-btn.is-active { color: #fff; }
html.land .seg:not(#subnav) .seg-btn.is-active::after {
    content: ''; position: absolute; left: 14%; right: 14%; bottom: 0; height: 3px; border-radius: 3px 3px 0 0;
    background: var(--sm-brand-grad);
}

/* Tactique : terrain à gauche, effectif en colonne à droite, tout à la hauteur de l'écran */
html.land #view-tactics > .flex:first-child { margin-bottom: 6px !important; }
html.land #tac-pane-pitch:not(.hidden) {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 32%); gap: 10px;
    height: calc(100dvh - var(--sm-head-h) - 118px); min-height: 230px;
}
html.land #tac-pane-pitch > div:first-child { height: 100% !important; min-height: 0 !important; }
html.land #tac-pane-pitch > .mt-3 { margin-top: 0 !important; min-height: 0; }
html.land #tac-pane-pitch > .mt-3 > .panel-glass { height: 100%; overflow-y: auto; scrollbar-width: thin; }
html.land #tactics-titulaires, html.land #tactics-remplacants, html.land #tactics-reservistes {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
html.land #tac-pane-pitch > .mt-3 p.text-center { display: none; }

/* Terrain tactique en paysage : mini-cartes joueurs */
.sm-tok {
    position: absolute; z-index: 20; transform: translate(-50%, -50%);
    display: grid; grid-template-columns: 26px auto; grid-template-rows: 26px auto auto;
    column-gap: 2px; align-items: center; width: 64px; pointer-events: none;
    transition: left .7s, top .7s;
}
.sm-tok-face {
    grid-column: 1; grid-row: 1; width: 26px; height: 26px; border-radius: 999px; overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.02)); border: 1px solid var(--border-strong);
    justify-self: end;
}
.sm-tok-face svg { width: 100%; height: 100%; }
.sm-tok-ovr {
    grid-column: 2; grid-row: 1; justify-self: start; align-self: start;
    min-width: 21px; height: 21px; padding: 0 3px; border-radius: 999px; display: grid; place-items: center;
    background: #0a0e17; border: 2px solid #f97316; color: #fff;
    font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1;
}
.sm-tok-pos {
    grid-column: 2; grid-row: 1; align-self: end; justify-self: start; margin-top: 18px;
    font-size: 8.5px; font-weight: 800; letter-spacing: .04em; padding: 0 4px; border-radius: 3px;
    background: var(--sm-brand-grad); color: #fff; line-height: 12px;
}
.sm-tok-name {
    grid-column: 1 / 3; grid-row: 2; margin-top: 2px; text-align: center;
    font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: #fff;
    background: rgba(10, 14, 23, .88); border-radius: 4px 4px 0 0; padding: 1px 3px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sm-tok-name i { font-style: normal; color: #f97316; margin-inline-start: 2px; }
.sm-tok-bar { grid-column: 1 / 3; grid-row: 3; height: 3px; background: rgba(10, 14, 23, .88); border-radius: 0 0 3px 3px; overflow: hidden; }
.sm-tok-bar b { display: block; height: 100%; }
.sm-tok.is-bad .sm-tok-name { background: #ef4444; }

/* =====================================================================
 * MATCH EN PAYSAGE — 3D plein écran, éléments superposés
 * ===================================================================== */
html.land.in-match aside.sm-side,
html.land.in-match #main-header,
html.land.in-match #tier-bar { display: none !important; }
html.land.in-match main { padding: 0 !important; overflow: hidden !important; }
html.land.in-match #view-match { position: fixed !important; inset: 0 !important; z-index: 70; }
html.land.in-match #match-body { position: absolute !important; inset: 0 !important; padding: 0 !important; gap: 0 !important; display: block !important; }
html.land.in-match #pitch-container {
    position: absolute !important; inset: 0 !important; height: auto !important; width: auto !important;
    border-radius: 0 !important; border: 0 !important;
}
html.land.in-match #pitch-full, html.land.in-match #pitch-toggle, html.land.in-match #pitch-hud { display: none !important; }

/* pastille de score, centrée en haut */
html.land.in-match #match-header {
    position: absolute !important; top: 8px; left: 50%; transform: translateX(-50%); z-index: 75;
    height: 34px !important; padding: 0 !important; gap: 0; border-radius: 9px; overflow: hidden;
    background: #0a0e17 !important; border: 1px solid var(--border-strong) !important; box-shadow: var(--shadow-lift);
    width: auto; max-width: 70vw;
}
html.land.in-match #match-header > .absolute { display: none; }
html.land.in-match #match-header > div { flex: 0 0 auto !important; gap: 6px !important; }
html.land.in-match #match-header > div:first-child { padding-inline-start: 8px; }
html.land.in-match #match-header > div:last-child { padding-inline-end: 8px; }
html.land.in-match #live-home-logo, html.land.in-match #live-away-logo { width: 22px !important; height: 22px !important; }
html.land.in-match #live-home-kit, html.land.in-match #live-away-kit { display: none !important; }
html.land.in-match #live-home-name, html.land.in-match #live-away-name {
    font-family: 'Teko', sans-serif; font-size: 18px !important; font-weight: 600; text-transform: uppercase; max-width: 110px; letter-spacing: .02em;
}
html.land.in-match #match-header > div:nth-child(3) {
    flex-direction: row-reverse !important; align-items: stretch; padding: 0 !important; margin: 0 8px; align-self: stretch;
}
html.land.in-match #live-score {
    font-size: 26px !important; padding: 0 10px; display: flex; align-items: center;
    background: var(--sm-brand-grad); color: #fff;
}
html.land.in-match #live-time {
    margin: 0 !important; padding: 0 10px; display: flex; align-items: center;
    background: #1f2937; color: #fff !important; font-size: 12px !important; letter-spacing: .06em !important;
}

/* panneau du direct / stats / notes / zones : par-dessus la 3D, à droite, masqué par défaut */
html.land.in-match #match-body > .panel-glass {
    position: absolute !important; top: 52px; bottom: 56px; right: 66px; width: min(340px, 44vw); flex: none !important;
    z-index: 72; background: rgba(17, 24, 39, .9) !important; backdrop-filter: blur(6px);
    transition: opacity .2s, transform .2s;
}
html.land.in-match:not(.sm-panel-open) #match-body > .panel-glass { opacity: 0; pointer-events: none; transform: translateX(16px); }
html.land.in-match #match-body > .panel-glass > .absolute.bottom-0 { display: none; }
html.land.in-match #live-commentary, html.land.in-match #live-stats,
html.land.in-match #live-ratings, html.land.in-match #live-heat { padding-bottom: 12px !important; }

/* rail d'actions à droite */
.sm-rail { display: none; }
html.land.in-match .sm-rail { display: flex; flex-direction: column; gap: 6px; position: fixed; right: 8px; top: 52px; z-index: 76; }
.sm-rail button {
    width: 50px; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 0 5px;
    border-radius: 12px; background: rgba(10, 14, 23, .82); border: 1px solid var(--border-strong); color: #fff;
    font-size: 8.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; backdrop-filter: blur(4px);
}
.sm-rail button svg { width: 20px; height: 20px; }
.sm-rail button.is-on { background: var(--sm-brand-grad); border-color: transparent; }

/* bandeau du direct, en bas */
.sm-ticker { display: none; }
html.land.in-match .sm-ticker {
    display: block; position: fixed; left: 50%; bottom: 10px; transform: translateX(-50%); z-index: 74;
    max-width: min(620px, 66vw); padding: 7px 16px; border-radius: 999px;
    background: rgba(10, 14, 23, .86); border: 1px solid var(--border-strong); color: #fff;
    font-size: 12.5px; font-weight: 600; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    backdrop-filter: blur(4px);
}
html.land.in-match .sm-ticker:empty { display: none; }
.sm-ticker .op { opacity: .55; font-weight: 800; margin-inline-end: 6px; }

/* barre du bas d'origine : seul le bouton de fin de match reste, en bas à droite */
html.land.in-match #view-match > .panel-glass:last-of-type {
    position: fixed !important; right: 8px; bottom: 8px; left: auto; width: auto; z-index: 77;
    padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important;
}
html.land.in-match #match-loading-msg { display: none; }
html.land.in-match #btn-end-match { padding: 10px 18px !important; font-size: 12px !important; }
html.land.in-match #live-tactics-modal { z-index: 80; }

/* Fiche joueur en paysage : grande fenêtre, identité et actions à gauche, détail à droite */
html.land #player-card-modal { align-items: center !important; }
html.land #player-card-modal > .relative {
    max-width: min(880px, 94vw) !important; width: 94vw; max-height: 92dvh; border-radius: var(--r-card, 14px) !important;
    display: grid !important; grid-template-columns: 250px minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto;
    border: 1px solid var(--border-strong) !important;
}
html.land #player-card-modal > .relative > div:nth-child(1) {
    grid-column: 1; grid-row: 1; flex-wrap: wrap; border-bottom: 0 !important; padding-bottom: 12px !important;
    background: linear-gradient(160deg, rgba(249, 115, 22, .16), transparent 70%);
}
html.land #player-card-modal > .relative > div.overflow-y-auto {
    grid-column: 2; grid-row: 1 / span 3; overflow-y: auto; padding: 14px 16px !important;
    border-inline-start: 1px solid var(--border);
}
html.land #player-card-modal > .relative > div.pc-info { grid-column: 1; grid-row: 2; min-height: 0; overflow-y: auto; }
html.land #player-card-modal > .relative > div:last-child {
    grid-column: 1; grid-row: 3; align-self: end; border-top: 0 !important;
}
html.land #player-card-modal > .relative > div.overflow-y-auto > .grid.grid-cols-2 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html.land #player-card-modal > .relative > div:nth-child(1) .truncate { white-space: normal; overflow: visible; }

/* Classement en paysage : vrai tableau */
.sm-table { width: 100%; border-collapse: separate; border-spacing: 0 3px; font-size: 12.5px; }
.sm-table thead th {
    position: sticky; top: 0; z-index: 2; padding: 6px 8px; text-align: center;
    font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted);
    background: #111827; border-bottom: 1px solid var(--border);
}
.sm-table thead th:nth-child(2) { text-align: start; }
.sm-table tbody tr { cursor: pointer; }
.sm-table tbody td {
    padding: 6px 8px; text-align: center; color: var(--text); font-weight: 700; font-variant-numeric: tabular-nums;
    background: rgba(31, 41, 55, .55); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.sm-table tbody td:first-child { border-inline-start: 3px solid transparent; border-start-start-radius: 9px; border-end-start-radius: 9px; }
.sm-table tbody td:last-child { border-start-end-radius: 9px; border-end-end-radius: 9px; }
.sm-table tbody tr:hover td { background: rgba(255, 255, 255, .06); }
.sm-table tr.z-champ td:first-child { border-inline-start-color: #facc15; }
.sm-table tr.z-cont td:first-child { border-inline-start-color: #10b981; }
.sm-table tr.z-rel td:first-child { border-inline-start-color: #ef4444; }
.sm-table tr.is-me td { background: linear-gradient(90deg, rgba(249, 115, 22, .32), rgba(249, 115, 22, .12)); }
.sm-table .c-rk span {
    display: inline-grid; place-items: center; min-width: 24px; height: 24px; border-radius: 7px;
    background: #0a0e17; border: 1px solid var(--border-strong); font-family: 'Teko', sans-serif; font-size: 16px;
}
.sm-table tr.is-me .c-rk span { background: var(--sm-brand-grad); border-color: transparent; }
.sm-table .c-club { text-align: start; display: flex; align-items: center; gap: 8px; min-width: 150px; }
.sm-table .c-club b { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }
.sm-table .c-crest { width: 22px; height: 22px; flex: 0 0 22px; }
.sm-table .c-crest svg { width: 100%; height: 100%; }
.sm-table .c-pts { font-family: 'Teko', sans-serif; font-size: 18px; color: #fff; }
.sm-table td.pos { color: #10b981; } .sm-table td.neg { color: #ef4444; }
.sm-table .c-form { white-space: nowrap; }
.sm-table .c-form i {
    display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 4px; margin: 0 1px;
    font-style: normal; font-size: 9px; font-weight: 800; color: #fff;
}
.sm-table .c-form .f-w { background: #10b981; } .sm-table .c-form .f-d { background: #64748b; } .sm-table .c-form .f-l { background: #ef4444; }
html.land #standings-body { display: block !important; }

/* Attributs en pastilles rondes (fiche joueur, paysage) */
.sm-attr-title {
    display: flex; align-items: center; justify-content: space-between; margin: 0 0 8px;
    font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted);
}
.sm-attr-title span {
    min-width: 34px; height: 34px; border-radius: 999px; display: grid; place-items: center;
    border: 3px solid #f97316; background: #0a0e17; color: #fff; font-family: 'Teko', sans-serif; font-size: 20px;
}
.sm-attrs {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px;
    padding: 10px; border-radius: var(--r-card, 14px); background: rgba(10, 14, 23, .55); border: 1px solid var(--border);
}
.sm-attr { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 8px; padding: 4px 2px; }
.sm-attr-l { font-size: 12px; font-weight: 700; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-attr-v {
    width: 32px; height: 32px; border-radius: 999px; display: grid; place-items: center;
    border: 3px solid; background: #0a0e17; color: #fff; font-family: 'Teko', sans-serif; font-size: 17px; line-height: 1;
}
.sm-attr-bar { grid-column: 1 / 3; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.sm-attr-bar b { display: block; height: 100%; border-radius: 4px; }

/* Barre des joueurs en bas du match (paysage) */
.sm-strip { display: none; }
html.land.in-match .sm-strip {
    display: flex; align-items: stretch; gap: 0; position: fixed; left: 8px; right: 66px; bottom: 8px; z-index: 74;
    background: rgba(10, 14, 23, .88); border: 1px solid var(--border-strong); border-radius: 11px; overflow: hidden;
    backdrop-filter: blur(5px); transition: transform .2s;
}
html.land.in-match.sm-strip-min .sm-strip { transform: translateY(calc(100% - 26px)); }
.sm-strip-tog {
    flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    padding: 0 8px; color: #fff; background: rgba(255, 255, 255, .05); border-inline-end: 1px solid var(--border);
    font-size: 9px; font-weight: 800; white-space: nowrap;
}
.sm-strip-tog svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 3; transition: transform .2s; }
html.land.in-match.sm-strip-min .sm-strip-tog svg { transform: rotate(180deg); }
.sm-strip-row { flex: 1; display: flex; overflow-x: auto; scrollbar-width: none; }
.sm-strip-row::-webkit-scrollbar { display: none; }
.sm-pl {
    flex: 1 0 68px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; align-items: center;
    column-gap: 4px; padding: 4px 6px; border-inline-end: 1px solid var(--border); cursor: pointer; min-width: 68px;
}
.sm-pl:last-child { border-inline-end: 0; }
.sm-pl-pos { grid-row: 1; grid-column: 1; font-size: 10px; font-weight: 800; color: #fff; }
.sm-pl-name { grid-row: 1; grid-column: 2; font-size: 9.5px; font-weight: 700; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-pl-name i { display: inline-block; width: 6px; height: 8px; border-radius: 1px; margin-inline-start: 3px; vertical-align: -1px; }
.sm-pl-name i.yc { background: #facc15; } .sm-pl-name i.rc { background: #ef4444; }
.sm-pl-en { grid-row: 2; grid-column: 1; width: 13px; height: 13px; fill: currentColor; }
.sm-pl-note {
    grid-row: 2; grid-column: 2; justify-self: start; min-width: 34px; text-align: center; padding: 0 6px; border-radius: 999px;
    font-family: 'Teko', sans-serif; font-size: 15px; line-height: 17px; color: #fff; background: #1f2937;
}
.sm-pl-note.is-great { background: #10b981; } .sm-pl-note.is-good { background: #84cc16; color: #0a0e17; }
.sm-pl-note.is-ok { background: #f59e0b; color: #0a0e17; } .sm-pl-note.is-bad { background: #ef4444; }
/* le bandeau du direct et le bouton de fin remontent au-dessus de la barre */
html.land.in-match .sm-ticker { bottom: 58px; }
html.land.in-match.sm-strip-min .sm-ticker { bottom: 36px; }
html.land.in-match #view-match > .panel-glass:last-of-type { bottom: 58px; }
html.land.in-match #match-body > .panel-glass { bottom: 100px; }

/* Carte du buteur */
.sm-goal {
    position: fixed; left: 12px; bottom: 104px; z-index: 78; display: flex; align-items: center; gap: 12px;
    padding: 8px 14px 8px 8px; border-radius: 999px 14px 14px 999px; min-width: 260px; max-width: 70vw;
    background: linear-gradient(90deg, #111827, #0a0e17); border: 1px solid var(--border-strong); box-shadow: var(--shadow-lift);
    opacity: 0; transform: translateX(-24px); pointer-events: none; transition: opacity .3s, transform .3s;
}
.sm-goal.is-on { opacity: 1; transform: none; }
html:not(.land) .sm-goal { bottom: auto; top: 120px; }
.sm-goal-face {
    width: 54px; height: 54px; flex: 0 0 54px; border-radius: 999px; overflow: hidden;
    border: 3px solid #f97316; background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.02));
}
.sm-goal-face svg { width: 100%; height: 100%; }
.sm-goal-txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.1; }
.sm-goal-txt b { color: #fff; font-size: 15px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-goal-txt em { font-style: normal; font-family: 'Teko', sans-serif; font-size: 26px; line-height: 1; color: #f97316; letter-spacing: .03em; }
.sm-goal-txt small { color: var(--text-muted); font-size: 11px; font-weight: 700; }
.sm-goal-crest { width: 34px; height: 34px; flex: 0 0 34px; margin-inline-start: auto; }
.sm-goal-crest svg { width: 100%; height: 100%; }

/* =====================================================================
 * NOUVELLE CARRIÈRE en paysage : formulaire à gauche, le manager en grand à droite
 * ===================================================================== */
html.land #setup-modal {
    padding: 10px !important;
    background:
        radial-gradient(ellipse 60% 45% at 78% 18%, rgba(249, 115, 22, .22), transparent 70%),
        radial-gradient(circle at 8% 6%, rgba(255, 255, 255, .10) 0 2px, transparent 3px),
        radial-gradient(circle at 16% 4%, rgba(255, 255, 255, .10) 0 2px, transparent 3px),
        radial-gradient(circle at 88% 5%, rgba(255, 255, 255, .10) 0 2px, transparent 3px),
        linear-gradient(180deg, #0a0e17 0%, #111827 62%, #0a0e17 100%) !important;
}
html.land #setup-modal::after {          /* pelouse en perspective, en bas de l'écran */
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 30%; pointer-events: none; z-index: 0;
    background: repeating-linear-gradient(90deg, rgba(47, 143, 67, .30) 0 60px, rgba(42, 131, 64, .30) 60px 120px);
    transform: perspective(300px) rotateX(55deg); transform-origin: bottom; opacity: .8;
    -webkit-mask-image: linear-gradient(0deg, #000, transparent); mask-image: linear-gradient(0deg, #000, transparent);
}
html.land #setup-modal > .panel-glass {
    position: relative; z-index: 1;
    max-width: min(900px, 96vw) !important; max-height: 96dvh; overflow-y: auto; padding: 16px 18px !important;
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 18px; row-gap: 10px; align-content: start;
}
html.land #setup-modal > .panel-glass > .space-y-4 { display: contents; }
html.land #setup-modal > .panel-glass > .text-center { grid-column: 1; grid-row: 1; text-align: start; margin: 0 !important; padding: 0 !important; }
html.land #setup-modal > .panel-glass > .text-center > svg { display: none; }
html.land #setup-modal > .panel-glass > .text-center h2 { font-size: 30px; }
html.land #setup-modal #setup-lang { grid-column: 2; grid-row: 1; justify-content: flex-end !important; align-self: start; padding: 0 !important; }
html.land #setup-modal .space-y-4 > div:nth-child(1) { grid-column: 1; grid-row: 2; }
html.land #setup-modal .space-y-4 > div:nth-child(2) { grid-column: 2; grid-row: 2 / span 4; margin: 0 !important; }
html.land #setup-modal .space-y-4 > div:nth-child(3) { grid-column: 1; grid-row: 3; margin: 0 !important; }
html.land #setup-modal .space-y-4 > div:nth-child(4) { grid-column: 1; grid-row: 4; margin: 0 !important; }
html.land #setup-modal > .panel-glass > button.btn-primary { grid-column: 1; grid-row: 5; align-self: end; }
/* bloc « allure » : le manager en pied, comme sur l'écran d'accueil des jeux de gestion */
html.land #setup-modal .space-y-4 > div:nth-child(2) > div {
    flex-direction: column !important; align-items: stretch !important; height: calc(100% - 22px);
    background: radial-gradient(ellipse at 50% 30%, rgba(249, 115, 22, .14), transparent 70%), #111827 !important;
}
html.land #setup-modal #setup-portrait {
    width: auto !important; height: auto !important; flex: 1 1 auto; min-height: 150px; max-height: 230px; aspect-ratio: 5 / 6;
    align-self: center; border-radius: var(--r-card, 14px) !important;
}
html.land #setup-modal #setup-portrait svg { width: 100%; height: 100%; }
html.land #setup-modal #setup-club-preview { margin-top: 6px !important; }
html.land #setup-modal > .panel-glass > .text-center p { display: none; }
html.land #setup-modal input, html.land #setup-modal select { padding-top: 8px !important; padding-bottom: 8px !important; }
html.land #setup-modal > .panel-glass > button.btn-primary { padding-top: 11px !important; padding-bottom: 11px !important; }
html.land #setup-modal label { margin-bottom: 3px !important; }
html.land #player-card-modal > .relative { grid-template-columns: 270px minmax(0, 1fr); }
html.land #player-card-modal > .relative > div:nth-child(1) { justify-content: space-between; }
html.land #player-card-modal > .relative > div:nth-child(1) > .min-w-0 { order: 3; flex: 1 0 100%; }
html.land #player-card-modal > .relative > div:nth-child(1) > :first-child { width: 64px; height: 64px; }

/* =====================================================================
 * TIROIRS (« sp-sheet ») en paysage : centrés, toute la hauteur
 * Avant-match : adversaire + causerie à gauche, détails à droite (défilent),
 * boutons en bas — avant, l'en-tête de 400 px ne laissait que 28 px aux détails.
 * ===================================================================== */
html.land .sp-sheet-wrap { align-items: center !important; justify-content: center !important; }
html.land .sp-sheet-wrap .sp-sheet { max-height: 94dvh !important; border-radius: var(--r-card, 14px) !important; }
html.land .sp-sheet-wrap .sp-grip { display: none; }
html.land #pm-report .sp-sheet {
    width: min(920px, 96vw) !important; max-width: none !important; height: 94dvh;
    display: grid !important; grid-template-columns: minmax(250px, 34%) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
}
html.land #pm-report .pm-head {
    grid-column: 1; grid-row: 1; min-height: 0; overflow-y: auto; scrollbar-width: thin;
    border-inline-end: 1px solid var(--border); padding-bottom: 10px;
}
html.land #pm-report .pm-body { grid-column: 2; grid-row: 1; min-height: 0; height: auto !important; max-height: none !important; overflow-y: auto; }
html.land #pm-report .pm-foot { grid-column: 1 / 3; grid-row: 2; border-top: 1px solid var(--border); }

/* Barre du haut sur écran étroit (vrai téléphone en paysage) : « Continuer » toujours entier */
html.land #main-header { padding-inline-end: env(safe-area-inset-right, 0px) !important; min-width: 0; }
html.land #main-header .sm-continue { flex: 0 0 auto; }
@media (max-width: 900px) {
    :root { --sm-side-w: 164px; }
    html.land #main-header .sm-pill .sm-plus { display: none; }
    html.land #main-header .sm-pill { padding-inline-end: 9px; }
    html.land #main-header #header-club-name { max-width: 92px; }
    html.land #main-header #header-league-name { display: none; }
}
@media (max-width: 780px) {
    :root { --sm-side-w: 150px; }
    html.land #main-header .sm-pill:nth-child(2) { display: none !important; }   /* gemmes : restent dans la Boutique */
    html.land #main-header > div:first-child .min-w-0 { display: none; }       /* écusson seul */
    html.land #main-header .sm-continue { padding-inline-start: 20px; padding-inline-end: 10px; }
    html.land #main-header .sm-continue small { font-size: 9.5px; }
    aside.sm-side .sm-item { font-size: 12px; padding-inline-start: 10px; }
}

/* Accueil en paysage : pastilles du pouls du club (vestiaire, conseil, alchimie, finances) sur 2 colonnes,
   sinon les quatre s'écrasaient dans la colonne de droite et leur texte était masqué */
html.land #pulse-strip { grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }
html.land #pulse-strip .pulse { min-width: 0; }
html.land #pulse-strip .pulse-txt { min-width: 0; display: flex !important; flex-direction: column; }
html.land #pulse-strip .pulse-phrase { white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.25; }

/* Recherche en paysage : champ et filtres à gauche, résultats à droite (défilent).
   Avant : l'en-tête de 300 px ne laissait que 33 px aux résultats. */
html.land #global-search-modal { align-items: center !important; padding: 8px !important; }
html.land #global-search-modal > .relative {
    max-width: min(940px, 96vw) !important; height: 96dvh; max-height: 96dvh !important;
    display: grid !important; grid-template-columns: minmax(240px, 32%) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr);
    overflow: hidden;
}
html.land #global-search-modal > .relative > div:first-child {
    grid-column: 1; grid-row: 1; min-height: 0; overflow-y: auto; border-bottom: 0 !important; border-inline-end: 1px solid var(--border);
}
html.land #global-search-modal > .relative > div:last-child { grid-column: 2; grid-row: 1; min-height: 0; height: auto; overflow-y: auto; }

/* les autres fenêtres « max 85 % de hauteur » profitent de toute la hauteur en paysage */
html.land .fixed.inset-0 > .relative[class*="max-h-[85vh]"],
html.land .fixed.inset-0 > [class*="max-h-[85vh]"] { max-height: 96dvh !important; }

/* =====================================================================
 * COMPOSANTS « JEU DE GESTION » (paysage) — réutilisés par tous les écrans
 * ===================================================================== */
/* tuiles de chiffres clés */
.sm-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; margin-bottom: 10px; }
.sm-kpi {
    position: relative; overflow: hidden; padding: 9px 12px 8px; border-radius: var(--r-card, 14px);
    background: var(--surface-grad); border: 1px solid var(--border); box-shadow: var(--shadow-lift);
    display: flex; flex-direction: column; gap: 1px; min-width: 0;
}
.sm-kpi::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--sm-brand-grad); }
.sm-kpi span { font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-kpi b { font-family: 'Teko', sans-serif; font-size: 25px; line-height: 1; color: #fff; font-weight: 600; white-space: nowrap; }
.sm-kpi small { font-size: 10px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-kpi.is-bad b { color: #ef4444; } .sm-kpi.is-bad::before { background: #ef4444; }
.sm-kpi.is-warn b { color: #f59e0b; } .sm-kpi.is-warn::before { background: #f59e0b; }
.sm-kpi.is-good b { color: #10b981; } .sm-kpi.is-good::before { background: #10b981; }

/* filtres en puces */
.sm-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.sm-chips { display: flex; gap: 4px; padding: 3px; border-radius: 999px; background: #0a0e17; border: 1px solid var(--border); }
.sm-chips button {
    padding: 5px 11px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .03em;
    color: var(--text-muted); background: transparent; white-space: nowrap;
}
.sm-chips button.is-on { color: #fff; background: var(--sm-brand-grad); box-shadow: 0 2px 8px rgba(249, 115, 22, .35); }
.sm-chips.sm-seg { margin-inline-start: auto; }

/* liste d'effectif */
#squad-grid.sm-squad-list { display: block !important; }
.sm-phead, .sm-prow {
    display: grid; align-items: center; column-gap: 10px;
    grid-template-columns: 34px minmax(130px, 1.6fr) 54px 34px 40px 36px minmax(60px, .8fr) minmax(60px, .8fr) minmax(70px, 1fr) 72px 70px 44px;
}
.sm-phead { padding: 4px 10px 6px; font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); position: sticky; top: -12px; z-index: 3; background: #0a0e17; }
.sm-pgroup {
    display: flex; align-items: center; gap: 8px; margin: 10px 0 4px; padding-inline-start: 4px;
    font-family: 'Teko', sans-serif; font-size: 17px; letter-spacing: .04em; text-transform: uppercase; color: #fff;
}
.sm-pgroup::before { content: ''; width: 3px; height: 14px; border-radius: 2px; background: var(--sm-brand-grad); }
.sm-pgroup span { font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 800; color: var(--text-muted); }
.sm-prow {
    padding: 5px 10px; margin-bottom: 4px; border-radius: 11px; cursor: pointer;
    background: rgba(31, 41, 55, .55); border: 1px solid var(--border); transition: background .15s, transform .15s;
    font-size: 12px; font-weight: 700; color: var(--text);
}
.sm-prow:hover { background: rgba(255, 255, 255, .07); transform: translateX(2px); }
.sm-prow.is-xi { border-inline-start: 3px solid #f97316; }
.sm-prow .c-face { width: 32px; height: 32px; border-radius: 999px; overflow: hidden; background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.02)); border: 1px solid var(--border-strong); }
.sm-prow .c-face svg { width: 100%; height: 100%; }
.sm-prow .c-name { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.sm-prow .c-name b { color: #fff; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-prow .c-name small { font-size: 10px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-prow .c-pos { justify-self: start; padding: 2px 7px; border-radius: 6px; font-size: 10px; font-weight: 800; color: #0a0e17; }
.sm-prow .c-age, .sm-prow .c-pot { text-align: center; font-variant-numeric: tabular-nums; }
.sm-prow .c-pot { color: var(--text-muted); }
.sm-prow .c-ovr { display: grid; place-items: center; }
.sm-prow .c-bar { display: flex; flex-direction: column; gap: 2px; }
.sm-prow .c-bar small { font-size: 10px; color: var(--text-muted); }
.sm-bar { display: block; height: 5px; border-radius: 5px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.sm-bar i { display: block; height: 100%; border-radius: 5px; }
.sm-prow .c-st { display: flex; flex-wrap: wrap; gap: 3px; }
.sm-prow .c-st .st { display: inline-flex; align-items: center; gap: 2px; padding: 1px 6px; border-radius: 999px; font-style: normal; font-size: 9.5px; font-weight: 800; }
.sm-prow .c-st .st.bad { background: rgba(239, 68, 68, .18); color: #fca5a5; }
.sm-prow .c-st .st.warn { background: rgba(245, 158, 11, .18); color: #fcd34d; }
.sm-prow .c-st .st.info { background: rgba(56, 189, 248, .18); color: #7dd3fc; }
.sm-prow .c-val { text-align: end; font-variant-numeric: tabular-nums; color: #fff; }
.sm-prow .c-ctr { text-align: center; font-size: 10.5px; color: var(--text-muted); }
.sm-prow .c-ctr.is-warn { color: #f59e0b; }
.sm-prow .c-rt { text-align: center; }
.sm-prow .c-rt b { display: inline-block; min-width: 30px; padding: 0 5px; border-radius: 999px; font-family: 'Teko', sans-serif; font-size: 15px; line-height: 18px; color: #0a0e17; }
.sm-prow .c-rt b.g { background: #10b981; } .sm-prow .c-rt b.m { background: #f59e0b; } .sm-prow .c-rt b.b { background: #ef4444; color: #fff; }
@media (max-width: 900px) {   /* téléphone : on garde l'essentiel */
    .sm-phead, .sm-prow { grid-template-columns: 30px minmax(110px, 1.6fr) 48px 30px 38px minmax(56px, .9fr) minmax(56px, .9fr) 64px 40px; }
    .sm-phead > :nth-child(6), .sm-prow > .c-pot,
    .sm-phead > :nth-child(9), .sm-prow > .c-st,
    .sm-phead > :nth-child(11), .sm-prow > .c-ctr { display: none; }
}

/* Écrans hub : tuiles en tête, panneaux en colonnes, explications repliées */
html.land .sm-hero { margin-bottom: 12px; }
html.land .sm-masonry:not(.hidden):not(.hidden-view):not([hidden]) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
html.land .sm-masonry > * { margin: 0 !important; min-width: 0; }
html.land .sm-masonry > :not(.panel-glass):not(.card):not(.ss-block):not([class*="rounded-2xl"]) { grid-column: 1 / -1; }
html.land .sm-masonry > .hidden, html.land .sm-masonry > [hidden] { display: none !important; }
@media (max-width: 760px) { html.land .sm-masonry:not(.hidden):not(.hidden-view) { grid-template-columns: minmax(0, 1fr); } }
html.land p.sm-note {
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
    cursor: pointer; position: relative; padding-inline-end: 18px;
}
html.land p.sm-note::after { content: 'ⓘ'; position: absolute; right: 0; top: 0; color: #f97316; font-size: 11px; }
html.land p.sm-note.is-open { display: block; -webkit-line-clamp: unset; }
html.land p.sm-note.is-open::after { content: ''; }

/* onglets de hub (Mercato…) */
.sm-hub-tabs { display: none; }
html.land .sm-hub-tabs {
    display: flex; gap: 0; margin-bottom: 12px; padding: 0 6px; height: 40px; align-items: stretch;
    background: var(--surface-grad); border: 1px solid var(--border); border-radius: var(--r-card, 14px);
}
html.land .sm-hub-tabs button {
    flex: 1; position: relative; color: var(--text-muted); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
}
html.land .sm-hub-tabs button.is-on { color: #fff; }
html.land .sm-hub-tabs button.is-on::after {
    content: ''; position: absolute; left: 18%; right: 18%; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--sm-brand-grad);
}
html.land .sm-tab-hidden { display: none !important; }
/* Mercato : grille de joueurs plus dense */
html.land #market-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 10px !important; }
@media (min-width: 1100px) { html.land #market-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } }
html.land #market-filter-bar > .panel-glass { flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 8px 14px !important; }
html.land #market-filter-bar > .panel-glass > * { flex: 0 1 auto; }
/* Campus : le stade 3D et les installations sur toute la largeur */
html.land .sm-masonry > :has(#campus-stadium) { grid-column: 1 / -1; }
html.land #campus-stadium { aspect-ratio: 21 / 8 !important; }
html.land #view-campus .sm-masonry > :last-child { grid-column: 1 / -1; }
html.land #view-campus .sm-masonry > :last-child .grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

/* =====================================================================
 * AUCUNE BORDURE ORANGE (demande du 07/10/2026) — partout, portrait et paysage.
 * Les aplats et boutons de la marque restent ; seuls les contours, liserés
 * et barres d'accent orange disparaissent (remplacés par le contour neutre).
 * ===================================================================== */
.sec-head::before, .sec-title::before, .match-card::before,
.sm-kpi::before, .sm-pgroup::before { display: none !important; }
html .card.match-card, html .match-card { border-color: var(--border) !important; }
.sm-prow.is-xi { border-inline-start: 1px solid var(--border) !important; }
.player-selected { border-color: var(--border-strong) !important; }
.office-body .card.is-target { border-color: var(--border-strong) !important; }
#tuto-ring { border-color: rgba(255, 255, 255, .85) !important; box-shadow: 0 0 18px rgba(255, 255, 255, .25) !important; }
#tuto-box { border-color: var(--border-strong) !important; }
#setup-modal > .panel-glass { border-color: var(--border) !important; }
#setup-modal > .panel-glass > .absolute.top-0 { display: none !important; }
/* classes Tailwind générées par le jeu */
[class*="border-brand-"], [class*="border-orange-"] { border-color: var(--border-strong) !important; }
[class*="focus:border-brand-"]:focus { border-color: rgba(255, 255, 255, .35) !important; }
[class*="ring-brand-"], [class*="ring-orange-"] { --tw-ring-color: rgba(255, 255, 255, .22) !important; }
/* styles en ligne */
[style*="border-color:#f97316"], [style*="border-color: #f97316"], [style*="border-color:#fb923c"], [style*="border-color:#ea580c"],
[style*="border-color:rgba(249,115,22"], [style*="border-color: rgba(249, 115, 22"],
[style*="border-inline-start-color: rgba(249,115,22"] { border-color: var(--border-strong) !important; }
[style*="border:1px solid rgba(249,115,22"] { border-color: var(--border-strong) !important; }
/* anneaux et contours orange de nos composants : contour neutre */
.sm-tok-ovr, .sm-attr-title span, .sm-goal-face { border-color: rgba(255, 255, 255, .35) !important; }
aside.sm-side .sm-sep { background: var(--border-strong) !important; opacity: 1 !important; }

/* bordures orange restantes (styles injectés par le jeu) → contour neutre */
.sp-auto, #rotate-hint, .rp-pick.is-on, .riv-badge.is-derby, .cmp-slot.is-active, .cmp-pick.is-on,
.cal-row.is-next, .pm-badge, .lt-form.is-on, .caf-group-card.is-user-group, .caf-group-yours {
    border-color: transparent !important;
}
.riv-badge.is-derby { border-inline-start-color: transparent !important; }
.drop-target { outline-color: transparent !important; background-color: rgba(249, 115, 22, .14) !important; }

/* =====================================================================
 * FENÊTRES EN PAYSAGE — toutes familles
 * ===================================================================== */
/* tiroirs (sp-sheet) : plus larges, toute la hauteur, corps qui défile */
html.land .sp-sheet-wrap .sp-sheet { width: min(820px, 94vw) !important; max-width: none !important; }
html.land .sp-sheet .sp-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* fenêtres « du bas » et centrées : centrées, jamais plus hautes que l'écran, contenu qui défile */
html.land .fixed.inset-0[class*="items-end"] { align-items: center !important; }
html.land .fixed.inset-0 { padding-top: 8px; padding-bottom: 8px; }
html.land .fixed.inset-0 > .relative:not(:first-child),
html.land .fixed.inset-0 > div[class*="max-w-"],
html.land .fixed.inset-0 > [class*="panel-glass"] {
    max-height: calc(100dvh - 16px) !important; overflow-y: auto; overscroll-behavior: contain;
    border-radius: var(--r-card, 14px) !important;
}
/* fenêtres étroites (max-w-sm / max-w-md) : un peu plus larges en paysage */
html.land .fixed.inset-0 > [class*="max-w-sm"], html.land .fixed.inset-0 > [class*="max-w-md"] { max-width: min(520px, 92vw) !important; }

/* Dialogues (presse, entretien, interview) en paysage : portrait à gauche, citation + choix à droite */
html.land :is(#press-modal, #talk-modal, #interview-modal) > .relative:last-child {
    max-width: min(780px, 94vw) !important; width: 94vw;
    display: grid !important; grid-template-columns: minmax(200px, 34%) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr);
    max-height: calc(100dvh - 16px); overflow: hidden !important;
}
html.land :is(#press-modal, #talk-modal, #interview-modal) > .relative:last-child > :nth-child(1) { grid-column: 1; grid-row: 1 / span 2; height: auto !important; min-height: 100%; }
html.land :is(#press-modal, #talk-modal, #interview-modal) > .relative:last-child > :nth-child(2) { grid-column: 2; grid-row: 1; }
html.land :is(#press-modal, #talk-modal, #interview-modal) > .relative:last-child > :nth-child(n+3) { grid-column: 2; grid-row: 2; min-height: 0; overflow-y: auto; }

/* Effectif d'un autre club : fenêtre large, joueurs sur 2 colonnes, en-tête compact */
html.land #team-squad-modal > .relative { max-width: min(860px, 95vw) !important; max-height: calc(100dvh - 16px) !important; }
html.land #team-squad-modal > .relative > :first-child { padding: 10px 16px !important; }
html.land #team-squad-modal > .relative > .overflow-y-auto { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px !important; padding: 10px 12px !important; }

/* Prêt : offres des clubs côte à côte en paysage */
html.land #loan-modal { padding: 8px !important; }
html.land #loan-modal > div { max-width: min(880px, 95vw) !important; max-height: calc(100dvh - 16px) !important; padding: 14px 16px !important;
    display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); column-gap: 10px; align-content: start; }
html.land #loan-modal > div > h3, html.land #loan-modal > div > p, html.land #loan-modal > div > button[data-act] { grid-column: 1 / -1; }
html.land #loan-modal > div > p { margin-bottom: 8px !important; }

/* contours orange dessinés par ombre intérieure / focus / survol → neutres */
.cmp-slot.is-active { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14) !important; }
.office-body .card.is-target { box-shadow: 0 0 0 1px rgba(255, 255, 255, .14), 0 8px 24px -10px rgba(0, 0, 0, .6) !important; }
.sp-card:hover, .ht-opt:hover { border-color: var(--border-strong) !important; }
.sp-row.is-on { border-color: var(--border-strong) !important; }
.sp-card:focus-visible, .sp-row:focus-visible, .ht-opt:focus-visible,
button:focus-visible, .pulse:focus-visible, .wk-slot:focus-visible { outline-color: rgba(255, 255, 255, .6) !important; }

/* Ouverture de pack : joueurs sur 2 colonnes en paysage */
html.land #pack-reveal-modal > .relative { max-width: min(720px, 94vw) !important; }
html.land #pack-reveal-modal > .relative > .overflow-y-auto { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: calc(100dvh - 140px) !important; }

/* Bureau du club en paysage : centré, toute la hauteur utile */
html.land .office-overlay, html.land #club-office { align-items: center !important; }
html.land .office-sheet { max-height: calc(100dvh - 16px) !important; margin: 0 auto !important; border-radius: var(--r-card, 14px) !important; }

/* Messagerie en paysage : vrai panneau (titre + liste), messages sur 2 colonnes */
html.land #inbox-overlay:not(.hidden) { padding: 8px !important; display: flex; align-items: flex-start; justify-content: center; }
html.land #inbox-overlay:not(.hidden) > div { width: min(860px, 95vw); max-width: none !important; margin: 0 !important;
    background: var(--ui-800, #111827); border: 1px solid var(--border); border-radius: var(--r-card, 14px); padding: 12px 14px; }
html.land #inbox-overlay > div > div:first-child { margin-bottom: 10px !important; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
html.land #inbox-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
html.land #inbox-content > * { margin-bottom: 0 !important; }

/* rapport d'avant-match : plus de barre orange devant les titres de bloc */
.pm-block > h4::before { display: none !important; }

/* Compositions avant coup d'envoi en paysage : équipes + bouton à gauche, les deux onze à droite */
html.land .lu-card { width: min(880px, 95vw) !important; max-width: none !important; max-height: calc(100dvh - 16px) !important;
    display: grid !important; grid-template-columns: 250px minmax(0, 1fr); grid-template-rows: auto auto 1fr auto; overflow: hidden; }
html.land .lu-card > .lu-head { grid-column: 1; grid-row: 1; padding-bottom: 6px !important; }
html.land .lu-card > :nth-child(2) { grid-column: 1; grid-row: 2; }
html.land .lu-card > .lu-body { grid-column: 2; grid-row: 1 / span 4; max-height: none !important; min-height: 0; overflow-y: auto;
    border-inline-start: 1px solid var(--border); }
html.land .lu-card > .lu-foot { grid-column: 1; grid-row: 4; flex-direction: column; gap: 6px; }
html.land .lu-card > .lu-foot > button { width: 100%; }
html.land .lu-row { min-height: 0 !important; padding-top: 3px !important; padding-bottom: 3px !important; }

/* Discours de mi-temps en paysage : score/faits à gauche, choix à droite */
html.land #ht-talk .sp-sheet { display: grid !important; grid-template-columns: minmax(240px, 38%) minmax(0, 1fr); align-items: center; overflow: hidden; }
html.land #ht-talk .sp-grip { display: none; }
html.land #ht-talk .ht-head { grid-column: 1; border: 0 !important; }
html.land #ht-talk .ht-opts { grid-column: 2; max-height: calc(100dvh - 40px); overflow-y: auto; padding: 10px !important; }

/* Consignes en direct en paysage : formations à gauche, réglages à droite, tout visible */
html.land #live-tactics-modal:not(.hidden) { align-items: center !important; padding: 8px; }
html.land #live-tactics-modal > div { width: min(900px, 96vw) !important; max-height: calc(100dvh - 16px); overflow-y: auto; overscroll-behavior: contain;
    border-radius: var(--r-card, 14px) !important; padding: 12px 14px !important;
    display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr); column-gap: 16px; align-content: start; }
html.land #live-tactics-modal > div > :first-child { grid-column: 1 / -1; margin-bottom: 6px !important; }
html.land #live-tactics-modal > div > .mb-3 { grid-column: 1; grid-row: 2 / span 6; margin: 0 !important; }
html.land #live-tactics-modal > div > .ti-row { grid-column: 2; padding-top: 4px !important; padding-bottom: 4px !important; min-height: 0 !important; }
html.land #live-tactics-modal > div > button.btn-primary { grid-column: 2; margin-top: 8px !important; }
html.land #live-tactics-modal .lt-forms { max-height: none !important; overflow: visible !important; gap: 5px !important; }

/* Notes d'après-match en paysage : bandeau à gauche, tableau complet à droite */
html.land #nci-ratings-modal > div { max-width: min(760px, 94vw) !important; display: grid; grid-template-columns: 230px minmax(0, 1fr); }
html.land #nci-ratings-modal > div > :first-child { flex-direction: column; align-items: flex-start !important; justify-content: space-between !important; gap: 10px; padding: 14px !important; }
html.land #nci-ratings-modal > div > .overflow-y-auto { max-height: calc(100dvh - 18px) !important; }
html.land #nci-ratings-modal td, html.land #nci-ratings-modal th { padding-top: 4px !important; padding-bottom: 4px !important; }
html.land #nci-ratings-modal > div > :first-child { background-image: linear-gradient(to bottom, var(--tw-gradient-stops)) !important; }
/* portrait du joueur bien visible dans la colonne de gauche */
html.land :is(#press-modal, #talk-modal, #interview-modal) > .relative:last-child > :first-child > .absolute.inset-0:first-child { z-index: 1; align-items: center !important; padding-bottom: 28px !important; }
html.land :is(#press-modal, #talk-modal, #interview-modal) > .relative:last-child > :first-child > .absolute.inset-0:first-child > div { width: 9.5rem !important; height: 11rem !important; }
html.land :is(#press-modal, #talk-modal, #interview-modal) > .relative:last-child > :first-child > :not(.absolute.inset-0) { z-index: 2; }

/* =====================================================================
 * GRAPHISME — FINITIONS (07/10/2026)
 * ===================================================================== */
/* Carte « Prochain match » : décor de stade plus présent, voile pour la lisibilité */
#dash-stadium-bg { opacity: .9 !important; }
#dash-stadium-bg::after { content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(10, 14, 23, .55) 0%, rgba(10, 14, 23, .2) 38%, rgba(10, 14, 23, .78) 72%, rgba(10, 14, 23, .96) 100%); }
.match-header { gap: 8px; }
.match-title { white-space: nowrap; min-width: 0; text-shadow: 0 2px 10px rgba(0, 0, 0, .6); }
.match-title > span:not(#dash-match-date) { overflow: hidden; text-overflow: ellipsis; }
#dash-match-competition { white-space: nowrap; flex-shrink: 0; backdrop-filter: blur(6px); background: rgba(10, 14, 23, .6) !important; }
#dash-stadium-bg { bottom: auto !important; height: min(270px, 62%); }
#dash-stadium-bg::after { background: linear-gradient(180deg, rgba(10, 14, 23, .5) 0%, rgba(10, 14, 23, .08) 34%, rgba(10, 14, 23, .35) 70%, rgba(14, 20, 32, 1) 100%) !important; }
#dash-match-competition { font-size: 10px !important; padding: 3px 8px !important; letter-spacing: .04em; }
#dash-match-date { margin-inline-start: 4px !important; }
html.land #dash-match-date { display: none !important; }

/* Tuiles de chiffres : toutes sur une ligne en paysage ; filtres sur une seule ligne */
html.land .sm-kpis { grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 6px; }
html.land .sm-kpi { padding: 7px 10px 6px; }
html.land .sm-kpi b { font-size: 22px; }
html.land .sm-filters { flex-wrap: nowrap; gap: 6px; overflow-x: auto; scrollbar-width: none; }
html.land .sm-filters::-webkit-scrollbar { display: none; }
html.land .sm-chips { flex-shrink: 0; }
html.land .sm-chips button { padding: 4px 9px; font-size: 10.5px; }

/* Entrée d'écran : fondu + glissé court, blocs qui arrivent l'un après l'autre */
@keyframes smEnter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes smRise  { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }
.sm-enter { animation: smEnter .26s cubic-bezier(.2, .8, .2, 1); }
.sm-enter .sm-kpi, .sm-enter .sm-masonry > *, .sm-enter .db-wrap > * { animation: smRise .38s cubic-bezier(.2, .8, .2, 1) both; }
.sm-enter .sm-kpi:nth-child(2), .sm-enter .sm-masonry > :nth-child(2), .sm-enter .db-wrap > :nth-child(2) { animation-delay: .04s; }
.sm-enter .sm-kpi:nth-child(3), .sm-enter .sm-masonry > :nth-child(3), .sm-enter .db-wrap > :nth-child(3) { animation-delay: .08s; }
.sm-enter .sm-kpi:nth-child(4), .sm-enter .sm-masonry > :nth-child(4), .sm-enter .db-wrap > :nth-child(4) { animation-delay: .12s; }
.sm-enter .sm-kpi:nth-child(n+5), .sm-enter .sm-masonry > :nth-child(n+5), .sm-enter .db-wrap > :nth-child(n+5) { animation-delay: .16s; }

/* Réaction au toucher : les boutons s'enfoncent légèrement */
.btn-primary, .btn-play, .sm-chips button, .seg-btn, .pa-btn, .sm-hub-tabs button, aside.sm-side .sm-item,
.sm-prow, .sm-kpi, .pm-go, .pm-back, .ht-opt, .sp-row, .sp-card {
    transition: transform .12s ease, filter .15s ease, background-color .15s ease, box-shadow .2s ease;
}
:is(.btn-primary, .btn-play, .sm-chips button, .seg-btn, .pa-btn, .sm-hub-tabs button, .pm-go, .pm-back, .ht-opt, .sp-card):active { transform: scale(.965); filter: brightness(1.08); }
:is(aside.sm-side .sm-item, .sm-prow, .sp-row):active { transform: scale(.985); }
@media (hover: hover) {
    .sm-prow:hover { background-color: rgba(255, 255, 255, .045) !important; }
    .sm-kpi:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .7); }
}
/* chiffres alignés (scores, notes, budgets) */
.font-teko, .sm-kpi b, .sm-table td, #sm-budget, #sm-credits, #sm-gems { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) {
    .sm-enter, .sm-enter * { animation: none !important; }
}

/* fond des écrans : halo discret des projecteurs (couleurs de la charte) */
body { background:
    radial-gradient(900px 420px at 78% -14%, rgba(249, 115, 22, .07), transparent 65%),
    radial-gradient(700px 420px at -8% 112%, rgba(255, 255, 255, .035), transparent 60%),
    #0a0e17 !important; background-attachment: fixed !important; }
/* palier du menu : libellé complet sur deux lignes au lieu d'être coupé */
aside.sm-side #tier-bar-label { white-space: normal !important; overflow: hidden; text-overflow: clip;
    letter-spacing: .02em !important; font-size: 9px !important; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
aside.sm-side #tier-bar-count { align-self: flex-start; }

/* =====================================================================
 * CINÉMATIQUE DE LANCEMENT
 * ===================================================================== */
#sm-intro { position: fixed; inset: 0; z-index: 2147483000; background: #000; overflow: hidden; color: #fff;
    font-family: 'Inter', sans-serif; transition: opacity .6s ease; -webkit-user-select: none; user-select: none; }
#sm-intro.is-out { opacity: 0; pointer-events: none; }
html.sm-intro-on body { overflow: hidden; }
#sm-intro .smi-stage { position: absolute; inset: 0; }
#sm-intro .smi-flash { position: absolute; inset: 0; background: #fffbeb; opacity: 0; pointer-events: none; z-index: 2; }
#sm-intro.is-flash .smi-flash { animation: smiFlash .32s ease-out; }
@keyframes smiFlash { 0% { opacity: .22; } 100% { opacity: 0; } }
/* bandes cinéma */
#sm-intro .smi-bar { position: absolute; left: 0; right: 0; height: 9vh; background: #000; z-index: 3; transform: scaleY(0); transition: transform .7s cubic-bezier(.7, 0, .2, 1); }
#sm-intro .smi-bar.is-top { top: 0; transform-origin: top; }
#sm-intro .smi-bar.is-bot { bottom: 0; transform-origin: bottom; }
#sm-intro.is-run .smi-bar { transform: scaleY(1); }
#sm-intro.cap-logo .smi-bar { transform: scaleY(0); transition-duration: 1.1s; }
/* chargement */
#sm-intro .smi-load { position: absolute; left: 50%; top: 50%; width: 120px; height: 2px; margin-left: -60px; background: rgba(255, 255, 255, .1); overflow: hidden; border-radius: 2px; transition: opacity .4s; z-index: 4; }
#sm-intro .smi-load i { position: absolute; inset: 0; width: 40%; background: #f97316; animation: smiLoad 1s ease-in-out infinite; }
@keyframes smiLoad { from { transform: translateX(-100%); } to { transform: translateX(260%); } }
#sm-intro.is-run .smi-load { opacity: 0; }
/* titres façon retransmission */
#sm-intro .smi-cap { position: absolute; z-index: 5; opacity: 0; transition: opacity .45s ease, transform .6s cubic-bezier(.2, .8, .2, 1); pointer-events: none; }
#sm-intro .smi-stadium { left: 6vw; bottom: calc(9vh + 22px); transform: translateX(-24px); display: flex; flex-direction: column; gap: 2px;
    padding-inline-start: 14px; border-inline-start: 3px solid #f97316; }
#sm-intro .smi-stadium small { font-size: 11px; font-weight: 800; letter-spacing: .32em; text-transform: uppercase; color: #fb923c; }
#sm-intro .smi-stadium b { font-family: 'Teko', sans-serif; font-weight: 600; font-size: clamp(28px, 6.2vh, 52px); line-height: .95; text-transform: uppercase; letter-spacing: .02em; text-shadow: 0 4px 24px rgba(0, 0, 0, .8); }
#sm-intro .smi-stadium span { font-size: 12px; font-weight: 600; color: #cbd5e1; letter-spacing: .08em; }
#sm-intro.cap-stadium .smi-stadium { opacity: 1; transform: none; }
#sm-intro .smi-teams { left: 50%; bottom: calc(9vh + 18px); transform: translate(-50%, 18px); display: flex; align-items: center;
    background: linear-gradient(180deg, rgba(17, 24, 39, .92), rgba(10, 14, 23, .92)); border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px; padding: 8px 10px; box-shadow: 0 18px 50px rgba(0, 0, 0, .6); backdrop-filter: blur(8px); white-space: nowrap; }
#sm-intro .smi-team { display: flex; align-items: center; gap: 10px; padding: 0 12px; }
#sm-intro .smi-team b { font-family: 'Teko', sans-serif; font-size: clamp(20px, 4.4vh, 32px); font-weight: 600; text-transform: uppercase; letter-spacing: .03em; line-height: 1; }
#sm-intro .smi-crest { width: 34px; height: 38px; display: inline-flex; }
#sm-intro .smi-crest svg { width: 100%; height: 100%; }
#sm-intro .smi-vs { display: flex; flex-direction: column; align-items: center; padding: 4px 14px; background: linear-gradient(135deg, #f97316, #ea580c); border-radius: 9px; }
#sm-intro .smi-vs b { font-family: 'Teko', sans-serif; font-size: 22px; line-height: 1; }
#sm-intro .smi-vs small { font-size: 8.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .9; }
#sm-intro.cap-teams .smi-teams { opacity: 1; transform: translate(-50%, 0); }
/* logo */
#sm-intro .smi-logo { position: absolute; left: 50%; top: 44%; transform: translate(-50%, -50%) scale(1.25); z-index: 5; opacity: 0; text-align: center;
    transition: opacity .5s ease, transform 1.1s cubic-bezier(.16, 1, .3, 1); pointer-events: none; }
#sm-intro .smi-mark { font-family: 'Teko', sans-serif; font-weight: 700; font-size: clamp(64px, 19vh, 150px); line-height: .85; letter-spacing: .02em;
    text-shadow: 0 10px 40px rgba(0, 0, 0, .7), 0 0 60px rgba(249, 115, 22, .25); }
#sm-intro .smi-mark em { font-style: normal; color: #f97316; }
#sm-intro .smi-sweep { height: 3px; margin: 8px auto 10px; width: 0; background: linear-gradient(90deg, transparent, #f97316 30%, #fb923c 70%, transparent); transition: width 1s .25s cubic-bezier(.2, .8, .2, 1); }
#sm-intro .smi-tag { font-size: clamp(10px, 2.2vh, 14px); font-weight: 800; letter-spacing: .42em; text-transform: uppercase; color: #e2e8f0; opacity: 0; transition: opacity .6s .6s; }
#sm-intro.cap-logo .smi-logo { opacity: 1; transform: translate(-50%, -50%) scale(1); }
#sm-intro.cap-logo .smi-sweep { width: min(70vw, 520px); }
#sm-intro.cap-logo .smi-tag { opacity: 1; }
#sm-intro .smi-tap { position: absolute; left: 0; right: 0; bottom: 9vh; text-align: center; z-index: 5; font-size: 12px; font-weight: 800; letter-spacing: .3em;
    text-transform: uppercase; color: #fff; opacity: 0; transition: opacity .5s; pointer-events: none; }
#sm-intro.cap-tap .smi-tap { opacity: 1; animation: smiPulse 1.6s ease-in-out infinite; }
@keyframes smiPulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
/* passer */
#sm-intro .smi-skip { position: absolute; top: calc(9vh + 10px); right: 16px; z-index: 6; padding: 7px 14px; border-radius: 999px; font-size: 11px; font-weight: 800;
    letter-spacing: .12em; text-transform: uppercase; color: #fff; background: rgba(10, 14, 23, .55); border: 1px solid rgba(255, 255, 255, .18); backdrop-filter: blur(6px); }
#sm-intro .smi-skip span { color: #f97316; margin-inline-start: 4px; }
html[dir="rtl"] #sm-intro .smi-skip { right: auto; left: 16px; }
@media (prefers-reduced-motion: reduce) { #sm-intro * { transition-duration: .01s !important; animation: none !important; } }
/* cinématique de match : fondu au noir, sous-titres de l'entraîneur, ralenti, « But ! » */
#sm-intro .smi-black { position: absolute; inset: 0; background: #000; opacity: 0; z-index: 4; pointer-events: none; transition: opacity .38s ease; }
#sm-intro.is-black .smi-black { opacity: 1; }
#sm-intro .smi-coach { left: 50%; bottom: calc(9vh + 16px); transform: translate(-50%, 10px); text-align: center; max-width: 82vw;
    display: flex; flex-direction: column; align-items: center; gap: 3px; }
#sm-intro .smi-coach small { font-size: 10px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase; color: #fb923c; }
#sm-intro .smi-coach b { font-size: clamp(14px, 3.6vh, 20px); font-weight: 700; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .9);
    background: rgba(10, 14, 23, .55); padding: 5px 14px; border-radius: 10px; backdrop-filter: blur(4px); }
#sm-intro.cap-coach .smi-coach { opacity: 1; transform: translate(-50%, 0); }
#sm-intro .smi-slow { top: calc(9vh + 14px); left: 16px; font-size: 10px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; color: #fff;
    padding: 4px 10px; border-radius: 6px; background: rgba(239, 68, 68, .85); }
#sm-intro.cap-slow .smi-slow { opacity: 1; animation: smiPulse 1.2s ease-in-out infinite; }
#sm-intro .smi-goal { left: 50%; top: 40%; transform: translate(-50%, -50%) scale(1.6); text-align: center; display: flex; flex-direction: column; align-items: center; }
#sm-intro .smi-goal b { font-family: 'Teko', sans-serif; font-weight: 700; font-size: clamp(70px, 22vh, 170px); line-height: .85; text-transform: uppercase; color: #fff;
    text-shadow: 0 0 40px rgba(249, 115, 22, .6), 0 10px 40px rgba(0, 0, 0, .8); -webkit-text-stroke: 1px rgba(249, 115, 22, .6); }
#sm-intro .smi-goal span { font-size: 13px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; color: #fb923c; text-shadow: 0 2px 10px rgba(0, 0, 0, .9); }
#sm-intro.cap-goal .smi-goal { opacity: 1; transform: translate(-50%, -50%) scale(1); transition: opacity .25s, transform .5s cubic-bezier(.2, 1.4, .3, 1); }
/* un écran caché reste caché, quelle que soit sa mise en page (Campus restait affiché sous les autres écrans) */
html .hidden-view, html.land .hidden-view { display: none !important; }

/* =====================================================================
 * HÉRITAGE & DISTINCTIONS — refonte (07/10/2026) : moins chargé, plus lisible
 * ===================================================================== */
#view-legacy > .mb-4:first-child { display: none; }          /* le bandeau de tête remplace le titre */
.lg-hero { position: relative; overflow: hidden; display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    padding: 14px 18px; margin-bottom: 12px; border-radius: 16px; border: 1px solid var(--border);
    background: linear-gradient(135deg, #1f2937 0%, #111827 55%, #0a0e17 100%); }
.lg-hero-glow { position: absolute; inset: -40% auto auto -10%; width: 60%; height: 180%; pointer-events: none;
    background: radial-gradient(closest-side, rgba(249, 115, 22, .16), transparent 70%); }
.lg-hero-crest { position: relative; width: 56px; height: 64px; flex: none; filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .55)); }
.lg-hero-crest svg { width: 100%; height: 100%; }
.lg-hero-id { position: relative; display: flex; flex-direction: column; min-width: 0; }
.lg-hero-id small { font-size: 10px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: #fb923c; }
.lg-hero-id b { font-family: 'Teko', sans-serif; font-weight: 600; font-size: 30px; line-height: 1; color: #fff; text-transform: uppercase; letter-spacing: .02em; }
.lg-hero-id span { font-size: 11.5px; color: var(--text-muted, #94a3b8); }
.lg-hero-stats { position: relative; display: flex; gap: 8px; margin-inline-start: auto; }
.lg-stat { min-width: 76px; padding: 8px 10px 7px; border-radius: 12px; text-align: center; background: rgba(10, 14, 23, .6); border: 1px solid rgba(255, 255, 255, .05); }
.lg-stat b { display: block; font-family: 'Teko', sans-serif; font-weight: 600; font-size: 30px; line-height: .95; font-variant-numeric: tabular-nums; }
.lg-stat span { display: block; font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted, #94a3b8); white-space: nowrap; }

.lg-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.lg-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
@media (max-width: 640px) { .lg-grid { grid-template-columns: minmax(0, 1fr); } .lg-hero-stats { margin-inline-start: 0; width: 100%; } .lg-stat { flex: 1; min-width: 0; } }
.lg-card { min-width: 0; padding: 12px 14px; border-radius: 14px; background: var(--surface-grad, #111827); border: 1px solid var(--border); }
.lg-card h4 { margin: 0 0 10px; font-family: 'Teko', sans-serif; font-weight: 600; font-size: 18px; line-height: 1; letter-spacing: .04em; text-transform: uppercase; color: #fff; }
.lg-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.lg-card-head h4 { margin: 0; }
.lg-meta { font-size: 10.5px; color: var(--text-muted, #94a3b8); white-space: nowrap; }
.lg-sub { margin: -4px 0 10px; font-size: 11px; color: var(--text-muted, #94a3b8); }
.lg-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 18px 10px; color: #475569; }
.lg-empty b { font-size: 13px; color: #e2e8f0; margin-top: 4px; }
.lg-empty span { font-size: 11px; color: var(--text-muted, #94a3b8); max-width: 280px; }
.lg-axis { display: flex; justify-content: space-between; margin-top: 4px; font-size: 10px; font-weight: 700; color: #64748b; }
.lg-pills { display: flex; gap: 3px; padding: 3px; border-radius: 999px; background: #0a0e17; border: 1px solid var(--border); }
.lg-pills button { padding: 4px 10px; border-radius: 999px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted, #94a3b8); }
.lg-pills button.is-on { color: #fff; background: var(--sm-brand-grad, #f97316); }
.lg-boards { display: flex; flex-direction: column; gap: 8px; }
.lg-boards > div { background: rgba(10, 14, 23, .45) !important; border: 0 !important; }
.lg-last { display: flex; align-items: center; gap: 12px; }
.lg-rank { width: 60px; height: 60px; flex: none; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #0a0e17; border: 1px solid var(--border); }
.lg-rank b { font-family: 'Teko', sans-serif; font-size: 30px; line-height: .9; color: #e2e8f0; }
.lg-rank span { font-size: 9px; font-weight: 800; text-transform: uppercase; color: #64748b; }
.lg-rank.is-gold b { color: #facc15; } .lg-rank.is-green b { color: #10b981; }
.lg-last-txt, .lg-last-scorer { display: flex; flex-direction: column; min-width: 0; }
.lg-last-txt small, .lg-last-scorer small { font-size: 9.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #64748b; }
.lg-last-txt b, .lg-last-scorer b { font-size: 14px; color: #fff; }
.lg-last-txt span, .lg-last-scorer span { font-size: 11px; color: var(--text-muted, #94a3b8); }
.lg-last-scorer { margin-inline-start: auto; text-align: end; }
/* Course aux trophées : pleine largeur dans son onglet, plus rien de coupé */
#leg-pane-awards .panel-glass { background: var(--surface-grad, #111827) !important; border-radius: 14px !important; }
#leg-pane-awards .truncate, #leg-pane-awards [class*="tracking-widest"] { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
#leg-pane-awards [class*="tracking-widest"] { letter-spacing: .06em !important; }
html.land #leg-pane-awards .grid.lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
html.land #leg-pane-awards .grid.md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
#leg-pane-honours .lg-card > .flex.flex-col > div { border: 0 !important; background: rgba(10, 14, 23, .45) !important; }

/* ---- Distinctions ---- */
.aw-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.aw-head h3 { margin: 0; font-size: 30px; line-height: 1; color: #fff; text-transform: uppercase; letter-spacing: .03em; }
.aw-credits { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; font-size: 11px; font-weight: 800;
    color: #fbbf24; background: rgba(251, 191, 36, .1); border: 1px solid rgba(251, 191, 36, .2); }
.aw-daily { padding: 12px 14px; border-radius: 14px; border: 1px solid var(--border);
    background: linear-gradient(135deg, #1f2937, #111827); }
.aw-daily.is-ready { background: radial-gradient(120% 140% at 0% 0%, rgba(249, 115, 22, .18), transparent 55%), linear-gradient(135deg, #1f2937, #111827); }
.aw-daily-top { display: flex; align-items: center; gap: 12px; }
.aw-daily-ic { width: 42px; height: 42px; flex: none; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fb923c; background: rgba(249, 115, 22, .12); }
.aw-daily:not(.is-ready) .aw-daily-ic { color: #64748b; background: #0a0e17; }
.aw-daily-txt { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.aw-daily-txt small { font-size: 9.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #64748b; }
.aw-daily-txt b { font-size: 14px; color: #fff; }
.aw-daily-txt span { font-size: 11px; color: var(--text-muted, #94a3b8); }
.aw-cta { flex: none; padding: 8px 14px; border-radius: 10px; font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.aw-cta.is-ghost { color: #34d399; background: rgba(16, 185, 129, .14); }
.aw-done { flex: none; padding: 5px 10px; border-radius: 999px; font-size: 10px; font-weight: 800; text-transform: uppercase; color: #34d399; background: rgba(16, 185, 129, .12); }
.aw-streak { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; margin-top: 10px; }
.aw-streak i { font-style: normal; text-align: center; padding: 4px 0; border-radius: 8px; font-size: 10px; font-weight: 800; color: #475569; background: #0a0e17; }
.aw-streak i.is-done { color: #34d399; background: rgba(16, 185, 129, .12); }
.aw-streak i.is-now { color: #fff; background: var(--sm-brand-grad, #f97316); }
.aw-goals { display: flex; flex-direction: column; gap: 6px; }
.aw-goal { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; background: rgba(10, 14, 23, .5); }
.aw-goal-ic { width: 28px; height: 28px; flex: none; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #64748b; background: #111827; }
.aw-goal.is-done .aw-goal-ic { color: #34d399; background: rgba(16, 185, 129, .12); }
.aw-goal-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.aw-goal-main b { font-size: 12px; font-weight: 700; color: #e2e8f0; }
.aw-goal-main i { display: block; height: 4px; border-radius: 99px; background: #1f2937; overflow: hidden; }
.aw-goal-main em { display: block; height: 100%; border-radius: 99px; background: var(--sm-brand-grad, #f97316); }
.aw-goal.is-done .aw-goal-main em { background: #10b981; }
.aw-goal-val { flex: none; display: flex; flex-direction: column; align-items: flex-end; }
.aw-goal-val b { font-family: 'Teko', sans-serif; font-size: 18px; line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.aw-goal-val small { font-size: 10px; color: #fbbf24; font-weight: 700; }
/* mini-terrain du onze */
.aw-pitch { position: relative; display: grid; grid-template-columns: .8fr 1fr 1fr 1fr; gap: 4px; padding: 12px 8px; border-radius: 12px; overflow: hidden;
    background: repeating-linear-gradient(90deg, #14532d 0 12.5%, #166534 12.5% 25%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06), inset 0 0 40px rgba(0, 0, 0, .35); }
.aw-pitch-lines { position: absolute; inset: 6px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 4px; pointer-events: none; }
.aw-pitch-lines i { position: absolute; display: block; }
.aw-pitch-lines i:nth-child(1) { left: 50%; top: 0; bottom: 0; width: 1px; background: rgba(255, 255, 255, .22); }
.aw-pitch-lines i:nth-child(2) { left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 50%; }
.aw-pitch-lines i:nth-child(3) { left: 0; top: 30%; bottom: 30%; width: 14%; border: 1px solid rgba(255, 255, 255, .22); border-left: 0; }
.aw-line { position: relative; display: flex; flex-direction: column; justify-content: space-around; align-items: center; gap: 6px; min-width: 0; }
.aw-tok { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; max-width: 100%; }
.aw-tok-crest { width: 26px; height: 28px; filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .5)); }
.aw-tok-crest svg { width: 100%; height: 100%; }
.aw-tok-name { max-width: 100%; padding: 1px 6px; border-radius: 6px; font-size: 10px; font-weight: 800; color: #fff; background: rgba(10, 14, 23, .78);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aw-tok.is-mine .aw-tok-name { background: var(--sm-brand-grad, #f97316); }
.aw-tok-note { font-family: 'Teko', sans-serif; font-size: 14px; line-height: 1; padding: 1px 5px; border-radius: 5px; color: #0a0e17; background: #e2e8f0; }
.aw-tok-note.is-top { background: #34d399; }
.aw-coach { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 14px; background: var(--surface-grad, #111827); border: 1px solid var(--border); }
.aw-coach.is-mine { background: radial-gradient(120% 140% at 0% 0%, rgba(250, 204, 21, .14), transparent 55%), #111827; }
.aw-coach-ic { width: 34px; height: 34px; flex: none; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #facc15; background: rgba(250, 204, 21, .1); }
.aw-coach-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.aw-coach-txt small { font-size: 9.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #64748b; }
.aw-coach-txt b { font-size: 13px; color: #fff; }
.aw-coach-crest { width: 28px; height: 32px; flex: none; }
.aw-coach-crest svg { width: 100%; height: 100%; }
/* pass de saison : piste horizontale */
.aw-pass-bar { height: 6px; border-radius: 99px; background: #0a0e17; overflow: hidden; margin-bottom: 10px; }
.aw-pass-bar i { display: block; height: 100%; border-radius: 99px; background: var(--sm-brand-grad, #f97316); }
.aw-pass { display: flex; gap: 8px; }
.aw-pass-legend { flex: none; display: grid; grid-template-rows: 26px 34px 34px; gap: 5px; align-items: center; }
.aw-pass-legend span { font-size: 9.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #64748b; }
.aw-pass-track { flex: 1; min-width: 0; display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.aw-tier { flex: 0 0 92px; display: grid; grid-template-rows: 26px 34px 34px; gap: 5px; }
.aw-tier-at { display: flex; align-items: center; justify-content: center; font-family: 'Teko', sans-serif; font-size: 18px; color: #475569; border-radius: 8px; background: #0a0e17; }
.aw-tier.is-reached .aw-tier-at { color: #fff; background: rgba(249, 115, 22, .16); }
.aw-cell { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 0 6px; border-radius: 8px; font-size: 10px; font-weight: 800; text-transform: uppercase;
    color: #94a3b8; background: rgba(10, 14, 23, .55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aw-cell.is-locked { opacity: .45; }
.aw-cell.is-claimed { color: #34d399; background: rgba(16, 185, 129, .12); }
.aw-cell.is-claim { color: #fff; background: var(--sm-brand-grad, #f97316); }
.aw-prestige { width: 100%; margin-top: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px; border-radius: 12px;
    font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fcd34d; background: rgba(245, 158, 11, .1); }
.aw-prestige.is-on { color: #fbbf24; }
/* Course aux trophées : Ballon d'Or sur toute la largeur, les 4 autres en cartes verticales */
html.land #leg-pane-awards .grid.lg\:grid-cols-4 > :first-child { grid-column: 1 / -1 !important; }
#leg-pane-awards .grid.lg\:grid-cols-4 > :not(:first-child) { display: flex; flex-direction: column; }
#leg-pane-awards .grid.lg\:grid-cols-4 > :not(:first-child) > .flex.items-center.gap-1\.5 { justify-content: center; text-align: center; }
#leg-pane-awards .grid.lg\:grid-cols-4 > :not(:first-child) > .flex.items-center.gap-3 { flex-direction: column; align-items: center; text-align: center; gap: 6px; }
#leg-pane-awards .grid.lg\:grid-cols-4 > :not(:first-child) > .flex.items-center.gap-3 > .min-w-0 { width: 100%; }
#leg-pane-awards .grid.lg\:grid-cols-4 > :not(:first-child) > .flex.items-center.gap-3 > .min-w-0 > .flex { justify-content: center; flex-wrap: wrap; }
#leg-pane-awards .grid.lg\:grid-cols-4 > :not(:first-child) > .flex.items-center.gap-3 > .shrink-0.text-end { text-align: center; padding: 0; }
#leg-pane-awards .grid.lg\:grid-cols-4 > :not(:first-child) .text-sm.font-bold { font-size: 12.5px; line-height: 1.2; }
#leg-pane-awards .grid.lg\:grid-cols-4 > :not(:first-child) .flex.flex-wrap.gap-1\.5 { justify-content: center; }
#leg-pane-awards .grid.lg\:grid-cols-4 > .border-dashed { flex-direction: column; justify-content: center; text-align: center; }
#leg-pane-awards .grid.lg\:grid-cols-4 > :not(:first-child) .flex.flex-wrap.gap-1\.5 { display: none !important; }   /* le chiffre clé suffit */
html.land #leg-pane-awards .grid.md\:grid-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
html.land #leg-pane-awards .grid.md\:grid-cols-3 > :nth-child(3) { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 18px; }
html.land #leg-pane-awards .grid.md\:grid-cols-3 > :nth-child(3) > h5, html.land #leg-pane-awards .grid.md\:grid-cols-3 > :nth-child(3) > p { grid-column: 1 / -1; }
#leg-pane-awards .grid.md\:grid-cols-3 .truncate { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
#leg-pane-awards .grid.md\:grid-cols-3 > div { background: rgba(10, 14, 23, .45) !important; border: 0 !important; }
/* noms des tableaux : deux lignes plutôt qu'une coupure « … » */
#leg-pane-awards .grid.md\:grid-cols-3 .truncate, #leg-pane-honours .lg-boards .truncate {
    white-space: normal !important; overflow: hidden !important; text-overflow: clip !important;
    display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.25; }
#view-awards .aw-head { display: none; }      /* titre déjà donné par l onglet, crédits déjà en haut de l écran */
.aw-daily-txt small { letter-spacing: .06em; white-space: nowrap; }
.lg-card-head h4 { white-space: nowrap; }
.lg-meta { display: inline-flex; align-items: center; gap: 4px; }
.aw-pass-track { scrollbar-color: #374151 transparent; }
.aw-pass-track::-webkit-scrollbar { height: 5px; } .aw-pass-track::-webkit-scrollbar-thumb { background: #374151; border-radius: 9px; } .aw-pass-track::-webkit-scrollbar-track { background: transparent; }

/* =====================================================================
 * PLUS DE TEXTES COUPÉS « … » (paysage) : deux lignes plutôt qu'une coupure
 * ===================================================================== */
html.land main .truncate {
    white-space: normal !important; text-overflow: clip !important; overflow: hidden !important;
    display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: normal; word-break: normal; line-height: 1.22;
}
/* listes et tableaux pensés sur une ligne : on garde la coupure */
html.land main :is(.sm-table, .sm-prow, .sm-phead, #view-match, .aw-pass-track) .truncate {
    white-space: nowrap !important; text-overflow: ellipsis !important; display: block !important; -webkit-line-clamp: unset;
}
/* libellés des tuiles de chiffres : jamais coupés */
.sm-kpi span, .sm-kpi small { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; letter-spacing: .04em; line-height: 1.2; }
/* petits boutons en majuscules très espacées (entraînement…) : espacement réduit pour tenir */
html.land main button [class*="tracking-widest"], html.land main button[class*="tracking-widest"] { letter-spacing: .05em !important; }
html.land main [class*="uppercase"][class*="tracking-widest"] { overflow: visible; text-overflow: clip; }
/* État du club : une ligne par indicateur (anneau · nom + état · phrase), rien de coupé */
html.land #pulse-strip .pulse { display: flex; align-items: center; gap: 10px; padding: 8px 12px !important; }
html.land #pulse-strip .pulse-txt { display: grid !important; grid-template-columns: auto 1fr; column-gap: 8px; align-items: baseline; }
html.land #pulse-strip .pulse-label { grid-column: 1; }
html.land #pulse-strip .pulse-state { grid-column: 2; margin: 0 !important; white-space: nowrap; overflow: visible !important; text-overflow: clip !important; }
html.land #pulse-strip .pulse-phrase { grid-column: 1 / -1; white-space: normal !important; display: block !important; overflow: visible !important; -webkit-line-clamp: unset !important; }
/* cartes d'intensité d'entraînement : libellé seul sur sa ligne, multiplicateur dessous */
html.land #view-training button > .flex.items-center.justify-between.gap-1 { flex-direction: column; align-items: flex-start; gap: 0; }
html.land #view-training button > .flex.items-center.justify-between.gap-1 > .truncate { letter-spacing: .04em !important; -webkit-line-clamp: unset; display: block !important; white-space: nowrap !important; overflow: visible !important; }
html.land main .font-teko.truncate { line-height: .95 !important; padding-top: 2px; }

/* =====================================================================
 * AUCUNE BORDURE sur les composants ajoutés (consigne : pas de bordures) —
 * les blocs se distinguent par leur fond, pas par un contour.
 * ===================================================================== */
.lg-hero, .lg-stat, .lg-card, .lg-rank, .lg-pills, .aw-daily, .aw-coach, .aw-credits,
.sm-kpi, .sm-chips, .aw-pitch, #pulse-strip .pulse, #sm-intro .smi-teams, #sm-intro .smi-skip {
    border: 0 !important; box-shadow: none !important;
}
#sm-intro .smi-stadium { border-inline-start: 0 !important; padding-inline-start: 0 !important; }
.lg-card { background: #111827 !important; }
.lg-stat { background: rgba(10, 14, 23, .7) !important; }
/* Héritage et Distinctions : zéro contour (seules les lignes du mini-terrain restent : ce sont les marquages) */
#view-legacy *:not(.aw-pitch-lines):not(.aw-pitch-lines i), #view-awards *:not(.aw-pitch-lines):not(.aw-pitch-lines i) {
    border-color: transparent !important; outline: none !important;
}
#view-legacy [class*="ring-"], #view-awards [class*="ring-"] { --tw-ring-color: transparent !important; box-shadow: none !important; }
/* barres d'onglets (tout le jeu) : sans contour, le fond suffit */
.seg, .sm-hub-tabs, #subnav { border-color: transparent !important; box-shadow: none !important; }

/* =====================================================================
 * REMPLACEMENTS EN MATCH — terrain + banc, toucher-toucher (sans bordures)
 * ===================================================================== */
.subx-wrap { position: fixed; inset: 0; z-index: 120; display: flex; align-items: center; justify-content: center; padding: 8px; }
.subx-scrim { position: absolute; inset: 0; background: rgba(2, 6, 14, .82); backdrop-filter: blur(4px); }
.subx-panel { position: relative; width: min(920px, 97vw); max-height: calc(100dvh - 16px); display: flex; flex-direction: column; gap: 8px;
    padding: 10px 12px; border-radius: 16px; background: linear-gradient(160deg, #111827, #0a0e17); box-shadow: 0 24px 60px rgba(0, 0, 0, .6); }
.subx-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.subx-head h3 { margin: 0; display: flex; align-items: center; gap: 6px; font-family: 'Teko', sans-serif; font-size: 24px; line-height: 1; color: #fff; text-transform: uppercase; }
.subx-left { padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; color: #fb923c; background: rgba(249, 115, 22, .14); }
.subx-left.is-zero { color: #94a3b8; background: #1f2937; }
.subx-hint { flex: 1; min-width: 160px; font-size: 11.5px; color: #cbd5e1; }
.subx-auto { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 10px; font-size: 10.5px; font-weight: 800;
    letter-spacing: .06em; text-transform: uppercase; color: #fbbf24; background: rgba(251, 191, 36, .12); }
.subx-body { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(200px, 1fr); gap: 10px; }
.subx-pitch { position: relative; min-height: 230px; border-radius: 12px; overflow: hidden;
    background: repeating-linear-gradient(90deg, #14532d 0 10%, #166534 10% 20%); }
.subx-lines { position: absolute; inset: 6px; pointer-events: none; }
.subx-lines i { position: absolute; display: block; border: 1px solid rgba(255, 255, 255, .2); }
.subx-lines i:nth-child(1) { inset: 0; border-radius: 3px; }
.subx-lines i:nth-child(2) { left: 50%; top: 0; bottom: 0; width: 0; border-width: 0 0 0 1px; }
.subx-lines i:nth-child(3) { left: 50%; top: 50%; width: 54px; height: 54px; margin: -27px 0 0 -27px; border-radius: 50%; }
.subx-lines i:nth-child(4) { left: 0; top: 28%; bottom: 28%; width: 13%; border-left: 0; }
.subx-tok { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 1px; z-index: 2;
    transition: transform .15s ease; }
.subx-tok:active { transform: translate(-50%, -50%) scale(.94); }
.subx-face { position: relative; width: 34px; height: 34px; border-radius: 50%; overflow: visible; background: #0a0e17; }
.subx-face > svg { width: 100%; height: 100%; border-radius: 50%; }
/* anneau d'énergie autour du visage */
.subx-face > i { position: absolute; inset: -3px; border-radius: 50%;
    background: conic-gradient(var(--c) calc(var(--e) * 1%), rgba(255, 255, 255, .12) 0);
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px)); mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px)); }
.subx-name { max-width: 84px; padding: 1px 6px; border-radius: 6px; font-size: 10px; font-weight: 800; color: #fff; background: rgba(10, 14, 23, .82); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.subx-meta { display: flex; gap: 4px; font-size: 9.5px; font-weight: 800; line-height: 1; }
.subx-meta b, .subx-meta em { font-style: normal; padding: 1px 4px; border-radius: 4px; background: rgba(10, 14, 23, .75); }
.subx-meta em { color: #e2e8f0; }
.subx-tok.is-tired .subx-name { background: rgba(239, 68, 68, .85); }
.subx-tok.is-sel { transform: translate(-50%, -50%) scale(1.12); z-index: 3; }
.subx-tok.is-sel .subx-name { background: var(--sm-brand-grad, #f97316); }
.subx-tok.is-sel .subx-face { box-shadow: 0 0 0 4px rgba(249, 115, 22, .55), 0 0 18px rgba(249, 115, 22, .6); }
.subx-side { min-height: 0; display: flex; flex-direction: column; gap: 6px; }
.subx-side h4 { margin: 0; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #64748b; }
.subx-bench { flex: 1; min-height: 0; overflow-y: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; align-content: start; }
.subx-b { display: flex; align-items: center; gap: 7px; padding: 6px 8px; border-radius: 10px; text-align: start; background: #1f2937; transition: background .15s, transform .12s; }
.subx-b:active { transform: scale(.97); }
.subx-b[disabled] { opacity: .4; }
.subx-b.is-sel { background: rgba(249, 115, 22, .22); }
.subx-b-face { width: 28px; height: 28px; flex: none; border-radius: 50%; overflow: hidden; background: #0a0e17; }
.subx-b-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.subx-b-txt b { font-size: 11.5px; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.subx-b-txt span { font-size: 9.5px; font-weight: 800; text-transform: uppercase; }
.subx-b-ovr { font-family: 'Teko', sans-serif; font-size: 20px; line-height: 1; color: #fff; }
.subx-empty { font-size: 11px; color: #64748b; }
.subx-log { display: flex; flex-direction: column; gap: 3px; font-size: 10.5px; color: #94a3b8; }
.subx-log b { color: #34d399; }
.subx-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.subx-ghost { padding: 8px 12px; border-radius: 10px; font-size: 10.5px; font-weight: 800; text-transform: uppercase; color: #94a3b8; background: #1f2937; }
.subx-go { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 10px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
@media (max-width: 640px), (orientation: portrait) {
    .subx-body { grid-template-columns: 1fr; }
    .subx-pitch { min-height: 260px; }
}

/* =====================================================================
 * COMPOSITION AVANT MATCH (paysage) — terrain cliquable, banc dessous, réservistes à droite
 * ===================================================================== */
html:not(.land) #sm-bench-strip { display: none; }
html.land #tac-pane-pitch:not(.hidden) { grid-template-rows: minmax(0, 1fr) auto; height: calc(100dvh - var(--sm-head-h) - 110px) !important; }
html.land #tac-pane-pitch > div:first-child { grid-column: 1; grid-row: 1; }
html.land #tac-pane-pitch > #sm-bench-strip { grid-column: 1; grid-row: 2; }
html.land #tac-pane-pitch > .mt-3 { grid-column: 2; grid-row: 1 / span 2; }
/* le onze est sur le terrain, le banc dessous : à droite il ne reste que les réservistes */
html.land #tac-pane-pitch > .mt-3 .panel-glass > div:has(#tactics-titulaires),
html.land #tac-pane-pitch > .mt-3 .panel-glass > div:has(#tactics-remplacants) { display: none; }
html.land #tactics-reservistes { grid-template-columns: minmax(0, 1fr) !important; gap: 4px !important; }
html.land #tactics-reservistes .player-list-item { flex-direction: row !important; align-items: center; gap: 8px !important; padding: 5px 8px !important; border: 0 !important; background: #1f2937 !important; text-align: start; }
html.land #tactics-reservistes .player-list-item > div:first-of-type { width: 26px !important; height: 26px !important; margin: 0 !important; border: 0 !important; }
html.land #tactics-reservistes .player-list-item > span.text-white { flex: 1; text-align: start !important; font-size: 11.5px !important; width: auto !important; }
html.land #tactics-reservistes .player-list-item > span[class*="text-[11px]"] { display: none; }
html.land #tactics-reservistes .player-list-item > div:last-child { width: auto !important; }
html.land #tactics-reservistes .player-list-item > div:last-child > div:first-child { display: none; }
html.land #tactics-reservistes .player-list-item > .absolute { position: static !important; }
html.land #tactics-reservistes .player-list-item.player-selected,
html.land #tactics-reservistes .player-list-item[class*="ring-brand"] { background: rgba(249, 115, 22, .22) !important; }
/* joueurs du terrain : cliquables, sélection en surbrillance */
.sm-tok { pointer-events: auto !important; cursor: pointer; touch-action: none; }
.sm-tok:active { transform: translate(-50%, -50%) scale(.94); }
.sm-tok.is-sel { z-index: 30; transform: translate(-50%, -50%) scale(1.1); }
.sm-tok.is-sel .sm-tok-face { box-shadow: 0 0 0 3px rgba(249, 115, 22, .7), 0 0 16px rgba(249, 115, 22, .7); }
.sm-tok.is-sel .sm-tok-name { background: var(--sm-brand-grad, #f97316) !important; }
.sm-tok-face, .sm-tok-ovr { border: 0 !important; }
/* banc sous le terrain */
#sm-bench-strip { min-width: 0; padding: 6px 8px; border-radius: 12px; background: #111827; }
.smb-head { display: flex; align-items: center; gap: 10px; margin-bottom: 5px; }
.smb-head b { font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #94a3b8; }
.smb-head span { flex: 1; min-width: 0; font-size: 11px; color: #cbd5e1; }
.smb-head em { font-style: normal; font-weight: 800; color: #fb923c; }
.smb-head button { padding: 3px 10px; border-radius: 8px; font-size: 10px; font-weight: 800; text-transform: uppercase; color: #94a3b8; background: #1f2937; }
.smb-row { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; }
.smb-row::-webkit-scrollbar { display: none; }
.smb-p { flex: 0 0 auto; min-width: 104px; display: flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 10px; background: #1f2937; text-align: start; touch-action: pan-x; transition: background .15s, transform .12s; }
.smb-p:active { transform: scale(.96); }
.smb-p.is-sel { background: rgba(249, 115, 22, .25); }
.smb-p.is-bad { opacity: .55; }
.smb-face { width: 26px; height: 26px; flex: none; border-radius: 50%; overflow: hidden; background: #0a0e17; }
.smb-txt { display: flex; flex-direction: column; min-width: 0; }
.smb-txt b { font-size: 11px; color: #fff; white-space: nowrap; }
.smb-txt span { font-size: 9.5px; font-weight: 800; white-space: nowrap; }
.smb-txt i, .smb-txt em { font-style: normal; }
.smb-ovr { margin-inline-start: auto; font-family: 'Teko', sans-serif; font-size: 19px; line-height: 1; color: #fff; }
.smb-empty { font-size: 11px; color: #64748b; }
.drop-target { outline: 2px dashed rgba(255, 255, 255, .55) !important; outline-offset: 2px; }
/* plus de hauteur pour le terrain tactique */
html.land #view-tactics > .flex:first-child { display: none !important; }
html.land #view-tactics .seg { padding: 3px !important; margin-bottom: 6px !important; }
html.land #view-tactics .seg-btn { padding-top: 6px !important; padding-bottom: 6px !important; }
html.land #tac-pane-pitch:not(.hidden) { height: calc(100dvh - var(--sm-head-h) - 78px) !important; gap: 6px 10px !important; }
#sm-bench-strip { display: flex; align-items: center; gap: 8px; padding: 5px 6px; }
.smb-head { flex: none; flex-direction: column; align-items: flex-start; gap: 2px; margin: 0; max-width: 110px; }
.smb-head span { font-size: 10px; line-height: 1.2; }
.smb-head span:only-of-type:not(:has(em)) { display: none; }
.smb-row { flex: 1; }
.smb-p { padding: 4px 7px; min-width: 96px; }
html.land #tactics-pitch-layer .sm-tok { transform: translate(-50%, -50%) scale(.86); }
html.land #tactics-pitch-layer .sm-tok:active { transform: translate(-50%, -50%) scale(.8); }
html.land #tactics-pitch-layer .sm-tok.is-sel { transform: translate(-50%, -50%) scale(.98); }
.subx-tok { transform: translate(-50%, -50%) scale(.86); }
.subx-tok:active { transform: translate(-50%, -50%) scale(.8); }
.subx-tok.is-sel { transform: translate(-50%, -50%) scale(1); }

/* =====================================================================
 * COMPOSITIONS D'AVANT-MATCH — les deux onze face à face sur un terrain (sans bordures)
 * ===================================================================== */
.lu2 .lu2-card { position: relative; width: min(980px, 98vw); max-height: calc(100dvh - 10px); display: flex; flex-direction: column; gap: 5px;
    padding: 0 0 8px; border-radius: 16px; overflow: hidden; background: linear-gradient(170deg, #111827, #0a0e17); box-shadow: 0 24px 60px rgba(0, 0, 0, .6); }
.lu2.lu-wrap { padding: 5px !important; }
.lu2-top { display: grid; grid-template-columns: auto 1fr 1fr auto; align-items: stretch; min-height: 44px; }
.lu2-back, .lu2-go { display: flex; align-items: center; gap: 6px; padding: 0 16px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.lu2-back { background: #1f2937; color: #cbd5e1; clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%); padding-inline-end: 22px; }
.lu2-go { background: var(--sm-brand-grad, linear-gradient(135deg, #f97316, #ea580c)); clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%); padding-inline-start: 24px; font-size: 13px; }
.lu2-back svg, .lu2-go svg { width: 16px; height: 16px; }
.lu2-go:active, .lu2-back:active { filter: brightness(1.1); }
.lu2-team { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 0 14px; min-width: 0;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--kc) 55%, #0a0e17)); }
.lu2-team.is-away { justify-content: flex-start; background: linear-gradient(90deg, color-mix(in srgb, var(--kc) 55%, #0a0e17), transparent); }
.lu2-tname { font-family: 'Teko', sans-serif; font-weight: 600; font-size: 24px; line-height: 1; color: #fff; text-transform: uppercase; letter-spacing: .02em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 2px 8px rgba(0, 0, 0, .6); }
.lu2-tcrest { width: 32px; height: 36px; flex: none; filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .5)); }
.lu2-tcrest svg { width: 100%; height: 100%; }
.lu2-info { display: flex; justify-content: center; gap: 16px; padding: 4px 10px; font-size: 11.5px; font-weight: 700; color: #cbd5e1; background: rgba(31, 41, 55, .55); }
.lu2-info span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.lu2-info svg { color: #fb923c; }
.lu2-sub { display: flex; justify-content: space-between; padding: 0 14px; font-size: 10.5px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .06em; }
.lu2-sub b { color: #fff; font-family: 'Teko', sans-serif; font-size: 15px; letter-spacing: .02em; }
.lu2-pitch { position: relative; flex: 1; min-height: 190px; margin: 0 10px; border-radius: 12px; overflow: hidden;
    background: repeating-linear-gradient(90deg, #14532d 0 6.25%, #166534 6.25% 12.5%); box-shadow: inset 0 0 50px rgba(0, 0, 0, .35); }
.lu2-lines { position: absolute; inset: 6px; pointer-events: none; }
.lu2-lines i { position: absolute; display: block; border: 1px solid rgba(255, 255, 255, .22); }
.lu2-lines i:nth-child(1) { inset: 0; border-radius: 3px; }
.lu2-lines i:nth-child(2) { left: 50%; top: 0; bottom: 0; border-width: 0 0 0 1px; }
.lu2-lines i:nth-child(3) { left: 50%; top: 50%; width: 70px; height: 70px; margin: -35px 0 0 -35px; border-radius: 50%; }
.lu2-lines i:nth-child(4) { left: 0; top: 24%; bottom: 24%; width: 12%; border-left: 0; }
.lu2-lines i:nth-child(5) { right: 0; top: 24%; bottom: 24%; width: 12%; border-right: 0; }
.lu2-tok { position: absolute; transform: translate(-50%, -50%); display: grid; grid-template-columns: 30px auto; grid-template-rows: 30px auto; column-gap: 2px; z-index: 2; }
.lu2-face { grid-column: 1; grid-row: 1; width: 30px; height: 30px; border-radius: 50%; overflow: hidden; background: #0a0e17; }
.lu2-face svg { width: 100%; height: 100%; }
.lu2-ovr { grid-column: 2; grid-row: 1; align-self: start; min-width: 22px; height: 22px; padding: 0 3px; border-radius: 999px; display: grid; place-items: center;
    font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; color: #fff; background: #15803d; }
.lu2-ovr.is-elite { background: #166534; color: #fff; }
.lu2-ovr.is-good { background: #16a34a; }
.lu2-ovr.is-mid { background: #65a30d; }
.lu2-ovr.is-low { background: #ca8a04; }
.lu2-ovr.is-hidden { background: #374151; color: #cbd5e1; }
.lu2-name { grid-column: 1 / -1; grid-row: 2; justify-self: center; margin-top: 1px; padding: 1px 7px; border-radius: 5px; font-size: 9.5px; font-weight: 800;
    letter-spacing: .04em; text-transform: uppercase; color: #fff; background: rgba(10, 14, 23, .85); white-space: nowrap; }
.lu2-bench { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 10px; }
.lu2-bench > div { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.lu2-bench > div::-webkit-scrollbar { display: none; }
.lu2-bench span { flex: 1 0 auto; text-align: center; padding: 4px 8px; border-radius: 6px; font-size: 10px; font-weight: 800; text-transform: uppercase;
    letter-spacing: .03em; color: #e2e8f0; background: #1f2937; white-space: nowrap; }
.lu2-foot { display: flex; justify-content: space-between; gap: 10px; padding: 0 12px; }
.lu2-coach { display: flex; align-items: center; gap: 8px; min-width: 0; }
.lu2-coach.is-right { flex-direction: row-reverse; text-align: end; }
.lu2-coach-face { width: 30px; height: 30px; flex: none; border-radius: 50%; overflow: hidden; background: #1f2937; }
.lu2-coach-face svg { width: 100%; height: 100%; }
.lu2-coach-txt { display: flex; flex-direction: column; min-width: 0; }
.lu2-coach-txt b { font-size: 12.5px; color: #fff; white-space: nowrap; }
.lu2-coach-txt small { font-size: 10px; color: #94a3b8; white-space: nowrap; }
.lu2-kit { width: 26px; height: 26px; flex: none; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .5)); }
.lu2-kit svg { width: 100%; height: 100%; }
@media (orientation: portrait) {
    .lu2-tname { font-size: 17px; } .lu2-tok { transform: translate(-50%, -50%) scale(.8); } .lu2-pitch { min-height: 260px; }
}
.lu2-tok { grid-template-columns: 26px auto; grid-template-rows: 26px auto; }
.lu2-face { width: 26px; height: 26px; }
.lu2-ovr { min-width: 20px; height: 20px; font-size: 14px; }
.lu2-name { font-size: 9px; padding: 1px 6px; }

/* =====================================================================
 * INSPIRATION « JEUX DE GESTION » — passe globale (charte AECM conservée)
 * ===================================================================== */

/* 1. AUCUNE BORDURE, nulle part. Les panneaux se distinguent par leur fond.
 *    Seuls les traits du terrain (classes « …lines ») restent dessinés. */
/* les deux :not(#…) donnent le poids de deux identifiants : la règle passe devant les styles par id */
html body *:not(#_nb1):not(#_nb2):not(:is([class*="lines"], [class*="lines"] *, svg, svg *)) {
    border-color: transparent !important;
    outline-color: transparent !important;
}
.panel-glass, .panel-glass-hover { box-shadow: 0 10px 28px -14px rgba(0, 0, 0, .7) !important; }
.sm-table tbody td:first-child { border-inline-start-width: 0 !important; }
/* les zones du classement passent sur la pastille du rang */
.sm-table tr.z-champ .c-rk span { background: #ca8a04; color: #0a0e17; }
.sm-table tr.z-cont .c-rk span { background: #15803d; }
.sm-table tr.z-rel .c-rk span { background: #b91c1c; }
.sm-table tr.is-me .c-rk span { background: var(--sm-brand-grad); color: #fff; }
.sm-table tbody tr.is-me td { background: rgba(249, 115, 22, .16); }
.sm-attr-title span { background: #f97316; }
.sm-attr-v { color: #0a0e17; font-weight: 700; }
.sm-attrs { background: #0a0e17; }

/* 2. Calendrier du club, une ligne par match (date · écusson · adversaire · D/E · difficulté · compétition) */
.cal-row { gap: 10px !important; padding: 5px 10px !important; margin-bottom: 2px !important; border-radius: 6px !important;
    background: #111827 !important; min-height: 38px; }
.cal-row:nth-child(even) { background: #0f1522 !important; }
.cal-row.is-next { background: linear-gradient(90deg, #f97316, #ea580c) !important; }
.cal-row.is-next .cal-md, .cal-row.is-next .cal-opp, .cal-row.is-next .cal-ha { color: #fff !important; }
.cal-row.is-next .cal-comp { background: rgba(10, 14, 23, .35) !important; color: #fff !important; }
.cal-md { width: 84px !important; font-size: 13px !important; color: #cbd5e1 !important; text-align: start !important; }
.cal-crest { width: 24px; height: 24px; flex: none; display: grid; place-items: center; }
.cal-crest svg { width: 100%; height: 100%; }
.cal-opp { font-family: 'Teko', sans-serif; font-size: 18px; line-height: 1; letter-spacing: .02em; color: #fff !important; }
.cal-ha { flex: none; width: 18px; text-align: center; font-family: 'Teko', sans-serif; font-size: 16px; color: #94a3b8; }
.cal-diff, .cal-res { flex: none; min-width: 42px; height: 26px; padding: 0 6px; border-radius: 5px; display: grid; place-items: center;
    font-family: 'Teko', sans-serif; font-size: 18px; line-height: 1; color: #fff; }
.cal-diff.d1, .cal-diff.d2 { background: #15803d; }
.cal-diff.d3 { background: #ca8a04; }
.cal-diff.d4 { background: #c2410c; }
.cal-diff.d5 { background: #b91c1c; }
.cal-res.is-win { background: #15803d; } .cal-res.is-draw { background: #374151; } .cal-res.is-loss { background: #b91c1c; }
.cal-comp { min-width: 38px; text-align: center; }
.cal-comp-head { padding: 6px 4px !important; margin: 10px 0 4px !important; }

/* 3. But : carte du joueur + grand bandeau orange rayé */
.sm-goal { position: fixed !important; inset: auto 0 18px 0 !important; z-index: 90 !important; display: block !important;
    min-width: 0 !important; max-width: none !important; padding: 0 !important; border-radius: 0 !important;
    background: none !important; box-shadow: none !important; opacity: 0; transform: none !important; pointer-events: none; }
html:not(.land) .sm-goal { top: auto !important; bottom: 90px !important; }
html.land.in-match .sm-goal { bottom: 64px !important; }
.sm-goal.is-on { opacity: 1; }
.sm-goal-band { position: relative; height: 58px; display: flex; align-items: center; justify-content: center; gap: 14px;
    background: repeating-linear-gradient(115deg, #f97316 0 26px, #ea580c 26px 52px);
    transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
.sm-goal.is-on .sm-goal-band { transform: scaleX(1); }
.sm-goal-band em { font-style: italic; font-family: 'Teko', sans-serif; font-weight: 700; font-size: 46px; line-height: 1; color: #0a0e17; letter-spacing: .02em; }
.sm-goal-band small { font-size: 12px; font-weight: 800; color: #0a0e17; opacity: .75; }
.sm-goal-tag { position: absolute; left: 150px; bottom: 58px; display: flex; align-items: stretch; height: 36px;
    transform: translateY(12px); opacity: 0; transition: .35s .25s; }
.sm-goal.is-on .sm-goal-tag { transform: none; opacity: 1; }
.sm-goal-tag span { display: flex; align-items: center; padding: 0 16px; background: #fff; color: #0a0e17; font-weight: 800; font-size: 15px; white-space: nowrap; }
.sm-goal-tag i { width: 44px; display: grid; place-items: center; background: #0a0e17; }
.sm-goal-tag i svg { width: 28px; height: 28px; }
.sm-goal-card { position: absolute; left: 16px; bottom: 6px; width: 122px; height: 150px; z-index: 2;
    clip-path: polygon(0 0, 100% 0, 100% 84%, 50% 100%, 0 84%);
    background: linear-gradient(160deg, #1f2937 0%, #111827 55%, #0a0e17 100%);
    display: grid; grid-template-columns: 38px 1fr; grid-template-rows: 30px 20px 1fr 26px; padding: 8px 8px 18px;
    transform: translateY(30px) scale(.9); opacity: 0; transition: .4s .1s cubic-bezier(.2, .8, .2, 1); }
.sm-goal-card::after { content: ""; position: absolute; right: 6px; top: 8px; bottom: 30px; width: 6px; border-radius: 3px; background: #f97316; }
.sm-goal.is-on .sm-goal-card { transform: none; opacity: 1; }
.sm-goal-ovr { grid-column: 1; grid-row: 1; font-family: 'Teko', sans-serif; font-size: 32px; line-height: .9; color: #fff; }
.sm-goal-pos { grid-column: 1; grid-row: 2; font-family: 'Teko', sans-serif; font-size: 17px; line-height: 1; color: #fb923c; }
.sm-goal-card .sm-goal-face { grid-column: 1 / 3; grid-row: 1 / 4; justify-self: end; align-self: end; width: 74px !important; height: 74px !important;
    flex: none; border-radius: 0 !important; background: none !important; margin-right: 10px; }
.sm-goal-name { grid-column: 1 / 3; grid-row: 4; align-self: center; text-align: center; font-family: 'Teko', sans-serif; font-size: 19px; line-height: 1;
    text-transform: uppercase; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Remplacement : entrant (flèche montante) / sortant (flèche descendante) */
.sm-subcard { position: fixed; left: 12px; top: 64px; z-index: 89; display: flex; align-items: stretch; pointer-events: none;
    border-radius: 8px; overflow: hidden; box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .8);
    opacity: 0; transform: translateX(-20px); transition: .3s; }
.sm-subcard.is-on { opacity: 1; transform: none; }
.sm-sub-rows { background: #f8fafc; min-width: 170px; }
.sm-sub-rows > div { display: flex; align-items: center; gap: 10px; padding: 5px 14px 5px 10px; }
.sm-sub-rows > div + div { background: #e2e8f0; }
.sm-sub-rows svg { width: 18px; height: 18px; flex: none; }
.sm-sub-rows .is-in svg { color: #16a34a; } .sm-sub-rows .is-out svg { color: #dc2626; }
.sm-sub-rows b { font-size: 14px; font-weight: 800; color: #0a0e17; white-space: nowrap; }
.sm-sub-side { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 0 10px;
    background: linear-gradient(135deg, #f97316, #ea580c); }
.sm-sub-side i { width: 26px; height: 26px; } .sm-sub-side i svg { width: 100%; height: 100%; }
.sm-sub-side small { font-family: 'Teko', sans-serif; font-size: 17px; line-height: 1; color: #fff; }

/* 4. Cinématique : bandeau du stade (bloc icône + titre sur bande orange + sous-titre) */
#sm-intro .smi-stadium { left: 50% !important; bottom: calc(9vh + 18px) !important; transform: translate(-50%, 18px) !important;
    flex-direction: row !important; gap: 0 !important; padding: 0 !important; align-items: stretch; box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .9); }
#sm-intro.cap-stadium .smi-stadium { transform: translate(-50%, 0) !important; }
#sm-intro .smi-st-ic { width: 64px; display: grid; place-items: center; background: #0a0e17; color: #fff; }
#sm-intro .smi-st-ic svg { width: 34px; height: 34px; }
#sm-intro .smi-st-txt { display: flex; flex-direction: column; min-width: min(46vw, 420px); }
#sm-intro .smi-st-txt b { display: block; padding: 6px 22px 2px; text-align: center; color: #0a0e17 !important; text-shadow: none !important;
    font-family: 'Teko', sans-serif; font-weight: 600; font-size: clamp(24px, 5.4vh, 40px); line-height: 1; text-transform: uppercase;
    background: repeating-linear-gradient(115deg, #f97316 0 24px, #fb923c 24px 48px); }
#sm-intro .smi-st-txt span { display: block; padding: 6px 22px; text-align: center; background: #111827; color: #94a3b8 !important;
    font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* 5. Fiche joueur : infos façon fiche de gestion + tuiles d'état */
.pc-info { padding: 4px 14px 10px; display: flex; flex-direction: column; gap: 1px; }
.pc-info > div { display: flex; justify-content: space-between; gap: 10px; padding: 5px 8px; border-radius: 5px; background: #111827; font-size: 11.5px; }
.pc-info > div:nth-child(even) { background: #0f1522; }
.pc-info span { color: #94a3b8; font-weight: 600; white-space: nowrap; }
.pc-info em { font-style: normal; color: #fff; font-weight: 700; text-align: end; }
.pc-val { display: inline-block; padding: 0 8px; border-radius: 4px; background: #15803d; color: #fff; }
.pc-warn { color: #fb923c; }
html:not(.land) .pc-info { display: none; }
.pc-status { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 12px; }
.pc-status > div { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 7px 4px 8px; border-radius: 8px; background: #111827; text-align: center; }
.pc-status small { align-self: stretch; padding: 2px 0 4px; font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8;
    background: #1f2937; border-radius: 4px; }
.pc-status i { width: 38px; height: 38px; display: grid; place-items: center; font-style: normal; }
.pc-status i svg { width: 100%; height: 100%; }
.pc-status b { font-size: 11.5px; color: #fff; }
.pc-status em { font-style: normal; font-size: 10px; color: #94a3b8; }
.pc-status .is-good i { color: #22c55e; } .pc-status .is-mid i { color: #f59e0b; } .pc-status .is-low i { color: #ef4444; }
.pc-cards { position: relative; }
.pc-cards span { position: absolute; width: 16px; height: 22px; border-radius: 3px; background: #facc15; left: 6px; top: 6px; transform: rotate(-12deg); }
.pc-cards span + span { background: #ef4444; left: 16px; top: 9px; transform: rotate(8deg); }
.pc-status .is-good .pc-cards span { opacity: .35; }
.pc-status .pc-num { font-family: 'Teko', sans-serif; font-size: 30px; line-height: 1; color: #fff; }
@media (max-width: 560px) { .pc-status { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 6. Campus : étiquettes des installations posées sur le stade (carte du club) */
.cmp-pins { position: absolute; inset: 0; z-index: 9; pointer-events: none; }
.cmp-pin { position: absolute; pointer-events: auto; display: flex; align-items: center; gap: 6px; padding: 3px 3px 3px 9px; border-radius: 999px;
    background: rgba(10, 14, 23, .9); color: #fff; font-size: 10.5px; font-weight: 700; white-space: nowrap; box-shadow: 0 8px 18px -8px rgba(0, 0, 0, .9); }
.cmp-pin i { display: grid; place-items: center; }
.cmp-pin b { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1;
    background: radial-gradient(#0a0e17 58%, transparent 60%), conic-gradient(#f97316 calc(var(--p) * 1%), rgba(255, 255, 255, .14) 0); }
.cmp-pin.p0 { left: 50%; top: 12%; transform: translateX(-50%); }
.cmp-pin.p1 { left: 4%; top: 36%; }
.cmp-pin.p2 { right: 4%; top: 36%; }
.cmp-pin.p3 { left: 12%; bottom: 16%; }
.cmp-pin.p4 { right: 12%; bottom: 16%; }
.cmp-alert { background: rgba(185, 28, 28, .18) !important; }
#tuto-ring { box-shadow: 0 0 0 9999px rgba(10, 14, 23, .62), 0 0 26px 4px rgba(249, 115, 22, .55) !important; }
html.land #player-card-modal .pa-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 4px !important; margin-bottom: 6px !important; }
html.land #player-card-modal .pa-btn { padding: 6px 4px !important; min-height: 0 !important; font-size: 9.5px !important; line-height: 1.15 !important; border-radius: 6px !important; }
html.land #player-card-modal .pa-btn svg { display: none; }
html.land #player-card-modal > .relative > div:last-child { padding: 6px 12px 10px !important; }
html.land #player-card-modal > .relative > div:last-child > .btn-primary { padding-top: 7px !important; padding-bottom: 7px !important; border-radius: 8px !important; }
html.land #player-card-modal > .relative > div:nth-child(1) { padding: 10px 12px 6px !important; }
html.land #player-card-modal > .relative > div:nth-child(1) > :first-child { width: 48px !important; height: 48px !important; }
html.land #player-card-modal .pc-info { padding: 2px 12px 6px; }

/* Effectif : le tableau d'abord (comme les écrans d'effectif des jeux de gestion) */
html.land #view-squad > .mb-3:first-child { display: none; }
html.land #sm-squad-head .sm-kpis { gap: 4px !important; margin-bottom: 6px !important; }
html.land #sm-squad-head .sm-kpi { padding: 4px 10px !important; min-height: 0 !important; display: flex !important; flex-direction: row !important;
    align-items: baseline; gap: 6px; flex-wrap: wrap; border-radius: 8px !important; }
html.land #sm-squad-head .sm-kpi small:last-child, html.land #sm-squad-head .sm-kpi > :nth-child(3) { display: none !important; }
html.land #sm-squad-head .sm-kpi b, html.land #sm-squad-head .sm-kpi strong { font-size: 18px !important; line-height: 1.1 !important; }
html.land #sm-squad-head .sm-filters { margin-bottom: 4px !important; }
html.land #view-squad .squad-toolbar { margin-bottom: 6px !important; gap: 4px !important; }
html.land #view-squad .squad-toolbar > * { height: 30px !important; min-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; border-radius: 7px !important; }
html.land #squad-grid .sm-phead { position: sticky; top: -16px; z-index: 3; background: #0a0e17; }
html.land #squad-grid .sm-prow { min-height: 0 !important; padding-top: 3px !important; padding-bottom: 3px !important; border-radius: 6px !important; }
html.land #squad-grid .sm-prow:nth-of-type(even) { background: #0f1522; }
html.land #sm-squad-head .sm-kpi small { display: none !important; }
html.land #sm-squad-head .sm-kpi { flex-wrap: nowrap !important; align-items: center !important; white-space: nowrap; overflow: hidden; }
html.land #sm-squad-head .sm-kpi span { font-size: 9.5px !important; overflow: hidden; text-overflow: ellipsis; }
html.land #sm-squad-head .sm-kpi span, html.land #sm-squad-head .sm-kpi b { display: inline !important; }
/* Onglets de rubrique façon jeu de gestion : l'onglet actif est un bloc orange plein, biseauté */
html.land .sm-hub-tabs { height: 34px !important; padding: 0 !important; margin-bottom: 8px !important; border-radius: 8px !important; overflow: hidden; background: #111827 !important; }
html.land .sm-hub-tabs button { font-size: 11.5px !important; }
html.land .sm-hub-tabs button.is-on { background: linear-gradient(90deg, #f97316, #ea580c); clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
html.land .sm-hub-tabs button.is-on:not(:first-child) { clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
html.land .sm-hub-tabs button.is-on:last-child:not(:first-child) { clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%); }
html.land .sm-hub-tabs button.is-on::after { display: none; }
html.land .seg { height: 34px !important; min-height: 0 !important; padding: 0 !important; margin-bottom: 8px !important; border-radius: 8px !important;
    overflow: hidden; background: #111827 !important; gap: 0 !important; }
html.land .seg:not(#_s1) .seg-btn { height: 34px !important; min-height: 0 !important; border-radius: 0 !important; font-size: 11.5px !important; background: transparent !important; box-shadow: none !important; }
html.land .seg:not(#_s1):not(#_s2) .seg-btn.is-active { background: linear-gradient(90deg, #f97316, #ea580c) !important; color: #fff !important;
    clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
html.land .seg:not(#_s1):not(#_s2) .seg-btn.is-active:first-child { clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
html.land .seg:not(#_s1):not(#_s2) .seg-btn.is-active:last-child { clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%); }
html.land .seg .seg-btn::after, html.land .seg .seg-btn::before { display: none !important; }

/* Classement : en-tête ramassé sur une ligne (ligue + pays) */
html.land #view-standings > .panel-glass:first-child { margin-bottom: 8px !important; border-radius: 8px !important; }
html.land #view-standings > .panel-glass:first-child > .p-5 { padding: 6px 10px !important; display: flex; align-items: center; gap: 12px; }
html.land #view-standings > .panel-glass:first-child > .p-5 > .mb-4 { margin: 0 !important; flex: none; }
html.land #view-standings > .panel-glass:first-child > .p-5 > .mb-4 h3 { display: none; }
html.land #league-tabs { flex: 1; min-width: 0; padding-bottom: 0 !important; gap: 4px !important; }
html.land #league-tabs > * { padding: 4px 10px !important; min-height: 0 !important; font-size: 11px !important; border-radius: 6px !important; }
html.land #standings-body { padding: 6px !important; gap: 2px !important; }
/* Résultats de la journée : domicile · écusson · score · écusson · extérieur */
.rd-list { display: flex; flex-direction: column; gap: 2px; }
.rd-row { display: grid; grid-template-columns: minmax(0, 1fr) 26px 64px 26px minmax(0, 1fr); align-items: center; gap: 10px;
    min-height: 38px; padding: 4px 12px; border-radius: 6px; background: #111827; }
.rd-row:nth-child(even) { background: #0f1522; }
.rd-row.is-me { background: linear-gradient(90deg, #f97316, #ea580c); }
.rd-name { font-family: 'Teko', sans-serif; font-size: 17px; line-height: 1; color: #94a3b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-name.is-h { text-align: end; }
.rd-name.is-w, .rd-row.is-me .rd-name { color: #fff; }
.rd-crest { width: 26px; height: 26px; } .rd-crest svg { width: 100%; height: 100%; }
.rd-score { text-align: center; font-family: 'Teko', sans-serif; font-size: 19px; line-height: 1; color: #fff; }
/* Faux contours (cadre en dégradé de 2px autour des cartes joueurs) : supprimés, la carte garde un fond plein */
.bg-gradient-to-br[class*="p-[2px]"] { padding: 0 !important; background: #111827 !important; }
.bg-gradient-to-br[class*="p-[2px]"] > .rounded-xl { border-radius: 16px !important; background: #111827 !important; backdrop-filter: none !important; }
body [class*="ring-1"], body [class*="ring-2"], body [class*="ring-4"] { --tw-ring-color: transparent !important; --tw-ring-shadow: 0 0 #0000 !important; }
/* Mercato › Transferts : poste · note · joueur · club → club · montant · date */
.tf-head { display: flex; align-items: center; justify-content: center; gap: 8px; height: 30px; border-radius: 6px 6px 0 0;
    background: linear-gradient(90deg, #f97316, #ea580c); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tf-head b { padding: 0 7px; border-radius: 999px; background: rgba(10, 14, 23, .35); font-size: 11px; }
.tf-list { display: flex; flex-direction: column; gap: 2px; margin-top: 2px; }
.tf-row { display: grid; grid-template-columns: 46px 30px minmax(90px, 1.2fr) minmax(0, 1fr) 18px minmax(0, 1fr) 70px 78px; align-items: center; gap: 8px;
    min-height: 38px; padding: 3px 10px 3px 3px; border-radius: 6px; background: #111827; }
.tf-row:nth-child(even) { background: #0f1522; }
.tf-pos { align-self: stretch; display: grid; place-items: center; border-radius: 4px; background: #1f2937; color: #fb923c; font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; }
.tf-ovr { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #fff; }
.tf-ovr.is-elite { background: #166534; } .tf-ovr.is-good { background: #16a34a; } .tf-ovr.is-mid { background: #65a30d; } .tf-ovr.is-low { background: #ca8a04; }
.tf-name { font-family: 'Teko', sans-serif; font-size: 17px; line-height: 1; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tf-club { display: flex; align-items: center; gap: 6px; min-width: 0; }
.tf-club i { width: 22px; height: 22px; flex: none; } .tf-club i svg { width: 100%; height: 100%; }
.tf-club em { font-style: normal; font-size: 12px; font-weight: 600; color: #cbd5e1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tf-club em.is-free { color: #64748b; }
.tf-arrow { width: 16px; height: 16px; color: #f97316; }
.tf-fee { text-align: end; font-family: 'Teko', sans-serif; font-size: 17px; line-height: 1; color: #fff; }
.tf-date { text-align: end; font-size: 11px; color: #94a3b8; white-space: nowrap; }
@media (max-width: 700px) { .tf-row { grid-template-columns: 40px 28px minmax(0, 1fr) 16px minmax(0, 1fr) 60px; } .tf-row .tf-club:first-of-type, .tf-date { display: none; } }
/* Tableau de score : blocs d'équipe aux couleurs des maillots */
html.land.in-match #match-header { border-radius: 6px !important; }
html.land.in-match #match-header > div:nth-child(2) { align-self: stretch; padding: 0 10px 0 6px !important; background: var(--hc, #111827); }
html.land.in-match #match-header > div:nth-child(4) { align-self: stretch; padding: 0 6px 0 10px !important; background: var(--ac, #111827); }
html.land.in-match #match-header > div:nth-child(3) { margin: 0 !important; }
html.land.in-match #live-home-name { color: var(--ht, #fff) !important; }
html.land.in-match #live-away-name { color: var(--at, #fff) !important; }
html.land.in-match #live-home-name span, html.land.in-match #live-away-name span { display: none; }

/* =====================================================================
 * CARTE JOUEUR UNIQUE (playerCardHTML) — effectif, mercato, académie, packs
 * Forme d'écusson, aucune bordure ; paliers dans la charte AECM.
 * ===================================================================== */
.pcd { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pcd.is-click .pcd-card { cursor: pointer; transition: transform .18s ease, filter .18s ease; }
.pcd.is-click:hover .pcd-card { transform: translateY(-3px); filter: brightness(1.08); }
.pcd.is-click:active .pcd-card { transform: scale(.98); }
.pcd-card {
    position: relative; container-type: inline-size; aspect-ratio: 0.7; width: 100%;
    clip-path: polygon(0 7%, 6% 7%, 10% 3%, 30% 3%, 38% 0, 44% 3%, 50% 0, 56% 3%, 62% 0, 70% 3%, 90% 3%, 94% 7%, 100% 7%,
                       100% 86%, 92% 90%, 62% 95.5%, 50% 100%, 38% 95.5%, 8% 90%, 0 86%);
    display: grid; grid-template-columns: 30% minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto auto auto;
    padding: 12% 8% 15%; overflow: hidden;
    --pc-bg: linear-gradient(160deg, #1f2937 0%, #111827 60%, #0a0e17 100%);
    --pc-num: #f97316; --pc-txt: #fff; --pc-mut: #94a3b8; --pc-band: rgba(249, 115, 22, .22); --pc-line: rgba(255, 255, 255, .14);
    background: var(--pc-bg); color: var(--pc-txt);
    filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .55));
}
.pcd.is-elite .pcd-card { --pc-bg: linear-gradient(160deg, #fdba74 0%, #f97316 42%, #c2410c 100%);
    --pc-num: #0a0e17; --pc-txt: #0a0e17; --pc-mut: rgba(10, 14, 23, .7); --pc-band: rgba(255, 255, 255, .22); --pc-line: rgba(10, 14, 23, .22); }
.pcd.is-silver .pcd-card { --pc-bg: linear-gradient(160deg, #4b5563 0%, #374151 45%, #1f2937 100%);
    --pc-num: #fff; --pc-mut: #cbd5e1; --pc-band: rgba(255, 255, 255, .1); }
.pcd.is-bronze .pcd-card { --pc-bg: linear-gradient(160deg, #1f2937 0%, #111827 55%, #0a0e17 100%);
    --pc-num: #cbd5e1; --pc-mut: #64748b; --pc-band: rgba(249, 115, 22, .1); }
.pcd.is-unk .pcd-card { --pc-bg: linear-gradient(160deg, #111827, #0a0e17); --pc-num: #64748b; --pc-txt: #cbd5e1; --pc-band: rgba(255, 255, 255, .05); }
/* décor : grande bande en diagonale + trame de points */
.pcd-deco { position: absolute; inset: 0; pointer-events: none; z-index: 0;
    background:
        linear-gradient(118deg, transparent 0 46%, var(--pc-band) 46% 60%, transparent 60% 64%, var(--pc-band) 64% 67%, transparent 67%),
        radial-gradient(circle, var(--pc-band) 1.2px, transparent 1.6px) 72% 18% / 9px 9px no-repeat;
}
.pcd-deco::after { content: ""; position: absolute; right: 6%; top: 10%; width: 34%; height: 30%;
    background: radial-gradient(circle, var(--pc-band) 1.3px, transparent 1.7px) 0 0 / 8px 8px; opacity: .9; }
.pcd-card > *:not(.pcd-deco) { position: relative; z-index: 1; }
.pcd-side { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-items: center; gap: 2cqw; padding-top: 2cqw; }
.pcd-ovr { font-family: 'Teko', sans-serif; font-weight: 600; font-size: 25cqw; line-height: .78; color: var(--pc-num); }
.pcd-pos { font-family: 'Teko', sans-serif; font-weight: 500; font-size: 11cqw; line-height: .9; color: var(--pc-txt); text-transform: uppercase; }
.pcd-sep { display: block; width: 70%; height: 1px; background: var(--pc-line); }
.pcd-flag { font-size: 10cqw; line-height: 1; }
.pcd-crest { width: 15cqw; height: 15cqw; } .pcd-crest svg { width: 100%; height: 100%; }
.pcd-face { grid-column: 2; grid-row: 1; align-self: end; justify-self: center; width: 100%; max-width: 64cqw; aspect-ratio: 1; margin-bottom: -1cqw;
    -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 100%); mask-image: linear-gradient(180deg, #000 72%, transparent 100%); }
.pcd-face svg { width: 100%; height: 100%; display: block; }
.pcd-name { grid-column: 1 / -1; grid-row: 2; text-align: center; padding: 1cqw 0 2cqw; margin-bottom: 2cqw;
    font-family: 'Teko', sans-serif; font-weight: 600; font-size: 14cqw; line-height: .95; text-transform: uppercase; color: var(--pc-num);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    background: linear-gradient(90deg, transparent, var(--pc-line), transparent) bottom / 100% 1px no-repeat; }
.pcd.is-elite .pcd-name, .pcd.is-silver .pcd-name { color: var(--pc-txt); }
.pcd-stats { grid-column: 1 / -1; grid-row: 3; display: grid; grid-template-columns: 1fr 1fr; padding: 0 3cqw;
    background: linear-gradient(var(--pc-line), var(--pc-line)) center / 1px 82% no-repeat; }
.pcd-stats > div { display: flex; flex-direction: column; align-items: center; gap: .5cqw; }
.pcd-stats span { display: flex; align-items: baseline; gap: 2.4cqw; font-family: 'Teko', sans-serif; line-height: 1; width: 74%; }
.pcd-stats b { font-weight: 600; font-size: 10.5cqw; color: var(--pc-num); min-width: 2ch; text-align: end; }
.pcd-stats i { font-style: normal; font-weight: 500; font-size: 9.5cqw; color: var(--pc-txt); letter-spacing: .02em; }
.pcd-sub { grid-column: 1 / -1; grid-row: 4; text-align: center; margin-top: 2cqw; padding: 0 4cqw; font-size: 5.6cqw; font-weight: 600; color: var(--pc-mut);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pcd-sub b { color: var(--pc-txt); }
.pcd-badges { position: absolute !important; top: 10%; right: 7%; z-index: 3 !important; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.pcd-badges .badge-status { font-size: 9px !important; padding: 2px 6px !important; line-height: 1.1; }
/* sous la carte : jauges et boutons */
.pcd-foot { display: flex; flex-direction: column; gap: 4px; }
.pcd-foot button { width: 100%; }
.pcd-meters { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.pcd-meters span { position: relative; display: block; height: 16px; border-radius: 4px; overflow: hidden; background: #111827; }
.pcd-meters span i { position: absolute; left: 0; top: 0; bottom: 0; opacity: .35; }
.pcd-meters span em { position: relative; display: block; text-align: center; font-style: normal; font-size: 9.5px; font-weight: 800; line-height: 16px; color: #fff; text-transform: uppercase; letter-spacing: .03em; }
.pcd-foot .sq-chips { margin: 0 !important; justify-content: center; }
.pcd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 12px; padding-top: 6px; padding-bottom: 6px; }
html.land #squad-grid:not(.sm-squad-list), html.land #market-grid, html.land #academy-grid { gap: 14px 12px !important; align-items: start; }

/* =====================================================================
 * CAF (Ligue Elite Africaine) : en-tête + frise des phases, poules compactes
 * ===================================================================== */
.cafx-head { display: flex; align-items: center; gap: 12px; padding: 10px 14px; margin-bottom: 10px; border-radius: 12px;
    background: linear-gradient(100deg, #1f2937 0%, #111827 60%, #0a0e17 100%); }
.cafx-cup { width: 40px; height: 40px; flex: none; border-radius: 50%; display: grid; place-items: center; color: #0a0e17;
    background: radial-gradient(circle at 35% 30%, #fde68a, #f59e0b 60%, #b45309); }
.cafx-title { display: flex; flex-direction: column; min-width: 0; }
.cafx-title b { font-family: 'Teko', sans-serif; font-size: 24px; line-height: 1; color: #fff; text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }
.cafx-title small { font-size: 10.5px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .06em; }
.cafx-steps { margin-inline-start: auto; display: flex; align-items: center; gap: 0; }
.cafx-steps span { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 52px;
    font-size: 9.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #64748b; }
.cafx-steps span i { position: relative; z-index: 1; width: 14px; height: 14px; border-radius: 50%; background: #374151; }
.cafx-steps span::before { content: ""; position: absolute; top: 6px; right: 50%; width: 100%; height: 2px; background: #374151; }
.cafx-steps span:first-child::before { display: none; }
.cafx-steps span.is-done { color: #cbd5e1; } .cafx-steps span.is-done i, .cafx-steps span.is-done::before { background: #ea580c; }
.cafx-steps span.is-cur { color: #fff; } .cafx-steps span.is-cur i { background: #f97316; transform: scale(1.35); }
.cafx-steps span.is-cur::before { background: #ea580c; }
.cafx-note { margin-bottom: 10px; padding: 8px 12px; border-radius: 8px; font-size: 11.5px; color: #fca5a5; background: rgba(185, 28, 28, .16); }
.cafx-winner { display: flex; align-items: center; gap: 14px; padding: 12px 16px; margin-bottom: 12px; border-radius: 12px;
    background: linear-gradient(100deg, #b45309, #f59e0b 55%, #fde68a); color: #0a0e17; }
.cafx-winner-crest { width: 54px; height: 54px; flex: none; } .cafx-winner-crest svg { width: 100%; height: 100%; }
.cafx-winner small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .75; }
.cafx-winner b { font-family: 'Teko', sans-serif; font-size: 30px; line-height: 1; text-transform: uppercase; }
.cafx-winner-cup { margin-inline-start: auto; }
.cafx-groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-bottom: 18px; }
.cafx-group { border-radius: 10px; background: #111827; padding: 6px 6px 7px; }
.cafx-group.is-mine { background: linear-gradient(180deg, rgba(249, 115, 22, .22), #111827 60%); }
.cafx-ghead { display: flex; align-items: baseline; gap: 6px; padding: 0 4px 4px; }
.cafx-ghead b { font-family: 'Teko', sans-serif; font-size: 24px; line-height: .9; color: #f97316; }
.cafx-ghead small { font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; }
.cafx-group.is-mine .cafx-ghead small { color: #fff; }
.cafx-row { display: grid; grid-template-columns: 16px 20px 34px minmax(0, 1fr) 18px; align-items: center; gap: 5px; padding: 3px 4px; border-radius: 6px; }
.cafx-row + .cafx-row { margin-top: 2px; }
.cafx-row.is-q { background: rgba(255, 255, 255, .04); }
.cafx-row.is-me { background: rgba(249, 115, 22, .2); }
.cafx-rk { font-style: normal; font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; color: #64748b; text-align: center; }
.cafx-row.is-q .cafx-rk { color: #34d399; }
.cafx-crest { width: 20px; height: 20px; } .cafx-crest svg { width: 100%; height: 100%; }
.cafx-name { font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #e2e8f0; letter-spacing: .02em; }
.cafx-row.is-me .cafx-name { color: #fff; }
.cafx-bar { height: 5px; border-radius: 3px; background: #1f2937; overflow: hidden; }
.cafx-bar i { display: block; height: 100%; border-radius: 3px; background: #475569; }
.cafx-row.is-q .cafx-bar i { background: #16a34a; }
.cafx-row.is-me .cafx-bar i { background: #f97316; }
.cafx-pts { font-family: 'Teko', sans-serif; font-size: 17px; line-height: 1; color: #fff; text-align: end; }
@media (max-width: 560px) { .cafx-head { flex-wrap: wrap; } .cafx-steps { margin-inline-start: 0; width: 100%; justify-content: space-between; } }

/* =====================================================================
 * PALMARÈS : vitrine à trophées (dessins SVG, or si gagné, silhouette sinon)
 * ===================================================================== */
.tr-cabinet { position: relative; margin-bottom: 14px; padding: 14px 10px 0; border-radius: 12px;
    background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(249, 115, 22, .14), transparent 70%), linear-gradient(180deg, #111827, #0a0e17); }
.tr-shelf { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; padding-bottom: 12px;
    background: linear-gradient(180deg, transparent calc(100% - 12px), #1f2937 calc(100% - 12px), #1f2937 calc(100% - 6px), #111827 calc(100% - 6px)); }
.tr-item { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; padding-bottom: 4px; }
.tr-cup { position: relative; width: 100%; max-width: 70px; aspect-ratio: 80 / 96; }
.tr-svg { width: 100%; height: 100%; display: block; }
.tr-item.is-won .tr-svg { filter: drop-shadow(0 6px 14px rgba(250, 204, 21, .35)); }
.tr-n { position: absolute; top: -2px; right: -4px; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 11px; display: grid; place-items: center;
    background: #f97316; color: #fff; font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; }
.tr-lbl { font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #64748b; text-align: center; line-height: 1.15; }
.tr-item.is-won .tr-lbl { color: #fff; }
.tr-ss { font-size: 9.5px; font-weight: 700; color: #475569; text-align: center; }
.tr-item.is-won .tr-ss { color: #facc15; }
@media (max-width: 560px) { .tr-shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 14px; } }
/* Palmarès individuel : tuiles trophée + visage + écusson */
.pi-season { border-radius: 10px; background: #111827; padding: 8px; }
.pi-season + .pi-season { margin-top: 6px; }
.pi-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.pi-head b { font-family: 'Teko', sans-serif; font-size: 20px; line-height: 1; color: #f97316; }
.pi-head span { font-size: 11px; font-weight: 700; color: #64748b; } .pi-head span.is-paid { color: #34d399; }
.pi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
.pi-tile { display: flex; align-items: center; gap: 6px; padding: 5px 6px; border-radius: 8px; background: #0f1522; min-width: 0; }
.pi-tile.is-mine { background: linear-gradient(90deg, rgba(250, 204, 21, .16), #0f1522); }
.pi-cup { width: 24px; height: 29px; flex: none; } .pi-cup svg { width: 100%; height: 100%; }
.pi-face { position: relative; width: 30px; height: 30px; flex: none; border-radius: 50%; overflow: hidden; background: #1f2937; }
.pi-face svg { width: 100%; height: 100%; }
.pi-face i { position: absolute; right: -2px; bottom: -2px; width: 14px; height: 14px; } .pi-face i svg { width: 100%; height: 100%; }
.pi-txt { display: flex; flex-direction: column; min-width: 0; }
.pi-txt small { font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #64748b; }
.pi-txt b { font-size: 11.5px; color: #e2e8f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pi-tile.is-mine .pi-txt b { color: #facc15; }
.pi-face { overflow: visible; background: transparent; } .pi-face > svg:first-child { clip-path: circle(50%); background: #1f2937; border-radius: 50%; }
/* Bilan de saison : cartes par compétition + forme récente */
.bl-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
.bl-card { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 10px; background: #111827; }
.bl-ring { width: 64px; height: 64px; flex: none; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: radial-gradient(#111827 60%, transparent 61%), conic-gradient(#16a34a calc(var(--p) * 1%), #1f2937 0); }
.bl-ring b { font-family: 'Teko', sans-serif; font-size: 20px; line-height: .9; color: #fff; }
.bl-ring small { font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }
.bl-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.bl-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.bl-top b { font-family: 'Teko', sans-serif; font-size: 18px; line-height: 1; color: #fff; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bl-top small { font-size: 10.5px; font-weight: 700; color: #94a3b8; white-space: nowrap; }
.bl-bar { display: flex; height: 18px; border-radius: 5px; overflow: hidden; background: #1f2937; }
.bl-bar i { display: grid; place-items: center; font-style: normal; font-family: 'Teko', sans-serif; font-size: 14px; line-height: 1; color: #fff; min-width: 16px; }
.bl-bar .is-g { background: #16a34a; } .bl-bar .is-n { background: #475569; } .bl-bar .is-p { background: #b91c1c; }
.bl-goals { display: grid; grid-template-columns: auto 1fr 22px; align-items: center; gap: 3px 6px; font-size: 9.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #64748b; }
.bl-goals b { font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; color: #fff; text-align: end; }
.bl-gb { height: 5px; border-radius: 3px; background: #1f2937; overflow: hidden; } .bl-gb i { display: block; height: 100%; background: #f97316; } .bl-gb.is-a i { background: #64748b; }
.bl-form { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.bl-form-t { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; }
.bl-form > div { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.bl-res { width: 44px; flex: none; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 4px 2px 3px; border-radius: 7px; background: #1f2937; }
.bl-res span { width: 20px; height: 20px; } .bl-res span svg { width: 100%; height: 100%; }
.bl-res b { font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; color: #fff; }
.bl-res small { font-size: 8.5px; font-weight: 800; color: rgba(255, 255, 255, .7); }
.bl-res.is-g { background: #15803d; } .bl-res.is-p { background: #991b1b; } .bl-res.is-n { background: #374151; }
/* Fin de saison en paysage : résultat à gauche, actions à droite (la fenêtre débordait en hauteur) */
html.land #end-season-modal > div { max-width: min(640px, 92vw) !important; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr; }
html.land #end-season-modal > div > :nth-child(1) { grid-column: 1; grid-row: 1; padding: 10px !important; }
html.land #end-season-modal > div > :nth-child(2) { grid-column: 1; grid-row: 2; padding: 12px !important; }
html.land #end-season-modal > div > :nth-child(3) { grid-column: 2; grid-row: 1 / span 2; align-self: center; padding: 16px !important; }

/* CAF : tableau à élimination directe (8es → finale → champion) */
.cbk { display: grid; grid-template-columns: repeat(4, minmax(104px, 1fr)) minmax(84px, .8fr); gap: 8px; margin-bottom: 18px; overflow-x: auto; scrollbar-width: none; }
.cbk::-webkit-scrollbar { display: none; }
.cbk-col { display: flex; flex-direction: column; min-width: 0; }
.cbk-t { text-align: center; padding: 3px 0 6px; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; }
.cbk-ties { flex: 1; display: flex; flex-direction: column; justify-content: space-around; gap: 6px; }
.cbk-tie { position: relative; border-radius: 8px; background: #111827; padding: 3px; }
.cbk-tie.has-me { background: linear-gradient(90deg, rgba(249, 115, 22, .28), #111827); }
.cbk-team { display: grid; grid-template-columns: 18px minmax(0, 1fr) 16px; align-items: center; gap: 5px; padding: 2px 4px; border-radius: 5px; }
.cbk-team + .cbk-team { margin-top: 1px; }
.cbk-team.is-win { background: rgba(22, 163, 74, .22); }
.cbk-team.is-me .cbk-n { color: #fb923c; }
.cbk-crest { width: 18px; height: 18px; border-radius: 50%; } .cbk-crest svg { width: 100%; height: 100%; }
.cbk-team.is-tbd .cbk-crest { background: #1f2937; }
.cbk-n { font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; color: #e2e8f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cbk-team.is-tbd .cbk-n { font-family: Inter, sans-serif; font-size: 9px; font-weight: 700; color: #475569; text-transform: uppercase; letter-spacing: .05em; }
.cbk-team b { font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #fff; text-align: end; }
.cbk-team.is-win b { color: #4ade80; }
.cbk-legs { display: block; text-align: center; font-size: 8.5px; font-weight: 700; color: #64748b; padding-top: 1px; }
.cbk-champ .cbk-ties { justify-content: center; }
.cbk-cup { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 4px; border-radius: 10px; background: #111827; }
.cbk-cup.is-won { background: radial-gradient(ellipse at 50% 30%, rgba(250, 204, 21, .25), #111827 70%); }
.cbk-cup svg.tr-svg { width: 46px; height: 55px; }
.cbk-cc { width: 26px; height: 26px; } .cbk-cc svg { width: 100%; height: 100%; }
.cbk-cup b { font-family: 'Teko', sans-serif; font-size: 18px; line-height: 1; color: #facc15; }
.cbk-cup:not(.is-won) b { color: #475569; }
/* Match › Direct : fil d'événements (icône du type, écusson, minute) ; moments clés en cartes */
#live-commentary { gap: 4px !important; padding: 8px !important; font-style: normal; }
.lc-row { display: grid; grid-template-columns: 34px 22px auto minmax(0, 1fr) auto; align-items: center; gap: 6px; padding: 4px 6px; border-radius: 7px;
    background: transparent; font-size: 11.5px; line-height: 1.3; color: #94a3b8; font-style: normal; animation: fadeIn .3s ease-out; }
.lc-row:not(:has(.lc-crest)) .lc-txt { grid-column: 3 / 5; }
.lc-min { font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #64748b; text-align: center; }
.lc-ic { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: #1f2937; }
.lc-ic svg { width: 15px; height: 15px; }
.lc-crest { width: 18px; height: 18px; } .lc-crest svg { width: 100%; height: 100%; }
.lc-txt svg { display: none; }                       /* l'icône est déjà dans la pastille */
.lc-txt b, .lc-txt strong { color: #e2e8f0; }
.lc-row.lc-chance, .lc-row.lc-set { color: #cbd5e1; }
.lc-row.is-key { padding: 7px 8px; background: #111827; color: #fff; font-weight: 700; font-size: 12px; }
.lc-row.is-key .lc-min { color: #fff; }
.lc-row.lc-goal { background: linear-gradient(90deg, #f97316, #ea580c); }
.lc-row.lc-goal .lc-ic { background: #0a0e17; }
.lc-row.lc-red .lc-ic, .lc-row.lc-injury .lc-ic { background: rgba(239, 68, 68, .18); }
.lc-row.lc-yellow { color: #fde68a; } .lc-row.lc-yellow .lc-ic { background: rgba(250, 204, 21, .14); }
.lc-row.lc-sub .lc-ic { background: rgba(74, 222, 128, .12); }
.lc-score { font-family: 'Teko', sans-serif; font-size: 20px; line-height: 1; padding: 2px 8px; border-radius: 6px; background: #0a0e17; color: #fff; }
/* Match › Stats : barres face à face aux couleurs des maillots, anneau de possession */
.msx-head { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; margin-bottom: 8px; }
.msx-team { display: flex; align-items: center; gap: 6px; min-width: 0; }
.msx-team.is-a { justify-content: flex-end; text-align: end; }
.msx-team i { width: 26px; height: 26px; flex: none; } .msx-team i svg { width: 100%; height: 100%; }
.msx-team b { font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #e2e8f0; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msx-team.is-user b { color: #fb923c; }
.msx-poss { width: 74px; height: 74px; border-radius: 50%; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; align-content: center; justify-items: center; column-gap: 2px;
    background: radial-gradient(#111827 58%, transparent 59%), conic-gradient(var(--hc) calc(var(--p) * 1%), var(--ac) 0); }
.msx-poss b { font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; color: #fff; grid-row: 1; }
.msx-poss small { grid-column: 1 / -1; grid-row: 2; font-size: 7.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }
.msx-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto minmax(0, 1fr) 30px; align-items: center; gap: 6px; padding: 3px 0; }
.msx-row b { font-family: 'Teko', sans-serif; font-size: 17px; line-height: 1; color: #94a3b8; text-align: center; }
.msx-row b.is-lead { color: #fff; }
.msx-lab { font-size: 9.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #94a3b8; text-align: center; min-width: 74px; }
.msx-bar { height: 7px; border-radius: 4px; background: #1f2937; overflow: hidden; display: flex; }
.msx-bar.is-h { justify-content: flex-end; } .msx-bar.is-h i { background: var(--hc); }
.msx-bar.is-a i { background: var(--ac); }
.msx-bar i { display: block; height: 100%; border-radius: 4px; transition: width .5s; }
/* Match › Notes : terrain vu de dessus, note en pastille, anneau d'énergie */
.lrp { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 10px; }
.lrp-pitch { position: relative; min-height: 268px; border-radius: 12px; overflow: hidden;
    background:
        radial-gradient(circle at 50% 50%, transparent 30px, rgba(255, 255, 255, .09) 31px, rgba(255, 255, 255, .09) 32.5px, transparent 33.5px),
        linear-gradient(90deg, transparent calc(50% - 1px), rgba(255, 255, 255, .09) calc(50% - 1px), rgba(255, 255, 255, .09) calc(50% + 1px), transparent calc(50% + 1px)),
        repeating-linear-gradient(90deg, #111827 0 10%, #1f2937 10% 20%); }
.lrp-pitch::before, .lrp-pitch::after { content: ""; position: absolute; top: 28%; height: 44%; width: 11%; background: rgba(255, 255, 255, .05); border-radius: 0 8px 8px 0; left: 0; }
.lrp-pitch::after { left: auto; right: 0; border-radius: 8px 0 0 8px; }
.lrp-p { position: absolute; z-index: 1; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 2px; width: 62px; }
.lrp-face { position: relative; width: 33px; height: 33px; border-radius: 50%; padding: 3px;
    background: conic-gradient(var(--enc) calc(var(--en) * 1%), #0a0e17 0); }
.lrp-face i { display: block; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: #0a0e17; }
.lrp-face i svg { width: 100%; height: 100%; }
.lrp-note { position: absolute; top: -5px; right: -14px; min-width: 26px; padding: 1px 3px; border-radius: 6px; text-align: center;
    font-family: 'Teko', sans-serif; font-size: 14px; line-height: 1.05; color: #0a0e17; }
.lrp-note.is-great { background: #34d399; } .lrp-note.is-good { background: #a3e635; }
.lrp-note.is-ok { background: #fbbf24; } .lrp-note.is-bad { background: #f87171; }
.lrp-marks { position: absolute; bottom: -3px; left: -10px; display: flex; gap: 1px; padding: 1px 2px; border-radius: 5px; background: #0a0e17; color: #fff; font-style: normal; }
.lrp-n { max-width: 62px; padding: 0 4px; border-radius: 4px; background: rgba(10, 14, 23, .75); font-size: 9.5px; font-weight: 800; color: #e2e8f0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lrp-p.is-best .lrp-n { background: #f97316; color: #fff; }
.lrp-side { display: flex; flex-direction: column; gap: 8px; }
.lrp-avg, .lrp-mvp { border-radius: 10px; background: #111827; padding: 8px 10px; }
.lrp-avg { display: grid; grid-template-columns: 1fr auto; align-items: end; }
.lrp-avg small, .lrp-mvp small { grid-column: 1 / -1; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; }
.lrp-avg b { font-family: 'Teko', sans-serif; font-size: 34px; line-height: .9; color: #fff; }
.lrp-avg span { font-family: 'Teko', sans-serif; font-size: 16px; color: #64748b; }
.lrp-mvp { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 2px 7px;
    background: linear-gradient(120deg, rgba(249, 115, 22, .3), #111827 70%); }
.lrp-mf { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; background: #0a0e17; } .lrp-mf svg { width: 100%; height: 100%; }
.lrp-mvp b { font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lrp-mvp em { font-style: normal; font-family: 'Teko', sans-serif; font-size: 20px; line-height: 1; color: #fb923c; }
.lrp-leg { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #64748b; }
.lrp-leg i { width: 10px; height: 4px; border-radius: 2px; }
.lrp-leg b { width: 100%; color: #fbbf24; }
@media (max-width: 560px) { .lrp { grid-template-columns: 1fr; } }
/* Match › bilan : cartes colorées (positif / négatif / alerte) au lieu de lignes de texte */
.mdx { margin-bottom: 12px; }
.mdx-h { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fb923c; }
.mdx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 6px; }
.mdx-c { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: center; gap: 8px; padding: 7px 9px; border-radius: 10px; background: #111827; }
.mdx-c i { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 12px; font-weight: 900; color: #0a0e17; background: #64748b; }
.mdx-c.is-good { background: linear-gradient(100deg, rgba(52, 211, 153, .16), #111827 70%); } .mdx-c.is-good i { background: #34d399; }
.mdx-c.is-bad { background: linear-gradient(100deg, rgba(248, 113, 113, .16), #111827 70%); } .mdx-c.is-bad i { background: #f87171; }
.mdx-c.is-warn { background: linear-gradient(100deg, rgba(251, 191, 36, .14), #111827 70%); } .mdx-c.is-warn i { background: #fbbf24; }
.mdx-c p { margin: 0; font-size: 11px; line-height: 1.35; color: #e2e8f0; }
/* panneau étroit du match (340 px) : terrain pleine largeur, résumé en ligne dessous */
.lrp { grid-template-columns: 1fr; gap: 8px; }
.lrp-pitch { min-height: 250px; }
.lrp-side { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px; }
.lrp-leg { grid-column: 1 / -1; }
.lrp-p { width: 56px; } .lrp-n { max-width: 56px; font-size: 9px; }
.msx-poss { width: 82px; height: 82px; column-gap: 0; padding: 0 14px; background: radial-gradient(#111827 60%, transparent 61%), conic-gradient(var(--hc) calc(var(--p) * 1%), var(--ac) 0); }
.msx-poss b { font-size: 14px; }
.msx-poss { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding: 0; }
.msx-poss b { font-size: 15px; } .msx-poss small { font-size: 6.5px; }
.msx-poss b:first-child { color: #fff; } .msx-poss b:last-child { color: #94a3b8; }

/* rangées de filtres déroulantes : pas de marge négative qui fait déborder la page de 4 px */
.overflow-x-auto.-mx-1 { margin-left: 0 !important; margin-right: 0 !important; }
/* Notes en plein match : terrain compact qui tient dans la hauteur du panneau */
html.in-match .lrp-pitch { min-height: 0; height: 200px; }
html.in-match .lrp-face { width: 27px; height: 27px; padding: 2.5px; }
html.in-match .lrp-note { font-size: 12.5px; top: -6px; right: -16px; min-width: 23px; }
html.in-match .lrp-n { font-size: 8.5px; line-height: 1.25; }
html.in-match .lrp-p { gap: 1px; }
html.in-match #live-ratings .lrp { height: 100%; grid-template-rows: 100% auto; }
html.in-match #live-ratings .lrp-pitch { height: auto; min-height: 150px; }
html.in-match #live-ratings .lrp-pitch { min-height: 226px; }
html.in-match #live-ratings .lrp-pitch { min-height: 240px; }
html.in-match .lrp-n { position: relative; z-index: 2; margin-top: -6px; max-width: 50px; padding: 0 3px; }
html.in-match .lrp-p { width: 50px; }
.lrp-p.is-up { flex-direction: column-reverse; }
html.in-match .lrp-p.is-up .lrp-n { margin-top: 0; margin-bottom: -6px; }
html.in-match .lrp-p.is-up .lrp-n, .lrp-p.is-up .lrp-n { margin-top: 0; margin-bottom: 5px; }
/* fin de match : le bouton « Voir les résultats » prend la place du bandeau, en bas au centre */
html.land.in-match #view-match > .sm-endbar {
    position: fixed !important; left: 50% !important; right: auto !important; top: auto !important; bottom: 58px !important; transform: translateX(-50%);
    width: auto !important; z-index: 77; padding: 0 !important; background: transparent !important; box-shadow: none !important; backdrop-filter: none !important;
}
html.land.in-match.sm-strip-min #view-match > .sm-endbar { bottom: 36px !important; }
html.land.in-match #view-match > .sm-endbar #btn-end-match { width: auto !important; white-space: nowrap; }
html.land.in-match.sm-over .sm-ticker { display: none !important; }
/* Notes en direct : moyenne + homme du match en barre fine AU-DESSUS du terrain (toujours visible) */
html.in-match #live-ratings .lrp { grid-template-rows: auto minmax(240px, 1fr); }
html.in-match #live-ratings .lrp-side { order: -1; display: flex; align-items: center; gap: 6px; }
html.in-match #live-ratings .lrp-avg { display: flex; align-items: baseline; gap: 5px; padding: 4px 8px; }
html.in-match #live-ratings .lrp-avg small { font-size: 8px; }
html.in-match #live-ratings .lrp-avg b { font-size: 20px; }
html.in-match #live-ratings .lrp-avg span { display: none; }
html.in-match #live-ratings .lrp-mvp { flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px; padding: 4px 8px; }
html.in-match #live-ratings .lrp-mvp small { display: none; }
html.in-match #live-ratings .lrp-mvp::before { content: "★"; color: #fb923c; font-size: 13px; }
html.in-match #live-ratings .lrp-mf { width: 22px; height: 22px; flex: none; }
html.in-match #live-ratings .lrp-mvp b { flex: 1; min-width: 0; font-size: 14px; }
html.in-match #live-ratings .lrp-mvp em { font-size: 17px; }
html.in-match #live-ratings .lrp-leg { display: none; }
/* bilan du match : tuiles courtes (chiffre clé + libellé), plus de phrases */
.mdx-grid { grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 5px; }
.mdx-c { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 2px; padding: 7px 4px 6px; }
.mdx-c i { width: 18px; height: 18px; font-size: 9px; }
.mdx-c b { font-family: 'Teko', sans-serif; font-size: 22px; line-height: .9; color: #fff; }
.mdx-c small { font-size: 8.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; line-height: 1.15; color: #cbd5e1; }
.mdx-f { width: 22px; height: 22px; border-radius: 50%; overflow: hidden; background: #0a0e17; } .mdx-f svg { width: 100%; height: 100%; }
.mdx-c.is-good { background: linear-gradient(180deg, rgba(52, 211, 153, .2), #111827 80%); }
.mdx-c.is-bad { background: linear-gradient(180deg, rgba(248, 113, 113, .2), #111827 80%); }
.mdx-c.is-warn { background: linear-gradient(180deg, rgba(251, 191, 36, .18), #111827 80%); }
.mdx-h { display: none; }
/* Après-match : écran visuel (score, 3 barres, homme du match, tuiles joueurs) */
#nci-ratings-modal > .pmx { display: grid !important; grid-template-columns: 230px minmax(0, 1fr); width: min(780px, 96vw); max-height: calc(100dvh - 16px);
    border-radius: 16px; overflow: hidden; background: #0a0e17; max-width: none !important; }
.pmx-left { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 12px; background: linear-gradient(180deg, #1f2937, #111827); }
.pmx-left.is-w { background: linear-gradient(180deg, rgba(22, 163, 74, .35), #111827 60%); }
.pmx-left.is-l { background: linear-gradient(180deg, rgba(185, 28, 28, .35), #111827 60%); }
.pmx-comp { font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #fb923c; }
.pmx-score { display: flex; align-items: center; gap: 10px; }
.pmx-cr { width: 40px; height: 40px; } .pmx-cr svg { width: 100%; height: 100%; }
.pmx-score b { font-family: 'Teko', sans-serif; font-size: 46px; line-height: .85; color: #fff; display: flex; gap: 6px; }
.pmx-score b i { font-style: normal; color: #64748b; }
.pmx-names { width: 100%; display: flex; justify-content: space-between; gap: 8px; }
.pmx-names span { flex: 1; min-width: 0; font-size: 9.5px; font-weight: 800; text-transform: uppercase; color: #cbd5e1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pmx-names span:last-child { text-align: end; }
.pmx-extra { font-size: 10px; font-weight: 800; color: #facc15; }
.pmx-bars { width: 100%; display: flex; flex-direction: column; gap: 6px; margin-top: 2px; }
.pmx-bar { display: grid; grid-template-columns: 30px minmax(0, 1fr) 30px; align-items: center; gap: 6px; }
.pmx-bar b { font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #fff; text-align: center; }
.pmx-bar span { height: 6px; border-radius: 3px; background: var(--ac); overflow: hidden; display: flex; }
.pmx-bar span i { display: block; height: 100%; background: var(--hc); }
.pmx-bar small { grid-column: 1 / -1; grid-row: 2; margin-top: -3px; text-align: center; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #64748b; }
.pmx-close { margin-top: auto; width: 100%; padding: 10px; border-radius: 10px; background: #f97316; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pmx-right { padding: 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.pmx-mvp { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; background: linear-gradient(100deg, rgba(249, 115, 22, .35), #111827 70%); }
.pmx-mf { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: #0a0e17; flex: none; } .pmx-mf svg { width: 100%; height: 100%; }
.pmx-mt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pmx-mt small { font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fb923c; }
.pmx-mt b { font-family: 'Teko', sans-serif; font-size: 22px; line-height: 1; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pmx-ga { display: flex; gap: 2px; color: #fff; }
.pmx-mvp em, .pmx-f em { font-style: normal; font-family: 'Teko', sans-serif; color: #0a0e17; border-radius: 6px; text-align: center; }
.pmx-mvp em { font-size: 24px; line-height: 1.1; padding: 0 8px; }
.pmx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 6px; }
.pmx-p { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 2px 5px; border-radius: 10px; background: #111827; min-width: 0; }
.pmx-f { position: relative; width: 34px; height: 34px; border-radius: 50%; background: #0a0e17; }
.pmx-f svg { width: 100%; height: 100%; border-radius: 50%; }
.pmx-f em { position: absolute; top: -4px; right: -18px; min-width: 24px; font-size: 13px; line-height: 1.1; padding: 0 3px; }
.pmx-p b { max-width: 100%; font-size: 10.5px; font-weight: 800; color: #e2e8f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pmx-p small { display: flex; align-items: center; gap: 2px; font-size: 8.5px; font-weight: 800; color: #64748b; text-transform: uppercase; }
.pmx em.is-great { background: #34d399; } .pmx em.is-good { background: #a3e635; } .pmx em.is-ok { background: #fbbf24; } .pmx em.is-bad { background: #f87171; }
@media (max-width: 560px) { #nci-ratings-modal > .pmx { grid-template-columns: 1fr; overflow-y: auto; } }
html.land #nci-ratings-modal > .pmx > .pmx-left { background-image: linear-gradient(180deg, #1f2937, #111827) !important; align-items: center !important; justify-content: flex-start !important; padding: 14px 12px !important; }
html.land #nci-ratings-modal > .pmx > .pmx-left.is-w { background-image: linear-gradient(180deg, rgba(22, 163, 74, .35), #111827 60%) !important; }
html.land #nci-ratings-modal > .pmx > .pmx-left.is-l { background-image: linear-gradient(180deg, rgba(185, 28, 28, .35), #111827 60%) !important; }
/* ═══ CONSIGNES compactes (onglet Tactique + en direct) ═══ */
.tb { display: grid; grid-template-columns: minmax(150px, 34%) minmax(0, 1fr); gap: 10px; align-items: start; margin-bottom: 10px; }
.tb-pitch { position: sticky; top: 0; }
.tb-svg { width: 100%; height: auto; display: block; }
.tb-rows { display: flex; flex-direction: column; gap: 4px; }
.tb-row { display: grid; grid-template-columns: 62px minmax(0, 1fr); align-items: center; gap: 6px; }
.tb-lab { font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }
.tb-opts { display: flex; gap: 3px; padding: 2px; border-radius: 9px; background: #0a0e17; }
.tb-o { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 4px; height: 28px; padding: 0 4px; border-radius: 7px; color: #64748b; background: transparent; }
.tb-o svg { width: 14px; height: 14px; flex: none; }
.tb-o span { font-size: 9.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tb-o.is-on { background: #f97316; color: #fff; }
.tb-forms { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.tb-forms::-webkit-scrollbar { display: none; }
.tb-f { flex: none; width: 62px; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 3px; border-radius: 8px; background: #111827; }
.tb-f span { font-size: 9.5px; font-weight: 800; color: #64748b; }
.tb-f.is-on { background: rgba(249, 115, 22, .2); } .tb-f.is-on span { color: #fb923c; }
/* onglet : on masque les anciens grands boutons et le panneau de consignes en lignes (remplacés par le tableau) */
#acc-o-play .acc-body > label, #mentality-picker, #style-picker, #team-instructions-panel { display: none !important; }
/* formation : une seule bande déroulante au lieu d'une grille de 15 vignettes */
#formation-picker { display: flex !important; gap: 5px; overflow-x: auto; scrollbar-width: none; grid-template-columns: none !important; }
#formation-picker::-webkit-scrollbar { display: none; }
#formation-picker > button { flex: none; width: 62px; padding: 3px !important; box-shadow: none !important; }
#formation-picker > button span { margin-top: 1px !important; }
/* sous-sections (adversaire, plans, coups de pied arrêtés, rôles) : tuiles 2×2, sans description */
#instructions-anchor { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
#instructions-anchor > details.acc { margin: 0 !important; }
#instructions-anchor > details.acc[open] { grid-column: 1 / -1; }
#instructions-anchor > details.acc > summary .acc-value { display: none; }
/* consignes en direct : bloc unique et compact (remplace l'ancienne grille 2 colonnes) */
#live-tactics-modal > div { display: block !important; width: min(720px, 96vw) !important; padding: 10px 12px !important; max-height: calc(100dvh - 16px); overflow-y: auto; }
.lt-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.lt-head b { font-family: 'Teko', sans-serif; font-size: 22px; line-height: 1; color: #fff; text-transform: uppercase; }
.lt-tb { margin-top: 8px; margin-bottom: 8px; }
.lt-go { width: 100%; padding: 9px; border-radius: 10px; background: #f97316; color: #fff; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
html.land #live-tactics-modal > #live-tactics-body { display: block !important; width: min(720px, 96vw) !important; padding: 10px 12px !important; }
#formation-picker > button, .tb-f, .tb-f.is-on { background: transparent !important; padding: 0 !important; }
/* ═══ ENTRAÎNEMENT compact ═══ */
.trx-week { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 8px; }
.trx-card { border-radius: 14px; background: #111827; padding: 10px 12px; }
.trx-card .sec-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 6px; }
.trx-verdict { font-size: 9.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; padding: 2px 7px; border-radius: 6px; color: #0a0e17; background: var(--v); }
#tr-pane-week .wk-grid { gap: 5px; }
#tr-pane-week .wk-slot { padding: 6px 4px !important; min-height: 0 !important; }
.trx-rings { display: flex; justify-content: space-around; gap: 6px; margin-top: 8px; }
.trx-ring { display: flex; flex-direction: column; align-items: center; gap: 3px; min-width: 0; }
.trx-ring > span { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
    background: radial-gradient(#111827 58%, transparent 60%), conic-gradient(var(--c) calc(var(--p) * 1%), #1f2937 0); }
.trx-ring b { font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #fff; }
.trx-ring small { font-size: 8.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #94a3b8; text-align: center; white-space: nowrap; }
.trx-card .au-bonus { font-family: 'Teko', sans-serif; font-size: 20px; line-height: 1; }
.trx-ints { display: flex; gap: 4px; padding: 2px; border-radius: 9px; background: #0a0e17; }
.trx-int { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 5px 2px; border-radius: 7px; color: #64748b; }
.trx-int b { font-size: 9.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.trx-int span { font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; }
.trx-int.is-on { background: #f97316; color: #fff; }
/* effectif : une ligne par joueur au lieu d'une grande carte */
.trx-list { display: flex; flex-direction: column; gap: 3px; }
.trx-p { display: grid; grid-template-columns: 28px minmax(90px, 150px) minmax(0, 1fr) 32px 26px; align-items: center; gap: 8px; padding: 4px 8px; border-radius: 9px; background: #111827; }
.trx-face { width: 28px; height: 28px; border-radius: 50%; overflow: hidden; background: #0a0e17; } .trx-face svg { width: 100%; height: 100%; }
.trx-n { display: flex; flex-direction: column; min-width: 0; }
.trx-n b { font-size: 11.5px; font-weight: 800; color: #f1f5f9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.trx-n small { font-size: 9px; font-weight: 700; color: #64748b; text-transform: uppercase; }
.trx-chips { display: flex; gap: 3px; overflow-x: auto; scrollbar-width: none; }
.trx-chips::-webkit-scrollbar { display: none; }
.trx-c { flex: none; display: flex; align-items: baseline; gap: 3px; padding: 3px 6px; border-radius: 6px; background: #0a0e17; color: #64748b; font-size: 9px; font-weight: 800; }
.trx-c i { font-style: normal; font-family: 'Teko', sans-serif; font-size: 13px; line-height: 1; color: #94a3b8; }
.trx-c.is-on { background: #f97316; color: #fff; } .trx-c.is-on i { color: #fff; }
.trx-prog { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
    background: radial-gradient(#111827 56%, transparent 58%), conic-gradient(var(--c) calc(var(--p) * 1%), #1f2937 0); }
.trx-prog span { font-size: 8.5px; font-weight: 800; color: #cbd5e1; }
.trx-ovr { font-family: 'Teko', sans-serif; font-size: 20px; line-height: 1; color: #fff; text-align: end; }
#tr-pane-squad > .panel-glass:first-child { padding: 8px 10px !important; }
@media (max-width: 560px) { .trx-week { grid-template-columns: 1fr; } .trx-p { grid-template-columns: 28px minmax(0, 1fr) 32px 26px; } .trx-chips { grid-column: 1 / -1; grid-row: 2; } }
/* anneaux d'effets de la semaine : la jauge suffit, pas de chiffre abstrait */
.trx-week > .trx-card:first-child .trx-ring b { display: none; }
html.in-match #live-ratings .lrp-side { flex-direction: row; }
/* Coupe nationale : fenêtre de tirage visuelle */
.cdx { display: grid; grid-template-columns: 200px minmax(0, 1fr); width: min(700px, 96vw); max-height: calc(100dvh - 16px); border-radius: 16px; overflow: hidden; background: #0a0e17; }
.cdx-left { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 12px; background: linear-gradient(180deg, #1f2937, #111827); }
.cdx-left.is-in { background: linear-gradient(180deg, rgba(22, 163, 74, .35), #111827 65%); }
.cdx-left.is-out { background: linear-gradient(180deg, rgba(185, 28, 28, .32), #111827 65%); }
.cdx-cup svg.tr-svg { width: 64px; height: 77px; filter: drop-shadow(0 6px 14px rgba(250, 204, 21, .35)); }
.cdx-left small { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fb923c; }
.cdx-round { font-family: 'Teko', sans-serif; font-size: 24px; line-height: 1; color: #fff; text-transform: uppercase; text-align: center; }
.cdx-st { padding: 3px 10px; border-radius: 7px; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #0a0e17; background: #34d399; }
.cdx-left.is-out .cdx-st { background: #f87171; }
.cdx-ok { margin-top: auto; width: 100%; padding: 10px; border-radius: 10px; background: #f97316; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cdx-right { padding: 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; }
.cdx-h { font-size: 9.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; }
.cdx-ties { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 5px; }
.cdx-tie { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto minmax(0, 1fr) 22px; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 9px; background: #111827; }
.cdx-tie.is-me { background: linear-gradient(90deg, rgba(249, 115, 22, .3), #111827); }
.cdx-c { width: 22px; height: 22px; } .cdx-c svg { width: 100%; height: 100%; }
.cdx-tie b { font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #e2e8f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cdx-tie b.is-a { text-align: end; }
.cdx-tie i { font-style: normal; font-size: 9px; font-weight: 900; color: #64748b; }
.cdx-qs { display: flex; flex-wrap: wrap; gap: 5px; }
.cdx-q { width: 28px; height: 28px; border-radius: 50%; padding: 2px; background: #111827; } .cdx-q svg { width: 100%; height: 100%; }
.cdx-q.is-me { background: #f97316; }
@media (max-width: 560px) { .cdx { grid-template-columns: 1fr; overflow-y: auto; } }
/* Bilan du mois : résultat en grand, barres recettes / dépenses */
.mrx { width: min(420px, 94vw); border-radius: 16px; overflow: hidden; background: #111827; }
.mrx-top { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: linear-gradient(100deg, rgba(22, 163, 74, .35), #111827 75%); }
.mrx.is-down .mrx-top { background: linear-gradient(100deg, rgba(185, 28, 28, .38), #111827 75%); }
.mrx-top small { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #cbd5e1; }
.mrx-top b { font-family: 'Teko', sans-serif; font-size: 34px; line-height: 1; color: #4ade80; }
.mrx.is-down .mrx-top b { color: #f87171; }
.mrx-rows { display: flex; flex-direction: column; gap: 7px; padding: 12px 16px; }
.mrx-r { display: grid; grid-template-columns: 112px minmax(0, 1fr) 70px; align-items: center; gap: 8px; }
.mrx-r span { font-size: 10px; font-weight: 700; color: #94a3b8; }
.mrx-r i { height: 7px; border-radius: 4px; background: #0a0e17; overflow: hidden; }
.mrx-r i em { display: block; height: 100%; border-radius: 4px; background: #34d399; }
.mrx-r.is-out i em { background: #f87171; }
.mrx-r b { font-family: 'Teko', sans-serif; font-size: 16px; line-height: 1; color: #fff; text-align: end; }
.mrx-ok { display: block; width: calc(100% - 32px); margin: 0 16px 14px; padding: 10px; border-radius: 10px; background: #f97316; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
/* ═══ Cris du banc ═══ */
#pitch-shout-btn { position: absolute; top: 8px; left: 56px; z-index: 41; display: flex; align-items: center; gap: 5px; height: 28px; padding: 0 10px; border-radius: 8px;
    background: rgba(10, 14, 23, .72); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; backdrop-filter: blur(4px); }
#pitch-shout-btn svg { width: 15px; height: 15px; }
#pitch-shout-btn.is-on { background: #f97316; }
#pitch-shout-btn.is-wait { color: #94a3b8; }
html.sm-over #pitch-shout-btn, html:not(.in-match) #pitch-shout-btn { display: none; }
#shout-menu { position: absolute; top: 42px; left: 56px; z-index: 78; display: grid; grid-template-columns: repeat(2, 168px); gap: 5px; padding: 6px; border-radius: 12px;
    background: rgba(17, 24, 39, .95); backdrop-filter: blur(6px); }
.shx { display: grid; grid-template-columns: 26px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 7px; align-items: center; text-align: start; padding: 7px 8px; border-radius: 9px; background: #1f2937; color: #e2e8f0; }
.shx i { grid-row: 1 / span 2; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #0a0e17; color: #fb923c; }
.shx i svg { width: 15px; height: 15px; }
.shx b { font-size: 11px; font-weight: 800; }
.shx small { font-size: 8.5px; line-height: 1.2; color: #94a3b8; }
.shx.is-on { background: #f97316; } .shx.is-on i { color: #f97316; background: #fff; } .shx.is-on small { color: #fff; }
.shx:disabled { opacity: .45; }
.shx-wait { grid-column: 1 / -1; margin: 2px 0 0; text-align: center; font-size: 9.5px; font-weight: 800; color: #94a3b8; }
/* ═══ Analyse du match : carte des tirs + courbe des xG ═══ */
.anx { display: flex; flex-direction: column; gap: 5px; }
.anx-h { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 6px; }
.anx-h b { font-size: 9.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; text-align: center; }
.anx-h span { font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.anx-h .is-h { color: var(--hc); } .anx-h .is-a { color: var(--ac); text-align: end; }
.anx-map, .anx-xg { width: 100%; display: block; }
.anx-xg { height: 74px; }
.anx-leg { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; font-size: 8.5px; font-weight: 800; text-transform: uppercase; color: #64748b; }
.anx-leg span { display: flex; align-items: center; gap: 4px; }
.anx-leg i { width: 8px; height: 8px; border-radius: 50%; background: #e2e8f0; }
.anx-leg i.is-t { opacity: .7; } .anx-leg i.is-m { opacity: .32; }
.anx-big { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; padding: 4px 8px; border-radius: 8px; background: #111827; }
.anx-big span { font-family: 'Teko', sans-serif; font-size: 20px; line-height: 1; }
.anx-big .is-h { color: var(--hc); } .anx-big .is-a { color: var(--ac); text-align: end; }
.anx-big small { font-size: 8.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; }
#shout-menu { z-index: 95; }
/* ═══ Vestiaire ═══ */
.sm-vest { display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 10px; border-radius: 8px; background: #1f2937; color: #e2e8f0; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.sm-vest svg { width: 14px; height: 14px; color: #fb923c; }
.sm-vest b { font-family: 'Teko', sans-serif; font-size: 15px; line-height: 1; }
.st.trait { font-style: normal; } .st.trait.is-good { background: rgba(52, 211, 153, .16); color: #6ee7b7; } .st.trait.is-warn { background: rgba(251, 191, 36, .16); color: #fcd34d; } .st.trait.is-bad { background: rgba(248, 113, 113, .16); color: #fca5a5; }
.drx { display: grid; grid-template-columns: 200px minmax(0, 1fr); width: min(760px, 96vw); max-height: calc(100dvh - 16px); border-radius: 16px; overflow: hidden; background: #0a0e17; }
.drx-left { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 12px; background: linear-gradient(180deg, #1f2937, #111827); }
.drx-left > small { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fb923c; }
.drx-ring { width: 86px; height: 86px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(#111827 60%, transparent 62%), conic-gradient(var(--mc) calc(var(--m) * 1%), #1f2937 0); }
.drx-ring b { font-family: 'Teko', sans-serif; font-size: 34px; line-height: 1; color: #fff; }
.drx-lab { font-family: 'Teko', sans-serif; font-size: 22px; line-height: 1; text-transform: uppercase; }
.drx-facts { display: flex; gap: 6px; width: 100%; }
.drx-facts span { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 5px 2px; border-radius: 8px; background: #0a0e17; font-size: 8px; font-weight: 800; text-transform: uppercase; color: #94a3b8; text-align: center; }
.drx-facts b { font-family: 'Teko', sans-serif; font-size: 20px; line-height: 1; color: #fff; }
.drx-facts .is-bad b { color: #f87171; }
.drx-warn { margin: 0; font-size: 10px; line-height: 1.35; color: #fca5a5; text-align: center; }
.drx-ok { margin-top: auto; width: 100%; padding: 9px; border-radius: 10px; background: #f97316; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.drx-right { padding: 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; }
.drx-h { font-size: 9.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; }
.drx-row { display: flex; flex-wrap: wrap; gap: 6px; }
.drx-p { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 4px; border-radius: 10px; background: #111827; cursor: pointer; }
.drx-p.is-l { width: 112px; } .drx-p.is-m { width: 84px; } .drx-p.is-s { width: 64px; padding: 4px 2px; }
.drx-f { border-radius: 50%; padding: 3px; background: conic-gradient(var(--mc) calc(var(--m) * 1%), #1f2937 0); }
.drx-f i { display: block; border-radius: 50%; overflow: hidden; background: #0a0e17; } .drx-f i svg { width: 100%; height: 100%; display: block; }
.drx-p.is-l .drx-f i { width: 52px; height: 52px; } .drx-p.is-m .drx-f i { width: 38px; height: 38px; } .drx-p.is-s .drx-f i { width: 28px; height: 28px; }
.drx-p b { max-width: 100%; font-size: 10.5px; font-weight: 800; color: #f1f5f9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.drx-p.is-s b { font-size: 9px; }
.drx-p small { font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; padding: 1px 5px; border-radius: 5px; text-align: center; }
.drx-p small.is-good { background: rgba(52, 211, 153, .16); color: #6ee7b7; } .drx-p small.is-warn { background: rgba(251, 191, 36, .16); color: #fcd34d; } .drx-p small.is-bad { background: rgba(248, 113, 113, .16); color: #fca5a5; }
@media (max-width: 560px) { .drx { grid-template-columns: 1fr; overflow-y: auto; } }
/* ═══ Fil d'actu (Messagerie) ═══ */
.nfx-tabs { display: flex; gap: 4px; padding: 3px; margin-bottom: 10px; border-radius: 10px; background: #111827; }
.nfx-tabs button { position: relative; flex: 1; padding: 8px; border-radius: 8px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }
.nfx-tabs button.is-on { background: #f97316; color: #fff; }
.nfx-tabs button i { position: absolute; top: 6px; right: 10px; width: 7px; height: 7px; border-radius: 50%; background: #f97316; }
.nfx-tabs button.is-on i { background: #fff; }
.nfx { display: flex; flex-direction: column; gap: 6px; }
.nfx-post { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; padding: 9px 10px; border-radius: 12px; background: #111827; }
.nfx-post.is-up { background: linear-gradient(100deg, rgba(52, 211, 153, .12), #111827 60%); }
.nfx-post.is-down { background: linear-gradient(100deg, rgba(248, 113, 113, .12), #111827 60%); }
.nfx-av { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #1f2937; color: #fb923c; }
.nfx-av svg { width: 18px; height: 18px; }
.nfx-av.is-press { color: #38bdf8; } .nfx-av.is-rumor { color: #fbbf24; }
.nfx-av.is-club { background: transparent; } .nfx-av.is-club svg { width: 34px; height: 34px; }
.nfx-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.nfx-top b { font-size: 12px; font-weight: 800; color: #f1f5f9; }
.nfx-top small { font-size: 9px; font-weight: 800; color: #64748b; }
.nfx-body p { margin: 2px 0 4px; font-size: 12px; line-height: 1.4; color: #cbd5e1; }
.nfx-react { display: flex; gap: 10px; align-items: center; font-size: 10px; font-weight: 800; color: #64748b; }
.nfx-tag { padding: 1px 6px; border-radius: 5px; background: rgba(251, 191, 36, .16); color: #fcd34d; text-transform: uppercase; font-size: 8.5px; letter-spacing: .05em; }
.nfx-empty { padding: 24px 10px; text-align: center; font-size: 12px; color: #64748b; }
#inbox-content > .nfx-tabs, #inbox-content > .nfx, #inbox-content > .nfx-empty { grid-column: 1 / -1; }
#inbox-content > .nfx-tabs { align-self: start; height: auto; }
#inbox-content > .nfx { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }

/* ═══ Sélectionneur national ═══ */
.ntx-emb { display: inline-grid; place-items: center; flex: none; border-radius: 50%; font-family: 'Teko', sans-serif; line-height: 1; letter-spacing: .02em; color: #fff;
    background: radial-gradient(circle at 35% 30%, #fb923c, #ea580c 55%, #9a3412); }
.ntx-card { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-bottom: 10px; border-radius: 14px; cursor: pointer; background: linear-gradient(100deg, #1f2937, #111827 70%); }
.ntx-card.is-due { background: linear-gradient(100deg, rgba(249, 115, 22, .35), #111827 70%); }
.ntx-ct { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ntx-ct small { font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #fb923c; }
.ntx-ct b { font-family: 'Teko', sans-serif; font-size: 22px; line-height: 1; color: #fff; text-transform: uppercase; }
.ntx-ct em { font-style: normal; font-size: 10px; font-weight: 700; color: #94a3b8; }
.ntx-card > i { font-style: normal; font-size: 22px; color: #64748b; }
.ntx-due { padding: 3px 8px; border-radius: 6px; background: #f97316; color: #fff; font-size: 9.5px; font-weight: 800; text-transform: uppercase; }
.ntx { display: grid; grid-template-columns: 190px minmax(0, 1fr); width: min(800px, 96vw); height: min(372px, calc(100dvh - 16px)); border-radius: 16px; overflow: hidden; background: #0a0e17; }
.ntx-left { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 10px; background: linear-gradient(180deg, #1f2937, #111827); }
.ntx-left > small { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fb923c; margin-top: 2px; }
.ntx-name { font-family: 'Teko', sans-serif; font-size: 22px; line-height: 1; color: #fff; text-transform: uppercase; text-align: center; }
.ntx-ring { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; margin-top: 4px; background: radial-gradient(#111827 58%, transparent 60%), conic-gradient(var(--mc) calc(var(--m) * 1%), #1f2937 0); }
.ntx-ring b { font-family: 'Teko', sans-serif; font-size: 22px; line-height: 1; color: #fff; }
.ntx-ml { font-style: normal; font-size: 8.5px; font-weight: 800; text-transform: uppercase; color: #94a3b8; text-align: center; }
.ntx-rec { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; width: 100%; margin-top: 2px; }
.ntx-rec span { display: flex; flex-direction: column; align-items: center; padding: 3px 0; border-radius: 6px; background: #0a0e17; font-size: 8px; font-weight: 800; color: #64748b; text-transform: uppercase; }
.ntx-rec b { font-family: 'Teko', sans-serif; font-size: 17px; line-height: 1; color: #fff; }
.ntx-close { margin-top: auto; width: 100%; padding: 8px; border-radius: 9px; background: #f97316; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ntx-quit { font-size: 9px; font-weight: 800; color: #64748b; text-transform: uppercase; padding: 3px; }
.ntx-right { padding: 10px 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; }
.ntx-tabs { display: flex; gap: 3px; padding: 3px; border-radius: 10px; background: #111827; }
.ntx-tabs button { flex: 1; padding: 6px; border-radius: 8px; font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }
.ntx-tabs button.is-on { background: #f97316; color: #fff; }
.ntx-h { display: flex; justify-content: space-between; align-items: baseline; font-size: 9.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; }
.ntx-h span { font-size: 8.5px; letter-spacing: .03em; color: #64748b; }
.ntx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(66px, 1fr)); gap: 5px; }
.ntx-p { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 5px 2px; border-radius: 9px; background: #111827; opacity: .55; }
.ntx-p.is-on { opacity: 1; background: #1f2937; }
.ntx-f { position: relative; width: 30px; height: 30px; border-radius: 50%; background: #0a0e17; }
.ntx-f svg { width: 100%; height: 100%; border-radius: 50%; }
.ntx-f em { position: absolute; top: -4px; right: -14px; padding: 0 3px; border-radius: 5px; background: #f97316; color: #fff; font-style: normal; font-family: 'Teko', sans-serif; font-size: 12px; line-height: 1.15; }
.ntx-p b { max-width: 100%; font-size: 9.5px; font-weight: 800; color: #e2e8f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ntx-p small { font-size: 8px; font-weight: 800; color: #64748b; }
.ntx-empty { padding: 18px 8px; text-align: center; font-size: 11px; color: #64748b; }
.ntx-next { display: flex; flex-direction: column; gap: 6px; padding: 10px; border-radius: 12px; background: #111827; }
.ntx-next > small { font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #fb923c; text-align: center; }
.ntx-vs { display: grid; grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.ntx-vs span { display: flex; flex-direction: column; min-width: 0; }
.ntx-vs span.is-a { align-items: flex-end; text-align: end; }
.ntx-vs b { font-family: 'Teko', sans-serif; font-size: 19px; line-height: 1; color: #fff; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ntx-vs em { font-style: normal; font-size: 9.5px; font-weight: 800; color: #94a3b8; }
.ntx-vs > i { font-style: normal; font-size: 11px; font-weight: 900; color: #64748b; }
.ntx-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.ntx-plans button { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 9px 4px; border-radius: 10px; background: #1f2937; color: #fff; }
.ntx-plans button:nth-child(2) { background: #f97316; }
.ntx-plans b { font-size: 11.5px; font-weight: 800; text-transform: uppercase; }
.ntx-plans small { font-size: 8.5px; color: #cbd5e1; text-align: center; }
.ntx-res { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px; border-radius: 12px; background: #111827; }
.ntx-res.is-w { background: linear-gradient(180deg, rgba(22, 163, 74, .3), #111827); }
.ntx-res.is-l { background: linear-gradient(180deg, rgba(185, 28, 28, .3), #111827); }
.ntx-res > small { font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #cbd5e1; }
.ntx-sc { display: flex; align-items: center; gap: 12px; }
.ntx-sc b { font-family: 'Teko', sans-serif; font-size: 40px; line-height: .9; color: #fff; display: flex; gap: 6px; }
.ntx-sc b i { font-style: normal; color: #64748b; }
.ntx-res em { font-style: normal; font-size: 10px; font-weight: 800; color: #facc15; }
.ntx-res p { margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; font-size: 10.5px; font-weight: 700; color: #e2e8f0; }
.ntx-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.ntx-g { padding: 5px; border-radius: 9px; background: #111827; }
.ntx-gh { font-family: 'Teko', sans-serif; font-size: 15px; color: #f97316; padding: 0 3px 2px; }
.ntx-tr { display: grid; grid-template-columns: 10px 18px minmax(0, 1fr) 16px; align-items: center; gap: 4px; padding: 2px 3px; border-radius: 5px; }
.ntx-tr i { font-style: normal; font-size: 9px; font-weight: 800; color: #64748b; }
.ntx-tr span { font-size: 9.5px; font-weight: 700; color: #cbd5e1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ntx-tr b { font-family: 'Teko', sans-serif; font-size: 14px; color: #fff; text-align: end; }
.ntx-tr.is-q { background: rgba(255, 255, 255, .04); }
.ntx-tr.is-me { background: rgba(249, 115, 22, .22); }
.ntx-tr.is-me span { color: #fff; }
.ntx-ko { display: flex; gap: 6px; }
.ntx-kc { flex: 1; display: flex; flex-direction: column; gap: 4px; justify-content: space-around; }
.ntx-kc > small { font-size: 8.5px; font-weight: 800; text-transform: uppercase; color: #94a3b8; text-align: center; }
.ntx-tie { display: flex; flex-direction: column; gap: 2px; padding: 4px; border-radius: 8px; background: #111827; }
.ntx-tie span { display: flex; align-items: center; gap: 4px; font-size: 9px; font-weight: 700; color: #94a3b8; white-space: nowrap; overflow: hidden; }
.ntx-tie span.is-me { color: #fb923c; }
.ntx-tie span.is-win { color: #fff; }
.ntx-champ { align-items: center; }
.ntx-champ svg.tr-svg { width: 40px; height: 48px; }
.ntx-champ b { font-family: 'Teko', sans-serif; font-size: 15px; color: #facc15; text-align: center; }
@media (max-width: 560px) { .ntx { grid-template-columns: 1fr; height: auto; } .ntx-groups { grid-template-columns: repeat(2, 1fr); } }
.ntx-card.is-off { cursor: default; opacity: .75; }
/* Séance de tirs au but en direct : tableau de pastilles sous le score */
#pso-board { position: absolute; top: 50px; left: 50%; transform: translateX(-50%); z-index: 45; display: flex; flex-direction: column; gap: 3px; padding: 6px 10px; border-radius: 12px; background: rgba(10, 14, 23, .82); backdrop-filter: blur(4px); }
#pso-board > small { font-size: 8.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fb923c; text-align: center; }
.pso-row { display: grid; grid-template-columns: 20px 18px auto; align-items: center; gap: 6px; padding: 1px 4px; border-radius: 6px; }
.pso-row.is-win { background: rgba(22, 163, 74, .28); }
.pso-c { width: 20px; height: 20px; } .pso-c svg { width: 100%; height: 100%; }
.pso-row > b { font-family: 'Teko', sans-serif; font-size: 18px; line-height: 1; color: #fff; text-align: center; }
.pso-dots { display: flex; gap: 4px; }
.pso-dots i { width: 13px; height: 13px; border-radius: 50%; background: #1f2937; display: grid; place-items: center; font-style: normal; font-size: 8px; font-weight: 900; color: #fff; }
.pso-dots i.is-g { background: #34d399; }
.pso-dots i.is-m { background: #f87171; }
html.in-pso #pitch-shout-btn, html.in-pso #shout-menu { display: none !important; }
