*{box-sizing:border-box}html,body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#eef3fb;color:#081b3a}body{min-height:100vh}.ucl-season-strip{background:linear-gradient(90deg,#172d70,#5637a8,#172d70);color:#fff;text-align:center;padding:10px;font-weight:900;letter-spacing:.7px}.ucl-topbar{background:radial-gradient(circle at 50% 0,#183f8c 0,#071a42 52%,#04132f 100%);color:#fff;padding:24px 34px 0;display:grid;grid-template-columns:260px 1fr 280px;align-items:center;gap:20px;box-shadow:0 12px 28px rgba(3,18,49,.25)}.ucl-brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-weight:900}.ucl-brand-ball{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#805bd9,#2c6bc8);box-shadow:0 0 22px rgba(125,96,240,.5)}.ucl-title{text-align:center}.ucl-title h1{margin:4px 0 0;font-size:40px}.ucl-kicker{font-size:12px;color:#ddd3ff;font-weight:900;letter-spacing:1px}.ucl-actions{display:flex;justify-content:flex-end;align-items:center;flex-direction:row;flex-wrap:nowrap;overflow:visible;gap:12px}.ucl-return{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:13px;color:#fff;text-decoration:none;font-weight:900;background:#ec9700}.ucl-return{background:#ec9700}.ucl-nav{grid-column:1/-1;display:flex;gap:4px;overflow-x:auto;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.1)}.ucl-nav a{white-space:nowrap;padding:13px 15px;color:#dbe7ff;text-decoration:none;font-weight:800;border-radius:10px 10px 0 0}.ucl-nav a:hover,.ucl-nav a.active{background:#fff;color:#15336c}.ucl-main{width:min(1260px,calc(100% - 32px));margin:28px auto 50px}.ucl-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ucl-card{background:#fff;border:1px solid #d6e0f1;border-radius:20px;padding:22px;box-shadow:0 12px 30px rgba(10,38,84,.08)}.ucl-card h2{margin-top:0}.ucl-hero{background:linear-gradient(135deg,#0b2c6c,#5c3caf);color:#fff;border-radius:22px;padding:28px;margin-bottom:22px}.ucl-hero h2{font-size:30px;margin:0 0 8px}.ucl-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ucl-badge{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:800}.ucl-fixture{display:grid;grid-template-columns:145px 1fr 70px 1fr;align-items:center;gap:12px;padding:12px 10px;border-bottom:1px solid #e6ecf7}.ucl-fixture-date{font-size:12px;color:#667797}.ucl-team{font-weight:800}.ucl-team-away{text-align:right}.ucl-score{text-align:center}.ucl-table-wrap{overflow:auto}.ucl-table{border-collapse:collapse;width:100%;font-size:13px}.ucl-table th{background:#143c7d;color:#fff;padding:10px}.ucl-table td{padding:9px;border-bottom:1px solid #e4eaf4;text-align:center}.ucl-table td.club{text-align:left;min-width:190px;font-weight:800}.ucl-table td.club img{width:24px;height:24px;object-fit:contain;vertical-align:middle;margin-right:8px}.zone-direct{border-left:5px solid #24b36b}.zone-playoff{border-left:5px solid #efa828}.zone-out{border-left:5px solid #de4c56}.ucl-empty{padding:22px;border:1px dashed #b6c5dc;border-radius:14px;color:#687995;text-align:center}.ucl-phase-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.ucl-phase-tabs a{padding:9px 12px;border-radius:999px;background:#e9e5fa;color:#382078;text-decoration:none;font-weight:800}.ucl-tie{display:grid;grid-template-columns:1fr 100px 1fr;gap:12px;align-items:center;padding:14px;border:1px solid #dce5f3;border-radius:14px;margin:10px 0}.ucl-tie .mid{text-align:center}.ucl-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ucl-team-card{background:#fff;border:1px solid #d8e2f1;border-radius:16px;padding:18px;text-align:center}.ucl-team-card img{width:58px;height:58px;object-fit:contain}.ucl-footer{background:#071a3e;color:#cbd8ee;text-align:center;padding:20px}.ucl-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ucl-stat{background:#fff;border:1px solid #d8e2f1;border-radius:16px;padding:18px}.ucl-stat strong{font-size:24px;color:#4e34a7}@media(max-width:900px){.ucl-topbar{grid-template-columns:1fr;text-align:center;padding:18px 16px 0}.ucl-brand,.ucl-actions{justify-content:center}.ucl-title h1{font-size:30px}.ucl-grid,.ucl-team-grid,.ucl-stat-grid{grid-template-columns:1fr}.ucl-fixture{grid-template-columns:1fr 50px 1fr}.ucl-fixture-date{grid-column:1/-1}.ucl-nav{margin:0 -16px;padding-left:10px}}

/* ============================================================
   ADAPTATEUR UEFA — MENU CENTRAL V14
   Diagnostic 07/08/2026 : les anciens styles UEFA redessinaient
   le bouton et pilotaient eux-mêmes l'ouverture du menu.
   Désormais : uniquement l'ancrage structurel local.
   Apparence, dimensions et ouverture restent au composant central.
   ============================================================ */
.np-vdv-unified-real {
    position: relative;
    display: inline-flex;
    align-items: center;
    overflow: visible;
    z-index: 9000;
}

.np-vdv-unified-real .nume-topbar__dropdown--real-football {
    position: relative;
    display: inline-block;
    overflow: visible;
}

.np-vdv-unified-real .nume-topbar__dropdown-menu--real-football {
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    bottom: auto;
    z-index: 9500;
}

/* ====================================================
   POINT 2 — PRÉSENTATION DES QUALIFICATIONS — V2
   07/08/2026 — présentation uniquement, moteur inchangé
   ==================================================== */
.ucl-qualification-hero{position:relative;overflow:hidden}.ucl-qualification-hero:after{content:"";position:absolute;inset:auto -80px -100px auto;width:260px;height:260px;border-radius:50%;background:rgba(255,210,66,.12)}.ucl-qualification-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:1.15px;text-transform:uppercase;color:#bdaeff}.ucl-qualification-hero .ucl-qualification-kicker{color:#ffe27c}.ucl-qualification-stack{display:grid;gap:22px}.ucl-qualification-card{padding:0;overflow:hidden}.ucl-qualification-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:linear-gradient(90deg,#0c285f,#422b8f);color:#fff}.ucl-qualification-heading h2{margin:4px 0 0}.ucl-qualification-count{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);font-size:12px;font-weight:900}.ucl-qualification-table-wrap{overflow:auto;padding:0}.ucl-qualification-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;min-width:980px}.ucl-qualification-table th{padding:11px 9px;background:#102f68;color:#fff;text-align:center;font-size:11px;letter-spacing:.55px;border-right:1px solid rgba(255,255,255,.08);white-space:nowrap}.ucl-qualification-table th:nth-child(2),.ucl-qualification-table th:nth-child(3){text-align:left}.ucl-qualification-table td{padding:11px 9px;border-bottom:1px solid #e0e7f2;border-right:1px solid #edf1f7;vertical-align:middle}.ucl-qualification-row:last-child td{border-bottom:0}.ucl-q-date{width:190px;min-width:190px;color:#4f607d;font-size:12px;line-height:1.35}.ucl-q-date span{display:block;white-space:nowrap}.ucl-q-date span+span{margin-top:5px;padding-top:5px;border-top:1px dashed #d9e1ee}.ucl-q-team{min-width:185px;background:#fbfcff;font-weight:800}.ucl-q-team-main{display:flex;align-items:center;gap:8px;min-width:0}.ucl-q-team img{width:26px;height:26px;object-fit:contain;flex:0 0 auto}.ucl-q-team strong{display:inline;line-height:1.2;white-space:nowrap}.ucl-q-country{display:inline;color:#75839b;font-size:10px;font-weight:700;white-space:nowrap}.ucl-q-team.is-qualified .ucl-q-country{color:#5b4a79}.ucl-q-team.is-qualified{background:linear-gradient(135deg,#fff2a8 0,#f4df78 55%,#e8ddff 100%);color:#2d1a59;box-shadow:inset 0 0 0 2px rgba(92,54,163,.16)}.ucl-q-score{text-align:center;font-weight:900;white-space:nowrap;width:76px;min-width:76px}.ucl-q-first,.ucl-q-first-head{background:#eef4ff!important;color:#173f7b!important}.ucl-q-second,.ucl-q-second-head{background:#eee8fb!important;color:#4c2b8b!important}.ucl-q-extra{background:#fff9e7;color:#67521b}.ucl-q-pen{background:#f7f0ff;color:#4b2a82}.ucl-q-aggregate{width:68px;min-width:68px;background:#f1f3f8;color:#33435e;font-size:13px}.ucl-q-aggregate-head{width:68px;background:#273d68!important}.ucl-q-date-head{width:190px}.ucl-qualification-row.is-pending .ucl-q-aggregate{color:#6c788d;font-weight:800}
@media(max-width:760px){.ucl-qualification-heading{align-items:flex-start;flex-direction:column}.ucl-qualification-count{align-self:flex-start}.ucl-qualification-table{min-width:940px}.ucl-qualification-hero h2{font-size:25px}}


/* ====================================================
   POINT 2 — V5 — SÉPARATION NETTE DES TOURS
   Chaque round réel possède désormais son propre bandeau/titre.
   Aucun changement du moteur UEFA ni des synchronisations.
   ==================================================== */
.ucl-qualification-stack{gap:30px}
.ucl-qualification-card{border:1px solid #cfd9ea;box-shadow:0 14px 32px rgba(10,38,84,.11)}
.ucl-qualification-card+.ucl-qualification-card{margin-top:2px}
.ucl-qualification-heading{border-bottom:4px solid #f1c94b}
.ucl-qualification-heading h2{font-size:23px;line-height:1.15;text-transform:none}
.ucl-qualification-kicker{color:#ffe27c}

/* ============================================================
   POINT 3 — QUALIFICATIONS = MENU AU SURVOL
   Source des entrées : rounds réellement synchronisés.
   Aucun tour n'est codé artificiellement.
   ============================================================ */
.ucl-nav {
    overflow: visible;
}

.ucl-nav-dropdown {
    position: relative;
    display: inline-flex;
    align-items: stretch;
    z-index: 7200;
}

.ucl-nav-dropdown > .ucl-nav-dropdown-trigger {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.ucl-nav-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 7300;
    display: none;
    width: max-content;
    min-width: 190px;
    padding: 7px;
    border: 1px solid rgba(117, 86, 218, .45);
    border-radius: 0 0 12px 12px;
    background: #102f67;
    box-shadow: 0 14px 28px rgba(3, 18, 49, .24);
}

.ucl-nav-dropdown:hover > .ucl-nav-dropdown-menu,
.ucl-nav-dropdown:focus-within > .ucl-nav-dropdown-menu {
    display: grid;
    gap: 3px;
}

.ucl-nav .ucl-nav-dropdown-menu a {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    color: #fff;
    background: transparent;
    white-space: nowrap;
}

.ucl-nav .ucl-nav-dropdown-menu a:hover,
.ucl-nav .ucl-nav-dropdown-menu a:focus-visible {
    color: #102f67;
    background: #fff;
    outline: none;
}

.ucl-qualification-card {
    scroll-margin-top: 24px;
}

@media (max-width: 900px) {
    .ucl-nav {
        overflow-x: auto;
    }

    .ucl-nav-dropdown-menu {
        position: fixed;
        top: auto;
        left: 16px;
        right: 16px;
        width: auto;
        min-width: 0;
    }
}

/* ============================================================
   POINT 5 — DÉTAILS DU MATCH AU SURVOL ALLER / RETOUR
   Source : événements locaux ucl_2627_goal_events uniquement.
   ============================================================ */
.ucl-match-hover-cell {
    position: relative;
    cursor: help;
    overflow: visible;
    outline: none;
}

.ucl-match-hover-score {
    position: relative;
    z-index: 1;
    display: inline-block;
    border-bottom: 1px dotted currentColor;
}

.ucl-match-hover-panel {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    z-index: 9100;
    display: none;
    width: max-content;
    min-width: 250px;
    max-width: 360px;
    padding: 12px 13px;
    border: 1px solid rgba(112, 82, 205, .62);
    border-radius: 12px;
    background: #102f67;
    color: #fff;
    text-align: left;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 500;
    white-space: normal;
    box-shadow: 0 16px 34px rgba(4, 18, 48, .28);
    transform: translateX(-50%);
}

.ucl-match-hover-panel::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #102f67;
    border-right: 1px solid rgba(112, 82, 205, .62);
    border-bottom: 1px solid rgba(112, 82, 205, .62);
    transform: translate(-50%, -5px) rotate(45deg);
}

.ucl-match-hover-cell:hover > .ucl-match-hover-panel {
    display: block;
}

.ucl-match-hover-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,.16);
    font-weight: 800;
    font-size: 12px;
}

.ucl-match-hover-events {
    display: grid;
    gap: 5px;
}

.ucl-match-hover-event {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 5px;
    align-items: start;
}

.ucl-match-hover-icon {
    line-height: 1.35;
    text-align: center;
}

.ucl-match-hover-empty {
    display: block;
    color: rgba(255,255,255,.72);
    font-style: italic;
}

.ucl-match-hover-special {
    display: grid;
    gap: 3px;
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,.16);
    color: #fff3b0;
}

.ucl-qualification-table-wrap,
.ucl-qualification-table,
.ucl-qualification-table tbody,
.ucl-qualification-table tr {
    overflow: visible;
}

@media (max-width: 900px) {
    .ucl-match-hover-panel {
        left: auto;
        right: -6px;
        min-width: 220px;
        max-width: min(320px, 78vw);
        transform: none;
    }

    .ucl-match-hover-panel::after {
        left: auto;
        right: 22px;
        transform: translateY(-5px) rotate(45deg);
    }
}

/* ============================================================
   POINT 5 — MICRO-CORRECTIF V4
   - le clic n'a aucune influence sur le panneau ;
   - sur les 2 premières confrontations d'un tableau, le panneau
     s'ouvre vers le bas pour ne jamais être tronqué par le haut.
   ============================================================ */
.ucl-qualification-table tbody tr:nth-child(-n+2) .ucl-match-hover-panel {
    top: calc(100% + 10px);
    bottom: auto;
}

.ucl-qualification-table tbody tr:nth-child(-n+2) .ucl-match-hover-panel::after {
    top: auto;
    bottom: 100%;
    border-right: 0;
    border-bottom: 0;
    border-left: 1px solid rgba(112, 82, 205, .62);
    border-top: 1px solid rgba(112, 82, 205, .62);
    transform: translate(-50%, 5px) rotate(45deg);
}

@media (max-width: 900px) {
    .ucl-qualification-table tbody tr:nth-child(-n+2) .ucl-match-hover-panel::after {
        left: auto;
        right: 22px;
        transform: translateY(5px) rotate(45deg);
    }
}

