@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0d0f13;--panel:#171a20;--panel2:#1e222a;--line:#2a2f38;--text:#f6f7f9;--muted:#a3a9b4;--gold:#f4c44e;--gold2:#d99b19;--green:#8ee2b0;--red:#ff8d8d;--radius:18px}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#282111 0,transparent 32%),var(--bg);color:var(--text);font:15px 'DM Sans',sans-serif;min-height:100vh}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.topbar{height:78px;border-bottom:1px solid #252830;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1220px)/2));background:rgba(13,15,19,.9);position:sticky;top:0;z-index:5;backdrop-filter:blur(18px)}.brand{display:flex;gap:12px;align-items:center;font:800 17px Manrope,sans-serif;letter-spacing:-.5px}.brand b{color:var(--gold)}.brand small{display:block;color:#8e939d;font:700 9px 'DM Sans';letter-spacing:1.8px;margin-top:4px}.brand-mark{width:39px;height:39px;border-radius:12px;background:linear-gradient(135deg,#ffe58a,#bd7b0b);color:#19140a;display:grid;place-items:center;font:900 24px Manrope;box-shadow:0 5px 22px #e3ad302e}.header-right{display:flex;gap:10px;align-items:center}.pill{border:1px solid #3a414b;border-radius:30px;padding:7px 11px;color:#cbd0d8;font-size:12px}.pill.live{border-color:#356b4e;color:var(--green)}.pill.demo{border-color:#806122;color:var(--gold)}.layout{max-width:1220px;margin:0 auto;padding:32px 22px 20px}.welcome{display:flex;justify-content:space-between;align-items:center;padding:32px 8px 38px;gap:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--gold);margin:0 0 10px}.welcome h1{font:800 clamp(34px,5vw,58px)/1.08 Manrope,sans-serif;letter-spacing:-2px;margin:0}.welcome h1 span{color:var(--gold)}.lead{color:var(--muted);max-width:560px;line-height:1.7;margin:17px 0 0}.hero-chip{display:flex;align-items:center;gap:13px;border:1px solid #3b3423;background:linear-gradient(135deg,#252117,#191a1e);padding:18px 22px;border-radius:16px;min-width:235px}.hero-chip>span{font-size:35px}.hero-chip small,.hero-chip b{display:block}.hero-chip small{font-size:11px;color:var(--muted)}.hero-chip b{font:700 16px Manrope;margin:3px 0}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg,#1a1d23,#14171c);padding:22px;min-width:0}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.card h2{font:700 20px Manrope;margin:0;letter-spacing:-.4px}.icon-round{width:38px;height:38px;border-radius:12px;background:#272d37;color:#e3e7ed;display:grid;place-items:center;font-size:20px;flex:none}.icon-round.gold{background:#3a3018;color:var(--gold)}.muted{color:var(--muted);line-height:1.55;font-size:13px}.profile-form{margin-top:20px}.profile-form label,.transfer-card label,.bet-dialog label{display:block;font-size:12px;color:#c9cdd5;font-weight:700;margin-bottom:8px}.input-row{display:flex;gap:8px}.input-row input,.amount-input input,.date-wrap input{width:100%;background:#0f1115;border:1px solid #363b45;color:var(--text);border-radius:10px;padding:12px 13px;outline:none;min-width:0}.input-row input:focus,.amount-input input:focus,.date-wrap input:focus{border-color:#cba33d;box-shadow:0 0 0 3px #f4c44e17}.btn{border:1px solid #373d47;border-radius:10px;padding:11px 14px;font-weight:700;font-size:12px;white-space:nowrap;color:#f6f7f9;background:#252a32;transition:transform .15s,filter .15s}.btn:hover{filter:brightness(1.12)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:#f2c34e;color:#17130a;border-color:#f2c34e}.btn-gold{background:linear-gradient(110deg,#f8d66e,#dba126);border-color:#f8d66e;color:#17130a}.btn-ghost{background:transparent}.full{width:100%;margin-top:16px}.profile-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.profile-info>div{padding:12px;background:#101217;border:1px solid #292e36;border-radius:11px;display:flex;flex-direction:column;gap:6px}.profile-info b{font:700 16px Manrope;overflow-wrap:anywhere}.profile-info .muted{font-size:11px}.balance-tile{grid-column:1/-1;border-color:#59471e!important;background:#221d12!important}.balance-tile b{font-size:24px;color:var(--gold)}.balance-tile small{font-size:11px;color:var(--muted)}.hidden{display:none!important}.amount-input{display:flex;align-items:center;background:#0f1115;border:1px solid #363b45;border-radius:10px;padding-right:12px}.amount-input input{border:0;background:transparent;font:800 23px Manrope;box-shadow:none!important}.amount-input span{font-size:10px;font-weight:800;color:var(--gold);white-space:nowrap}.fee-preview{display:grid;grid-template-columns:1fr auto;gap:8px 14px;background:#101217;border:1px solid #2b3039;border-radius:11px;padding:13px 14px;margin-top:13px;font-size:12px;color:var(--muted)}.fee-preview b{color:#f5f5f5;font:700 13px Manrope;text-align:right}.fee-preview b:last-child{color:var(--gold)}.tiny{font-size:10px;line-height:1.5;color:#888f9a;margin:11px 0 0}.message{font-size:12px;line-height:1.5;margin-top:12px;min-height:0}.message:empty{display:none}.message.success{color:var(--green)}.message.error{color:var(--red)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:42px 0 16px}.section-head h2{font:700 25px Manrope;margin:0;letter-spacing:-.7px}.date-wrap{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.date-wrap input{width:auto;padding:8px 10px}.notice{border:1px solid #6c5526;background:#211b10;color:#e9d69d;padding:13px 16px;border-radius:12px;font-size:12px;margin-bottom:15px;line-height:1.6}.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.match-card{padding:18px}.match-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.league{font-size:10px;color:#9da4af;letter-spacing:.5px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-state{font-size:10px;color:#bfc4cd;background:#252a32;border-radius:30px;padding:5px 8px;white-space:nowrap}.teams{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:8px;margin:0 0 18px}.team{text-align:center;min-width:0}.team img{width:34px;height:34px;object-fit:contain;display:block;margin:0 auto 9px}.team-name{font:700 13px Manrope;display:block;min-height:34px;overflow-wrap:anywhere}.versus{text-align:center;color:#626976;font:800 11px Manrope}.kickoff{text-align:center;font-size:10px;color:var(--muted);margin-top:7px}.odds-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.odd-btn{background:#232832;border:1px solid #343b47;color:#f4f5f7;border-radius:9px;padding:10px 5px;min-width:0}.odd-btn:hover{border-color:var(--gold);background:#302a1b}.odd-btn small{display:block;color:#aeb4bf;font-size:10px;margin-bottom:5px}.odd-btn b{font:800 15px Manrope;color:var(--gold)}.odd-btn:disabled{opacity:.35;cursor:not-allowed}.odds-note{color:#818894;font-size:9px;margin-top:10px}.loading,.empty-state{padding:28px;color:var(--muted);text-align:center}.history-card{padding:0;overflow:hidden}.bet-row{display:grid;grid-template-columns:1.4fr 1fr .7fr .7fr;gap:12px;align-items:center;padding:15px 20px;border-bottom:1px solid #2b3038;font-size:12px}.bet-row:last-child{border-bottom:0}.bet-row b,.bet-row span{display:block}.bet-row .sub{color:var(--muted);font-size:10px;margin-top:4px}.status-tag{display:inline-block;border-radius:30px;padding:5px 8px;background:#292e37;color:#c4cad3;font-size:10px}.status-tag.won{background:#163324;color:var(--green)}.status-tag.lost{background:#381d22;color:var(--red)}.status-tag.refunded{background:#282a35;color:#d1c9ff}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}.rules-grid .card{padding:19px}.rule-icon{font-size:22px}.rules-grid h3{font:700 14px Manrope;margin:12px 0 7px}.rules-grid p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}footer{display:flex;justify-content:space-between;gap:15px;padding:26px 4px 10px;color:#777e89;font-size:10px}.bet-dialog{border:1px solid #414650;border-radius:18px;background:#191c22;color:var(--text);padding:25px;width:min(440px,calc(100% - 30px));box-shadow:0 30px 100px #000b}.bet-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.bet-dialog h2{font:700 21px Manrope;margin:0 0 8px}.dialog-close{float:right;background:transparent;border:0;color:#b8bec8;font-size:27px}.bet-dialog .amount-input{margin-top:8px}
@media(max-width:800px){.welcome{align-items:flex-start;flex-direction:column;padding-top:20px}.hero-chip{min-width:0}.account-grid{grid-template-columns:1fr}.match-grid{grid-template-columns:1fr}.rules-grid{grid-template-columns:1fr}.section-head h2{font-size:22px}.bet-row{grid-template-columns:1.2fr 1fr .7fr}.bet-row>*:last-child{display:none}.topbar{padding:0 14px}.layout{padding:22px 14px}.header-right{gap:6px}.pill{display:none}.brand{font-size:15px}.brand small{font-size:8px}.welcome h1{letter-spacing:-1px}}

.match-hot{border-color:#e45b22;box-shadow:0 0 0 1px #e45b2244,0 10px 30px #e45b2218}.match-hot .match-state{background:#4a2117;color:#ff9a67;font-weight:800}.probability-label{font-size:10px;color:var(--muted);margin-top:13px;margin-bottom:6px}.probability-bar{display:flex;height:22px;border-radius:7px;overflow:hidden;font-size:10px;font-weight:800;color:#fff}.probability-bar span{display:flex;align-items:center;justify-content:center;min-width:0;white-space:nowrap}.probability-bar span:nth-child(2){color:#17130a}


/* Refonte MegaGames Pronos — interface sportsbook moderne, sans reprendre une marque tierce */
:root{--bg:#07131b;--panel:#10212b;--panel2:#142a35;--line:#25404b;--text:#f4f8f9;--muted:#9eb1b9;--gold:#f5c84c;--green:#20c997;--green-dark:#0e8b65;--red:#ff6b73;--blue:#4ea3ff}
body{background:radial-gradient(ellipse at 50% -20%,#1d3b45 0%,#07131b 52%,#050c11 100%);color:var(--text);font-family:Inter,Manrope,system-ui,sans-serif}
.topbar{height:74px;background:#07131bf2;border-bottom:1px solid #1d343e;backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}
.brand-mark{background:linear-gradient(145deg,#f5d875,#d89c20);color:#101820;border-radius:10px;box-shadow:0 4px 16px #f5c84c22}
.brand b{color:var(--green)}
.brand small{letter-spacing:1.2px}
.layout{max-width:1240px;padding-top:30px}
.welcome{padding:32px 34px;border:1px solid #2b4b55;border-radius:20px;background:linear-gradient(112deg,#12313b 0%,#10252f 48%,#162c31 100%);box-shadow:0 20px 55px #0002;position:relative;overflow:hidden}
.welcome:after{content:"⚽";position:absolute;right:10%;top:-45px;font-size:190px;opacity:.055;transform:rotate(-18deg);pointer-events:none}
.welcome h1{font-size:clamp(32px,4vw,49px);line-height:1.02;letter-spacing:-1.8px}
.welcome h1 span{color:var(--green)}
.eyebrow{color:#75dcb9;letter-spacing:1.5px;font-size:10px;font-weight:900}
.hero-chip{background:#071a22;border:1px solid #31535c;border-radius:15px}
.card{background:linear-gradient(180deg,#11232d,#0d1d26);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 25px #0002}
.account-grid{gap:18px;margin-top:20px}
.account-card,.transfer-card{padding:23px}
.card-head h2{font-size:20px;letter-spacing:-.4px}
input,select,textarea{background:#071820!important;border:1px solid #2a4650!important;border-radius:10px!important;color:#f5fafb!important}
input:focus,select:focus,textarea:focus{outline:2px solid #20c99744;border-color:var(--green)!important}
.btn{border-radius:10px;font-weight:800;transition:transform .15s,filter .15s,background .15s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.btn-primary{background:var(--green);color:#06241b}
.btn-gold{background:linear-gradient(120deg,#ffe17a,#e7b536);color:#1b241c;border:0}
.btn-ghost{background:#172d37;border:1px solid #2d4a55;color:#e7f0f2}
.pill.live{background:#123a30;color:#6be5b6;border:1px solid #276b56}
.pill.demo{background:#382b16;color:#ffd877;border:1px solid #6d5522}
.balance-tile{background:linear-gradient(135deg,#1c3c3b,#112d31);border:1px solid #2a6558;border-radius:12px}
.balance-tile b{color:#69e8b8}
.section-head{margin-top:38px}
.section-head h2{font-size:26px;letter-spacing:-.8px}
.date-wrap{background:#10232c;padding:6px 8px 6px 12px;border:1px solid var(--line);border-radius:11px}
.date-wrap input{border:0!important;background:transparent!important}
.notice{background:#332a16;border-color:#6b5625;color:#ffe4a0}
.match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.match-card{padding:0;overflow:hidden;position:relative;transition:transform .18s,border-color .18s,box-shadow .18s}
.match-card:hover{transform:translateY(-2px);border-color:#42636b;box-shadow:0 15px 35px #0003}
.match-top{padding:15px 18px;margin:0;background:#142a34;border-bottom:1px solid #25404b}
.league{color:#a7c2cb;font-weight:800;letter-spacing:.9px}
.match-state{background:#1b343d;color:#c5d7dd;font-weight:700}
.teams{padding:22px 20px 8px;margin:0}
.team-name{font-size:15px;line-height:1.35;display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;flex-wrap:wrap}.team-label{overflow-wrap:anywhere}.inline-score{flex:none}
.versus{background:#203943;border-radius:7px;padding:7px 0;color:#b7cbd1}
.kickoff{margin:5px 0 17px;color:#8ba6af;font-size:11px}
.odds-row{padding:0 16px 16px;gap:9px}
.odd-btn{min-height:64px;background:#172d37;border:1px solid #2c4a55;border-radius:10px;padding:10px 8px;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.odd-btn small{font-size:10px;color:#bdd0d5;font-weight:700}
.odd-btn b{color:#fff;font-size:17px}
.odd-btn:hover{background:#1d3b45;border-color:#5d9d8e;transform:translateY(-1px)}
.odd-btn.is-selected{background:linear-gradient(145deg,#0f805f,#12694f);border:2px solid #43e3a7;box-shadow:0 0 0 2px #20c99724,0 0 22px #20c99724;color:#fff}
.odd-btn.is-selected small,.odd-btn.is-selected b{color:#fff}
.odd-btn.is-selected:after{content:"✓ Sélectionné";display:block;font-size:9px;font-weight:900;color:#b7ffe2;margin-top:4px}
.odd-btn:disabled{filter:grayscale(.4);opacity:.38;cursor:not-allowed}
.probability-label{padding:0 18px}
.probability-bar{margin:0 18px 14px;height:24px;border-radius:6px}
.odds-note{padding:0 18px 15px;margin:0;color:#829aa3}
.match-hot{border-color:#e76540;box-shadow:0 0 0 1px #e7654040,0 12px 30px #e7654012}
.match-hot .match-top{background:linear-gradient(100deg,#47251f,#192b32)}
.match-hot .match-state{background:#5a2b20;color:#ffb092}
#withdrawCard,#comboCard{margin-top:18px;padding:23px}
#comboCard{border-color:#2d6255;background:linear-gradient(180deg,#112a30,#0d1d26)}
#comboSelections{display:grid;gap:8px}
#comboSelections>div{background:#0a1b23;border:1px solid #2a4650;padding:10px 12px;border-radius:9px;color:#c7d9de}
#comboSelections button{margin-left:8px;padding:5px 8px}
.check{display:flex;align-items:center;gap:10px;margin:16px 0;color:#d8e5e8}
.check input{accent-color:var(--green);width:18px;height:18px}
.amount-input{background:#071820;border-color:#2a4650;border-radius:11px}
.amount-input input{background:transparent!important}
.fee-preview{background:#0a1b23;border-color:#25404b;border-radius:11px}
.fee-preview b:last-child{color:var(--green)}
.history-card{background:#10212b}
.bet-row{border-color:#223d47}
.status-tag{background:#203740;color:#d4e2e5}
.status-tag.won{background:#12412f;color:#6de6b7}
.status-tag.lost{background:#4a2028;color:#ff9299}
.rules-grid .card{background:#10212b}
footer{border-top:1px solid #203a44;margin-top:34px}
.bet-dialog{background:#10232c;border-color:#34515b;color:var(--text)}
.bet-dialog .fee-preview{margin-bottom:15px}
.bet-dialog .amount-input{margin-bottom:14px}
.full{width:100%}
@media(max-width:800px){.welcome{padding:24px 20px}.welcome:after{right:-20px;font-size:130px}.account-card,.transfer-card,#withdrawCard,#comboCard{padding:17px}.match-grid{grid-template-columns:1fr}.match-top{padding:13px 14px}.odds-row{padding:0 12px 13px;gap:6px}.odd-btn{min-height:61px}.odd-btn b{font-size:16px}.section-head{align-items:flex-start;flex-direction:column}.date-wrap{width:100%;justify-content:space-between}.date-wrap input{max-width:58%}}

/* Scores displayed directly beside team names for live matches */
.inline-score{display:inline-flex;align-items:center;justify-content:center;min-width:22px;margin-left:5px;padding:2px 6px;border-radius:6px;background:#153a30;border:1px solid #28795b;color:#70edbb;font:800 14px Manrope,sans-serif;vertical-align:middle}
.live-score-separator{display:inline-block;color:#ff6868;font:900 18px Manrope,sans-serif}

/* Tableau de score façon compteur : visible en direct et conservé après le coup de sifflet final. */
.match-state.state-live{background:#4b171d;color:#ff777f;border:1px solid #a8323d;font-weight:900;letter-spacing:.3px;box-shadow:0 0 12px #e3314528}
.match-state.state-finished{background:#252a32;color:#b9c0ca;border:1px solid #464d58;font-weight:900}
.teams-live,.teams-finished{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:8px}
.teams-live .team-name,.teams-finished .team-name{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:nowrap;min-height:48px}
.score-counter{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:44px;border-radius:7px;background:#05080d;border:2px solid #aeb8c6;color:#f7fbff;font:900 29px/1 Manrope,Arial,sans-serif;text-shadow:0 1px 2px #fff5;box-shadow:inset 0 0 0 2px #202936,0 2px 8px #0008}
.score-dash{display:inline-flex;align-items:center;justify-content:center;color:#e8edf4;font:900 24px Manrope,sans-serif}
.teams-live .team-name .team-label,.teams-finished .team-name .team-label{font-weight:900}
.score-counter.score-winner{background:linear-gradient(180deg,#164a39,#0b2b22);border-color:#58f0b4;color:#a6ffdc;text-shadow:0 0 10px #48ffb5;box-shadow:inset 0 0 0 2px #22664f,0 0 14px #35e7a477}
.team-winner .team-label{color:#9dffd5;text-shadow:0 0 10px #2de49a55}
.team-winner img{filter:drop-shadow(0 0 7px #43efae99)}
.teams-finished .score-counter:not(.score-winner){border-color:#59616e;color:#9aa3b0;background:#10141a;box-shadow:inset 0 0 0 2px #202630}
@media(max-width:620px){.score-counter{width:31px;height:39px;font-size:25px}.teams-live,.teams-finished{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:4px}.teams-live .team-name,.teams-finished .team-name{gap:4px}.team-label{font-size:12px}}

/* Cartons rouges à côté du nom de l'équipe */
.red-card{display:inline-block;flex:none;width:9px;height:13px;border-radius:2px;background:linear-gradient(145deg,#ff5555,#c90018);border:1px solid #ff9a9a;box-shadow:0 0 7px #ff1e3c66;vertical-align:middle}
.teams-live .red-card,.teams-finished .red-card{width:10px;height:15px}

/* Interface sportsbook : filtres sports, fiche détaillée et animations de score */
.sport-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 16px}.sport-filter{border:1px solid #2a4650;background:#10232c;color:#c9d9de;border-radius:999px;padding:10px 15px;font-weight:800;font-size:12px}.sport-filter.active{background:#20c997;color:#06241b;border-color:#20c997}.sport-filter.admin-link{margin-left:auto;color:#f5c84c}.match-card{cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}.match-card:hover{border-color:#3d7b7d;transform:translateY(-2px);box-shadow:0 14px 30px #0003}.match-card .odd-btn{cursor:pointer}.match-state.state-live{background:#4b1c24;color:#ff7f8b;animation:livePulse 1.5s infinite}.match-state.state-finished{background:#123a30;color:#68e5b6}.score-counter{display:inline-grid;place-items:center;min-width:29px;height:34px;padding:0 7px;margin-left:7px;border:2px solid #8fa4ad;border-radius:5px;background:#050b10;color:#fff;font:900 22px Manrope;box-shadow:0 0 10px #d9f7ff20;vertical-align:middle}.score-counter.score-winner{border-color:#52edb0;color:#a6ffdc;background:#0b2b22;box-shadow:0 0 15px #20c99744}.score-pop{animation:scorePop .65s cubic-bezier(.2,.8,.2,1)}.team-label{display:inline}.red-card{display:inline-block;width:8px;height:12px;border-radius:2px;background:#f33b48;border:1px solid #ffabb0;box-shadow:0 0 6px #ff394b66;margin-left:3px;vertical-align:middle}.detail-dialog{width:min(720px,calc(100% - 24px));max-height:85vh;overflow:auto;border:1px solid #31515b;border-radius:20px;background:#0d2029;color:#f5fafb;padding:26px;box-shadow:0 35px 100px #000b}.detail-dialog::backdrop{background:#02070bc9;backdrop-filter:blur(5px)}.detail-dialog h2{font:800 clamp(20px,4vw,30px) Manrope;margin:0 0 10px}.detail-dialog h2 span{color:#6c858e;font-size:.7em}.detail-status{font-size:12px;color:#9fb6bd}.detail-score{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:14px;padding:22px;margin:18px 0;background:#071820;border:1px solid #294650;border-radius:15px}.detail-score>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.detail-score strong{font:900 38px Manrope;background:#02080c;border:2px solid #6f8790;border-radius:7px;padding:4px 12px}.detail-score>div:first-child strong{border-color:#20c997;box-shadow:0 0 15px #20c99733}.detail-score>span{text-align:center;color:#71909a;font-size:20px}.detail-score b{width:100%;text-align:center}.detail-score small{color:#ff6571}.detail-dialog h3{font:800 16px Manrope}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-row{display:flex;justify-content:space-between;gap:10px;padding:11px 13px;background:#132d37;border:1px solid #274650;border-radius:8px;font-size:12px}.stat-row span{color:#9eb4bb}.goal-flash{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(ellipse,#20c99766,#06131bd9 65%);transition:opacity .2s}.goal-flash.show{opacity:1;visibility:visible;animation:goalFlash .5s ease-out}.goal-flash span{font:1000 clamp(44px,10vw,112px)/1 Manrope;text-align:center;color:#fff;text-shadow:0 0 10px #fff,0 0 35px #20c997,0 8px 0 #087e63;transform:scale(.5);letter-spacing:-2px}.goal-flash.show span{animation:goalText .7s cubic-bezier(.12,.85,.2,1.2) forwards}.goal-flash.tennis{background:radial-gradient(ellipse,#4ea3ff66,#06131bd9 65%)}.goal-flash.basketball{background:radial-gradient(ellipse,#f5a74266,#06131bd9 65%)}
@keyframes scorePop{0%{transform:scale(1);color:#fff}35%{transform:scale(1.55);color:#9effcf;border-color:#20c997;box-shadow:0 0 30px #20c997aa}100%{transform:scale(1);color:#fff}}
@keyframes goalFlash{0%{opacity:0}20%{opacity:1}100%{opacity:1}}
@keyframes goalText{0%{transform:scale(.4) rotate(-5deg)}65%{transform:scale(1.12) rotate(1deg)}100%{transform:scale(1)}}
@keyframes livePulse{50%{box-shadow:0 0 0 4px #ff6b7320}}
@media(max-width:650px){.sport-filter{padding:9px 11px}.sport-filter.admin-link{margin-left:0}.detail-dialog{padding:18px}.detail-score{gap:6px;padding:12px}.detail-score strong{font-size:30px;padding:3px 8px}.stats-grid{grid-template-columns:1fr}.score-counter{min-width:25px;height:29px;font-size:18px}}

/* MegaGames Pronos — deep-blue sportsbook redesign */
:root{color-scheme:dark;--bg:#030b1b;--panel:#071832;--panel2:#0c2142;--line:#153d76;--text:#f4f8ff;--muted:#9fb5d5;--gold:#ffd84a;--gold2:#f3a51b;--green:#3ff0b0;--red:#ff4d65;--blue:#087cff;--blue2:#064fc9;--radius:15px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 48% -12%,#0c3d85 0,transparent 42%),linear-gradient(180deg,#020817,#04122b 70%,#020817);color:var(--text);font:14px 'DM Sans',sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
.topbar{height:74px;border-bottom:1px solid #1250a0;display:flex;align-items:center;gap:24px;justify-content:space-between;padding:0 clamp(16px,2.4vw,42px);background:rgba(2,10,27,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(18px);box-shadow:0 8px 32px #0005}.brand{display:flex;gap:12px;align-items:center;font:800 18px Manrope,sans-serif;letter-spacing:-.5px;min-width:240px}.brand b{color:#54baff}.brand small{display:block;color:#7fa6db;font:700 8px 'DM Sans';letter-spacing:1.5px;margin-top:3px}.brand-mark{width:43px;height:43px;border-radius:50%;background:linear-gradient(145deg,#ffd84a,#ff9c13);color:#071a3b;display:grid;place-items:center;font:900 24px Manrope;box-shadow:0 0 18px #1488ff88;border:2px solid #ffe98b}.top-nav{display:flex;align-items:center;gap:8px;flex:1}.top-nav a{padding:12px 15px;border:1px solid transparent;border-radius:12px;color:#c6d8f5;font-weight:700;white-space:nowrap}.top-nav a:hover,.top-nav a.active{background:linear-gradient(135deg,#087cff,#0649bf);border-color:#36a5ff;color:#fff;box-shadow:0 0 20px #087cff55}.header-right{display:flex;gap:10px;align-items:center}.pill{border:1px solid #174985;border-radius:30px;padding:7px 11px;background:#071b3b;color:#d9eaff}.btn{border:1px solid #20518f;border-radius:9px;padding:10px 14px;color:#fff;background:#10294d;font-weight:700;transition:.15s}.btn:hover{filter:brightness(1.2);transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#128cff,#0755d8);border-color:#35a8ff}.btn-gold{background:linear-gradient(135deg,#087cff,#064cc4);border-color:#2f9fff;color:#fff}.btn-ghost{background:#081b37;border-color:#1c477e}.full{width:100%}
.layout{width:min(1740px,100%);margin:0 auto;padding:20px clamp(12px,1.6vw,28px) 35px}.dashboard-grid{display:grid;grid-template-columns:220px minmax(480px,1fr) 330px;gap:16px;align-items:start}.left-sidebar,.right-sidebar{display:flex;flex-direction:column;gap:14px;min-width:0}.main-column{min-width:0}.side-nav,.side-panel,.side-live-card,.top-bets-card,.card{background:linear-gradient(145deg,rgba(8,27,58,.97),rgba(4,17,39,.98));border:1px solid #17447f;border-radius:15px;box-shadow:0 10px 30px #0003,inset 0 1px #ffffff08}.side-nav{padding:9px;display:flex;flex-direction:column;gap:5px}.side-link{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:10px;color:#c4d8f5;font-weight:700;font-size:14px}.side-link:hover,.side-link.active{background:linear-gradient(100deg,#087cff,#0647b6);color:white;box-shadow:0 0 16px #087cff30}.side-link:first-letter{font-size:18px}.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff344e;box-shadow:0 0 9px #ff344e;vertical-align:middle;margin-left:5px}.side-panel{padding:13px}.side-panel h3,.side-card-title h3{font-size:15px;margin:0 0 12px;font-weight:800}.side-panel>a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;color:#d4e5ff}.side-panel>a:hover{background:#0b2d5c}.side-panel>a span{flex:1}.league-list{display:flex;flex-direction:column}.league-list span{padding:10px 3px;border-bottom:1px solid #15345c;color:#b6c9e5}.league-list span:last-child{border:0}
.welcome{margin:0 0 18px;padding:26px 30px;min-height:150px;border-radius:17px;border:1px solid #1689ff;background:radial-gradient(circle at 75% 10%,#126ce7 0,transparent 27%),linear-gradient(105deg,#062052,#0a3982 58%,#051633);box-shadow:0 0 25px #087cff22;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden}.welcome:after{content:'⚽  🏀  🎾';position:absolute;right:18px;bottom:14px;font-size:43px;opacity:.9;filter:drop-shadow(0 4px 10px #0008)}.welcome h1{font:800 clamp(24px,2.5vw,38px) Manrope,sans-serif;line-height:1.1;margin:4px 0 8px}.welcome h1 span{color:#6dc7ff}.welcome .lead{max-width:650px;color:#c3d8fa;margin:0;font-size:13px}.eyebrow{color:#56b7ff;letter-spacing:1.5px;font-size:10px;font-weight:800;margin:0 0 6px}.hero-chip{position:relative;z-index:1;background:#061a3acc;border:1px solid #2b8fff;border-radius:12px;padding:12px;display:flex;gap:10px;align-items:center;min-width:165px}.hero-chip>span{font-size:28px}.hero-chip small{display:block;color:#a9c7ef;font-size:10px}.hero-chip b{display:block;color:#fff}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.section-head h2{margin:0;font:800 21px Manrope,sans-serif}.section-head .eyebrow{margin-bottom:4px}.date-wrap{display:flex;align-items:center;gap:8px;color:#9db7da;font-size:11px}.date-wrap input{padding:8px;border-radius:8px;border:1px solid #1d4d89;background:#06152e;color:#fff}.sport-filters{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 12px;padding:8px;background:#06152c;border:1px solid #163f75;border-radius:14px}.sport-filter{border:1px solid #204b83;background:linear-gradient(145deg,#0e2a53,#081a37);border-radius:11px;color:#d7e7ff;padding:11px 15px;font-weight:800}.sport-filter.active,.sport-filter:hover{background:linear-gradient(135deg,#0c88ff,#0648be);border-color:#42b2ff;box-shadow:0 0 16px #087cff44;color:#fff}.sport-filter.admin-link{margin-left:auto;color:#80c9ff}.notice{background:#081f43;border:1px solid #225ba1;color:#bddbff;border-radius:10px;padding:12px;margin:10px 0;font-size:12px}.match-grid{display:flex;flex-direction:column;gap:9px}.match-card{padding:0;margin:0;background:linear-gradient(100deg,#0b1e3b,#071832 50%,#0a2042);border:1px solid #193d6d;border-radius:13px;overflow:hidden;cursor:pointer;transition:border-color .16s,transform .16s,box-shadow .16s;box-shadow:0 5px 16px #0002}.match-card:hover{border-color:#238dff;box-shadow:0 0 0 1px #087cff33,0 9px 22px #0004;transform:translateY(-1px)}.match-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px 0}.league{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#7fa9df;font-weight:800}.match-state{font-size:9px;letter-spacing:.4px;font-weight:900;border-radius:6px;padding:4px 7px;background:#112d51;color:#a9c8f3}.match-state.state-live{background:#541628;color:#ff8290;border:1px solid #b52d48}.match-state.state-finished{background:#103d32;color:#6ff0bc;border:1px solid #1a8c6a}.teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:9px 12px 11px}.team{display:flex;align-items:center;gap:9px;min-width:0;font-weight:800}.team:first-child{justify-content:flex-end;text-align:right}.team:last-child{justify-content:flex-start;text-align:left}.team img{width:28px;height:28px;object-fit:contain;border-radius:50%;background:#f4f8ff;padding:2px;flex:none}.team-name{display:flex;align-items:center;gap:7px;min-width:0}.team-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.versus{color:#7f9bc1;font-size:12px;font-weight:900;white-space:nowrap}.teams-live .versus,.teams-finished .versus{font-size:0}.score-dash{font-size:17px;color:#6cbbff}.score-counter{display:inline-grid;place-items:center;min-width:28px;height:32px;padding:0 6px;border:1px solid #4775a8;border-radius:6px;background:#020b1b;box-shadow:inset 0 0 8px #000;color:#fff;font:900 19px Manrope}.score-counter.score-winner,.team-winner .score-counter{border-color:#39f0b2;color:#9affd9;box-shadow:0 0 12px #00ffad45,inset 0 0 10px #00ffad18}.team-winner .team-label{color:#7effc8}.red-card{display:inline-block;width:7px;height:10px;background:#ff304d;border-radius:1px;box-shadow:0 0 5px #ff304d;flex:none}.kickoff{padding:0 12px 7px;color:#7694bb;font-size:10px}.odds-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(30px,.6fr) repeat(2,minmax(0,.8fr));gap:6px;padding:0 10px 10px}.odd-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:8px 6px;border:1px solid #31557e;border-radius:7px;background:linear-gradient(180deg,#183557,#102643);color:#fff;transition:.15s}.odd-btn small{font-size:10px;color:#91b2dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.odd-btn b{font-size:13px}.odd-btn:hover:not(:disabled),.odd-btn.selected{background:linear-gradient(135deg,#087cff,#0648c5);border-color:#3ba8ff;box-shadow:0 0 14px #087cff55}.odd-btn:disabled{opacity:.43;cursor:not-allowed}.probability-label{padding:0 12px 5px;font-size:9px;color:#8aa9d2}.probability-bar{display:flex;margin:0 10px 9px;height:15px;border-radius:5px;overflow:hidden;font-size:9px;color:#fff}.probability-bar span{display:grid;place-items:center;min-width:0;white-space:nowrap}.odds-note{padding:0 12px 9px;color:#6485af;font-size:9px}.match-hot{border-color:#f59e0b}.match-hot .match-top{background:linear-gradient(90deg,#6b351c55,transparent)}.is-live{border-left:3px solid #ff4057}.is-finished{border-left:3px solid #23d69a}
.right-sidebar .card{padding:0}.card{padding:16px;border-radius:15px;background:linear-gradient(145deg,#081b39,#06142c);border-color:#173f75}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.card-head h2{font-size:16px;margin:0;color:#f4f8ff}.card-head .eyebrow{font-size:9px}.muted{color:#9bb4d8}.tiny{color:#829dc1;font-size:10px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.account-card,.transfer-card{min-width:0}.profile-form label,#transferForm label,#withdrawForm label,#comboForm label{display:block;color:#aac2e6;font-size:11px;margin:10px 0 6px}.input-row{display:flex;gap:7px}.input-row input,input,select,textarea{background:#06142b;border:1px solid #214a7f;color:#fff;border-radius:8px;padding:10px;min-width:0}.input-row input{flex:1;width:0}.amount-input{display:flex;align-items:center;gap:8px;border:1px solid #25538c;background:#06142b;border-radius:9px;padding-right:10px}.amount-input input{flex:1;width:0;border:0;background:transparent}.amount-input span{font-size:9px;color:#65bfff;font-weight:900}.fee-preview{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin:10px 0;padding:10px;border-radius:8px;background:#071b38;color:#9db7dc;font-size:11px}.fee-preview b{color:#fff;text-align:right}.profile-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.profile-info>div{padding:10px;border:1px solid #1b477f;border-radius:8px;background:#071831}.profile-info span,.profile-info b,.profile-info small{display:block}.profile-info b{margin-top:5px}.balance-tile{grid-column:1/-1}.message{font-size:11px;color:#9fbce4;margin-top:8px}.message.error{color:#ff8392}.message.success{color:#62f0bd}.check{display:flex;gap:8px;align-items:center;color:#d4e6ff;font-size:12px}.right-sidebar .card-head{padding:14px;margin:0;border-bottom:1px solid #164176}.right-sidebar #comboCard>p,.right-sidebar #comboCard>label,.right-sidebar #comboCard>div:not(.card-head),.right-sidebar #comboCard>form{margin-left:12px;margin-right:12px}.right-sidebar #comboCard>p{font-size:11px}.right-sidebar #comboCard{padding-bottom:13px}.side-card-title{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid #17447f}.side-card-title h3{margin:0}.mini-live-list{padding:8px 12px}.mini-live-item{display:flex;align-items:center;gap:6px;padding:10px 0;border-bottom:1px solid #16355f;font-size:11px}.mini-live-item:last-child{border:0}.mini-live-item .mini-score{margin-left:auto;padding:4px 7px;background:#020b1c;border:1px solid #2d5c94;border-radius:6px;font-weight:900;white-space:nowrap}.top-bet-item{display:flex;gap:9px;align-items:center;padding:12px;border-bottom:1px solid #16355f;font-size:11px}.top-bet-item:last-child{border:0}.top-bet-item span:last-child{color:#c3d7f3}.below-dashboard{margin-top:24px}.below-dashboard>#withdrawCard{margin:14px 0}.history-head{margin-top:25px}.history-card{margin-top:10px}.history-period{font-size:11px}.bet-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;padding:13px;border-bottom:1px solid #193a65}.bet-row .sub{display:block;color:#91add4;font-size:10px;margin-top:5px}.status-tag{display:inline-block;padding:4px 7px;border-radius:6px;background:#112e54;color:#a9c8f3;font-size:10px}.rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.rules-grid .card{padding:15px}.rules-grid h3{margin:8px 0;font-size:13px}.rules-grid p{font-size:11px;color:#9bb4d8}.detail-dialog,.bet-dialog{background:#06152f;color:#f5f8ff;border:1px solid #2688ef;border-radius:17px;width:min(720px,calc(100vw - 24px));max-height:90vh;overflow:auto;box-shadow:0 20px 80px #000b}.detail-dialog::backdrop,.bet-dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}.detail-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:18px;background:#071e40;border:1px solid #1e5795;border-radius:12px}.detail-score>div{display:grid;gap:8px;text-align:center}.detail-score strong{font:900 42px Manrope}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-row{display:flex;justify-content:space-between;gap:10px;padding:10px;border-radius:8px;background:#0a2447;border:1px solid #17477e}.goal-flash{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#00102bd9;opacity:0;pointer-events:none;transform:scale(1.1);transition:opacity .2s,transform .2s}.goal-flash.show{opacity:1;transform:scale(1)}.goal-flash span{font:1000 clamp(42px,10vw,120px) Manrope,sans-serif;color:#fff;text-shadow:0 0 12px #19a5ff,0 0 45px #087cff;animation:goalPulse .5s ease-in-out infinite alternate}.goal-flash.basketball span{color:#ffcf6b;text-shadow:0 0 18px #ff8a00}.goal-flash.tennis span{color:#b9ff73;text-shadow:0 0 18px #6bff00}@keyframes goalPulse{from{transform:scale(.92) rotate(-2deg)}to{transform:scale(1.08) rotate(1deg)}}.score-pop{animation:scorePop .4s ease-out}@keyframes scorePop{0%{transform:scale(.65);color:#55baff}70%{transform:scale(1.28);color:#fff}100%{transform:scale(1)}}.red-card{box-shadow:0 0 6px #ff304d}footer{display:flex;justify-content:space-between;gap:12px;color:#7696c2;font-size:10px;padding:18px 0}
.hidden{display:none!important}.empty-state,.loading{padding:24px;text-align:center;color:#9db7dc}.admin-layout{max-width:1450px;margin:24px auto;padding:0 18px}.admin-match{background:#071b38;border-color:#1d4a84}.admin-form input,.admin-form select,.admin-form textarea{background:#06142b;border-color:#214a7f}.admin-match-controls input,.admin-match-controls select{background:#06142b;border-color:#214a7f}
@media(max-width:1250px){.dashboard-grid{grid-template-columns:185px minmax(0,1fr) 285px;gap:10px}.top-nav{gap:2px}.top-nav a{padding:10px 8px;font-size:12px}.brand{min-width:205px}.team{gap:5px}.team img{width:23px;height:23px}.odds-row{gap:4px}.odd-btn{padding:7px 3px}.odd-btn small{font-size:9px}}
@media(max-width:980px){.topbar{height:auto;min-height:66px;flex-wrap:wrap;padding:10px 14px;gap:8px}.brand{min-width:0}.top-nav{order:3;flex-basis:100%;overflow-x:auto}.header-right{margin-left:auto}.dashboard-grid{grid-template-columns:170px minmax(0,1fr)}.right-sidebar{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.right-sidebar #comboCard{grid-column:1/-1}.welcome{padding:20px}.welcome:after{font-size:30px}.hero-chip{display:none}}
@media(max-width:680px){.layout{padding:10px}.dashboard-grid{grid-template-columns:1fr}.left-sidebar{display:none}.main-column{grid-column:1}.right-sidebar{grid-column:1;display:flex}.welcome{min-height:130px;padding:18px}.welcome h1{font-size:25px}.welcome .lead{font-size:11px;max-width:85%}.section-head h2{font-size:18px}.sport-filters{gap:5px}.sport-filter{padding:9px 10px;font-size:11px}.sport-filter.admin-link{margin-left:0}.teams{gap:4px;padding:8px}.team{font-size:11px;gap:4px}.team img{width:21px;height:21px}.team-name{gap:4px}.score-counter{min-width:22px;height:27px;font-size:15px;padding:0 3px}.odds-row{grid-template-columns:repeat(3,minmax(0,1fr));}.odd-btn:nth-child(n+4){display:none}.account-grid,.rules-grid{grid-template-columns:1fr}.bet-row{grid-template-columns:1fr 1fr}.date-wrap{font-size:9px}.detail-score{gap:6px;padding:10px}.detail-score strong{font-size:32px}.stats-grid{grid-template-columns:1fr}.top-nav a{padding:8px 10px}.brand small{font-size:7px}}

/* MegaGames Pronos — refonte sportsbook bleu nuit */
:root{--bg:#020b1c;--panel:#071a37;--panel2:#0b2347;--line:#164e9a;--text:#f4f8ff;--muted:#a8bddb;--gold:#2d8cff;--gold2:#0567ff;--green:#39d6a2;--red:#ff3e50;--radius:15px}
body{background:radial-gradient(ellipse at 50% -15%,#123a82 0,transparent 42%),#020817;color:#f4f8ff;font-family:'Manrope','DM Sans',sans-serif}
.topbar{height:76px;background:rgba(2,10,28,.96);border-bottom:1px solid #0d4a9d;box-shadow:0 8px 30px #0006;position:sticky;top:0;z-index:30}
.brand{order:0;min-width:225px}.brand-mark{background:linear-gradient(145deg,#ffd45e,#e39a12);color:#06142c;border-radius:50%;font-weight:900}
.top-nav{order:1;display:flex;gap:8px}.header-right{order:2}
.top-nav a,.side-link,.sport-filter,.btn{border-radius:10px}
.top-nav a.active,.sport-filter.active,.btn-primary{background:linear-gradient(135deg,#168dff,#004be4)!important;border:1px solid #38a5ff!important;color:white!important;box-shadow:0 0 18px #006bff40}
.layout{max-width:1760px;padding:20px 18px 38px}
.sportsbook-banner{width:100%;min-height:160px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:26px 40px;margin:4px 0 20px;border:1px solid #1587ff;border-radius:20px;background:linear-gradient(110deg,#061c49 0%,#0756c7 47%,#061632 100%);box-shadow:inset 0 0 35px #158aff38,0 14px 36px #0005}
.sportsbook-banner:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 45px,#6dc2ff0b 46px 48px),radial-gradient(circle at 72% 40%,#27a8ff54,transparent 28%)}
.banner-copy,.banner-balls{position:relative;z-index:1}.banner-copy .eyebrow{color:#78c7ff;letter-spacing:.2em;font-weight:800}.banner-copy h1{font-size:clamp(26px,3vw,44px);margin:4px 0 8px;font-weight:900;font-style:italic}.banner-copy p:last-child{color:#d4e7ff;margin:0}.banner-balls{display:flex;align-items:center;gap:18px;font-size:clamp(42px,5vw,72px);filter:drop-shadow(0 8px 10px #0008)}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 16px}.account-card,.transfer-card,#withdrawCard{background:linear-gradient(140deg,#081b38,#06142a);border:1px solid #1455a0;box-shadow:0 10px 30px #0003}
#withdrawCard{margin:0 0 24px;padding:20px}.below-dashboard{margin-top:22px}
.dashboard-grid{grid-template-columns:230px minmax(0,1fr) 340px;gap:16px;align-items:start}
.left-sidebar{position:sticky;top:90px}.side-nav,.side-panel,.card{background:linear-gradient(155deg,#071a36,#061329);border-color:#123c73;box-shadow:0 9px 25px #0002}
.side-panel h3{color:#eaf4ff}.side-panel a,.championship-open{width:100%;display:flex;gap:10px;align-items:center;padding:12px;border-radius:10px;border:1px solid transparent;background:transparent;color:#e8f2ff;text-align:left;cursor:pointer}.championship-open:hover,.side-panel a:hover{background:#0b2a54;border-color:#167dff}.championship-open b{margin-left:auto;color:#65baff}.history-menu{margin-top:4px}
.main-column{min-width:0}.section-head{margin:10px 0 14px}.section-head h2{font-size:22px}.date-wrap input{background:#071a36;border:1px solid #1b559b;color:white}
.sport-filters{display:flex;flex-wrap:wrap;gap:9px;padding:10px;background:#06152d;border:1px solid #16457f;border-radius:14px;margin-bottom:12px}
.sport-filter{padding:10px 14px;background:#0a2144;border:1px solid #214d83;color:#e9f3ff;font-weight:800}.sport-filter.admin-link{margin-left:auto}
.match-grid{display:flex;flex-direction:column;gap:9px;margin-top:18px}
.match-row-card{position:relative;padding:13px 15px;background:linear-gradient(110deg,#0a1d3a,#07162c 55%,#0b2040);border:1px solid #163b68;border-radius:13px;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.match-row-card:hover{border-color:#2d9cff;box-shadow:0 0 18px #087aff25;transform:translateY(-1px)}
.match-row-card.is-live{border-color:#e52d48;box-shadow:inset 0 0 0 1px #e52d4833,0 0 15px #ff26381c;animation:live-border-pulse 1.5s infinite}
@keyframes live-border-pulse{0%,100%{box-shadow:inset 0 0 0 1px #e52d4822,0 0 8px #ff263812}50%{box-shadow:inset 0 0 0 1px #ff405c,0 0 19px #ff263844}}
.match-row-main{display:grid;grid-template-columns:100px minmax(180px,1fr) minmax(280px,1.45fr) 20px;gap:14px;align-items:center}
.match-time-status{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.match-time-status small{font-size:11px;color:#aac2e2}.match-state{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:900;letter-spacing:.05em;color:#b7d8ff;background:#102e59;border:1px solid #1c5798;border-radius:6px;padding:5px 7px;white-space:nowrap}.match-state.state-live{color:white;background:#e21f3d;border-color:#ff6476;animation:live-badge 1.2s infinite}.match-state.state-finished{background:#123d39;border-color:#217d6c;color:#7df0cb}
@keyframes live-badge{0%,100%{filter:brightness(1)}50%{filter:brightness(1.45)}}
.match-teams-stack{display:flex;flex-direction:column;gap:6px;min-width:0}.match-team-line{display:flex;align-items:center;gap:8px;min-width:0;min-height:25px}.match-team-line img{width:23px;height:23px;object-fit:contain}.match-team-line b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-team-line .score-counter{margin-left:auto;min-width:30px;text-align:center;padding:3px 6px;border-radius:6px;background:#030b19;border:1px solid #2e527d;font-size:18px;font-weight:900;color:#fff}.score-counter.score-winner{background:#07563f;border-color:#35f0b2;color:#8dffda;box-shadow:0 0 12px #17e5a955}.red-card-count{font-size:11px;display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.match-league{font-size:10px;color:#87a9d2;padding-left:30px}
.match-odds-grid{display:grid;gap:7px;align-items:stretch}.match-odds-grid.three-odds{grid-template-columns:repeat(3,minmax(0,1fr))}.match-odds-grid.two-odds{grid-template-columns:repeat(2,minmax(0,1fr))}
.odd-btn{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:9px 5px!important;background:linear-gradient(180deg,#18365c,#102748)!important;border:1px solid #365b86!important;border-radius:8px!important;color:#fff!important;text-align:center;box-shadow:inset 0 1px #ffffff12;transition:all .18s}.odd-btn small{display:block;max-width:100%;font-size:10px;color:#bcd5f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.odd-btn b{font-size:16px;line-height:1.1;font-weight:900;text-align:center}.odd-btn:hover:not(:disabled){border-color:#38aaff!important;background:#123d79!important}.odd-btn.is-selected{background:linear-gradient(140deg,#087fff,#003bce)!important;border:2px solid #65caff!important;box-shadow:0 0 0 2px #0b68ff45,0 0 20px #007aff8c!important;color:#fff!important}.odd-btn:disabled{opacity:.46;cursor:not-allowed}
.match-detail-arrow{background:transparent;color:#7dbbff;border:0;font-size:28px}.match-probability{display:flex;align-items:center;gap:12px;margin:10px 4px 0 114px}.probability-track{display:flex;overflow:hidden;height:6px;flex:1;border-radius:99px;background:#10284b}.prob-segment{display:block;height:100%}.prob-0{background:#167aff}.prob-1{background:#f4b526}.prob-2{background:#21b87c}.probability-values{display:flex;gap:10px;font-size:10px;color:#b6d1f3}.probability-values b{font-weight:800}
.right-sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:14px}.ticket-card{border:1px solid #167bff;background:linear-gradient(160deg,#071c40,#061329)}.ticket-count{background:#0b6eff;border-radius:99px;padding:3px 9px;font-size:12px;font-weight:900}.ticket-type-label{font-size:10px;color:#75baff;font-weight:900;letter-spacing:.15em;padding:10px 0}.ticket-lines{display:flex;flex-direction:column;gap:9px;max-height:420px;overflow:auto}.ticket-empty{min-height:155px;border:1px dashed #244d80;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#b8cce6;text-align:center}.ticket-empty:first-line{font-size:32px}.ticket-empty b{color:#fff}.ticket-empty span{font-size:12px}.ticket-leg{background:#0a2246;border:1px solid #204d82;border-radius:10px;padding:10px}.ticket-leg-top,.ticket-leg-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.ticket-leg-top{font-size:10px;color:#70b8ff}.ticket-remove{border:0;background:transparent;color:#ff8492;font-size:20px}.ticket-leg>strong{display:block;font-size:13px;margin:7px 0}.ticket-leg>strong span{color:#6aa8e7;font-size:10px}.ticket-pick{font-size:12px;color:#d6e9ff}.ticket-leg-bottom{border-top:1px solid #1b3c65;margin-top:8px;padding-top:7px;font-size:11px}.ticket-leg-bottom b{font-size:15px;color:#73c2ff}.ticket-card .fee-preview{display:grid;grid-template-columns:1fr auto;gap:8px}.ticket-card .fee-preview b{text-align:right;color:#8dcfff}
.side-live-card,.top-bets-card{border:1px solid #164e91}.mini-live-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center;padding:10px 0;border-bottom:1px solid #173456;font-size:11px}.mini-score{font-size:13px;white-space:nowrap;color:white}.top-bet-item{border-bottom:1px solid #173456;padding:10px 0;color:#d9e9ff}
.below-dashboard{margin-top:28px}.history-head{margin-top:28px}.history-card{border:1px solid #164b88}.rules-grid{margin-top:18px}
.bet-dialog,.detail-dialog,.championship-dialog{background:#06152d;color:#f4f8ff;border:1px solid #268dff;border-radius:18px;box-shadow:0 30px 120px #000c}.bet-dialog::backdrop,.detail-dialog::backdrop,.championship-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.detail-dialog{width:min(1000px,96vw);max-width:96vw;height:min(94vh,1000px);max-height:94vh;overflow:auto;padding:28px;background:linear-gradient(145deg,#071a37,#030b1b)}.detail-dialog[open]{animation:detail-in .2s ease-out}@keyframes detail-in{from{transform:translateY(10px);opacity:.6}to{transform:none;opacity:1}}
.detail-score{display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;gap:20px;margin:25px 0;padding:25px;background:#0a2144;border:1px solid #1b5595;border-radius:16px;text-align:center}.detail-score>div{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.detail-score strong{font-size:48px;font-weight:900;background:#020918;border:2px solid #315987;border-radius:12px;padding:6px 18px}.detail-score .score-winner{border-color:#31f0b0;color:#8affd8;box-shadow:0 0 18px #2cf2b477}.detail-odds{display:grid;gap:12px;margin:20px 0}.detail-odds.three-odds{grid-template-columns:repeat(3,1fr)}.detail-odds.two-odds{grid-template-columns:repeat(2,1fr)}.detail-odds>div{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px;border:1px solid #2b5c92;border-radius:10px;background:#0b2448}.detail-odds b{font-size:23px;font-weight:900}.detail-prob{height:10px}.match-events{margin:24px 0;padding-left:12px}.match-event{position:relative;display:grid;grid-template-columns:45px 24px 1fr auto;align-items:center;gap:10px;padding:10px 0 10px 18px;border-left:2px solid #6b7f99}.match-event i{position:absolute;width:8px;height:8px;background:#9aadc3;border-radius:50%;left:-5px}.match-event time{color:#a6c9ef;font-weight:900}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-row{padding:12px;background:#0a2144;border:1px solid #173d6b;border-radius:9px;display:flex;justify-content:space-between}
.championship-dialog{width:min(700px,94vw);max-width:94vw;max-height:90vh;padding:28px;overflow:auto}.championship-dialog h2{font-size:28px}.championship-tabs{display:flex;gap:8px;margin:20px 0}.championship-tabs button{flex:1;padding:12px;border-radius:10px;background:#0a2144;border:1px solid #234e80;color:white;font-weight:800}.championship-tabs button.active{background:#075eff;border-color:#51b5ff}.championship-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.championship-option{display:flex;align-items:center;gap:12px;padding:14px;background:#0a2144;color:#eff7ff;border:1px solid #214e83;border-radius:10px;text-align:left}.championship-option span:last-child{margin-left:auto;color:#61b7ff}.championship-option:hover{border-color:#3aa9ff;background:#0d2f60}
.goal-flash{z-index:1000}
@media(max-width:1250px){.dashboard-grid{grid-template-columns:200px minmax(0,1fr)}.right-sidebar{position:static;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.match-row-main{grid-template-columns:86px minmax(140px,1fr) minmax(220px,1.4fr) 18px}.match-probability{margin-left:100px}}
@media(max-width:850px){.topbar{height:auto;min-height:65px;flex-wrap:wrap;padding:10px}.top-nav{order:3;width:100%;overflow:auto}.brand{min-width:0}.layout{padding:10px}.sportsbook-banner{padding:20px;min-height:135px}.banner-balls{font-size:36px;gap:4px}.account-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.left-sidebar{position:static}.side-nav{display:flex;overflow:auto}.side-link{white-space:nowrap}.left-sidebar .side-panel{display:none}.main-column{min-width:0}.right-sidebar{grid-column:auto;grid-template-columns:1fr}.match-row-main{grid-template-columns:72px minmax(110px,1fr);gap:9px}.match-odds-grid{grid-column:1/-1}.match-detail-arrow{display:none}.match-probability{margin-left:0}.match-team-line b{font-size:12px}.match-team-line .score-counter{font-size:15px}.championship-options{grid-template-columns:1fr}.detail-score{grid-template-columns:1fr 25px 1fr;gap:6px;padding:12px}.detail-score strong{font-size:32px;padding:4px 10px}.stats-grid{grid-template-columns:1fr}}

/* Dialogues de navigation et fiche match en plein écran */
.championship-dialog{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0;margin:0;padding:clamp(20px,5vw,64px);box-sizing:border-box}
.championship-dialog[open],.detail-dialog[open]{position:fixed;inset:0}
.detail-dialog{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;margin:0;padding:clamp(20px,5vw,64px)}
.detail-status{text-align:center;font-size:16px;font-weight:900;margin:18px auto;padding:12px;border:1px solid #23548b;border-radius:10px;background:#091e3d;max-width:520px}
.match-row-card.goal-hit:after{content:attr(data-goal-label);position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;font-size:clamp(22px,4vw,48px);font-weight:1000;font-style:italic;letter-spacing:.06em;color:#fff;text-shadow:0 0 8px #ff173a,0 0 28px #ff173a;background:linear-gradient(100deg,#e5002bde,#ff1744bd,#e5002bde);border-radius:13px;pointer-events:none;animation:goal-overlay-pop 2.35s ease forwards}
@keyframes goal-overlay-pop{0%{opacity:0;transform:scale(.88)}12%,75%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.03)}}

/* Tableau de score tennis */
.tennis-live-board{margin:18px 0;padding:16px;border:1px solid #1d67ce;border-radius:14px;background:linear-gradient(135deg,#071a38,#0b2b57);box-shadow:inset 0 0 24px #0b3c7933}
.tennis-board-title,.tennis-board-row{display:grid;grid-template-columns:minmax(130px,2fr) repeat(4,minmax(48px,.65fr)) minmax(66px,.85fr);gap:6px;align-items:center}
.tennis-board-title{padding:0 8px 10px;color:#86baff;font-size:11px;font-weight:800;letter-spacing:.08em;text-align:center}
.tennis-board-title span:first-child{text-align:left}
.tennis-board-row{padding:10px 8px;border-top:1px solid #214777;color:#f4f8ff}
.tennis-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tennis-set-score{display:block;text-align:center;padding:8px 4px;border-radius:7px;background:#102b50;border:1px solid #294f7e;font-size:17px}
.tennis-set-score.current-set,.tennis-board-title .current-set{border-color:#168bff;background:#0d4da2;color:#fff;box-shadow:0 0 10px #087cff77}
.tennis-current-point{display:block;text-align:center;padding:8px 4px;border-radius:7px;background:#061126;border:1px solid #278dff;color:#80c3ff;font-size:20px;font-weight:900}
.tennis-board-note{margin:10px 4px 0;color:#9eb8d8;font-size:11px}
.tennis-mini-sets{display:inline-flex;gap:3px;margin-left:auto}
.tennis-mini-sets i{font-style:normal;min-width:20px;text-align:center;padding:3px 4px;background:#102b50;border:1px solid #294f7e;border-radius:4px;font-size:11px}
.tennis-mini-sets i.current-set{border-color:#168bff;color:#fff;background:#0d4da2}
.tennis-mini-point{min-width:32px;text-align:center;margin-left:5px;color:#80c3ff;font-size:14px}
@media(max-width:600px){.tennis-live-board{padding:8px}.tennis-board-title,.tennis-board-row{grid-template-columns:minmax(80px,1.5fr) repeat(4,minmax(28px,.55fr)) minmax(42px,.7fr);gap:3px}.tennis-board-title{font-size:9px}.tennis-set-score{font-size:14px;padding:7px 2px}.tennis-player-name{font-size:12px}.tennis-current-point{font-size:16px;padding:7px 2px}}

/* Flash des cotes : baisse en vert, hausse en rouge pendant 2 secondes */
.odd-btn.odds-flash-down { animation: oddsFlashDown 2s ease-out both; }
.odd-btn.odds-flash-up { animation: oddsFlashUp 2s ease-out both; }
@keyframes oddsFlashDown {
  0%, 12% { background:#087b45 !important; border-color:#43f29a !important; box-shadow:0 0 0 2px #43f29a55, 0 0 24px #12df7855 !important; color:#fff !important; }
  100% { background:#172d37; border-color:#2c4a55; box-shadow:none; color:#fff; }
}
@keyframes oddsFlashUp {
  0%, 12% { background:#8b1e2b !important; border-color:#ff6676 !important; box-shadow:0 0 0 2px #ff667655, 0 0 24px #ff263f55 !important; color:#fff !important; }
  100% { background:#172d37; border-color:#2c4a55; box-shadow:none; color:#fff; }
}
.odd-btn.odds-flash-down b, .odd-btn.odds-flash-up b { color:#fff !important; }

/* Renforcement visuel des changements de cotes, y compris après reconstruction des cartes */
.odd-btn.odds-flash-down,
.odd-btn.odds-flash-down:hover,
.odd-btn.odds-flash-down:focus-visible { background:#087b45 !important; border-color:#43f29a !important; color:#fff !important; animation:oddsFlashDown 2s ease-out both !important; }
.odd-btn.odds-flash-up,
.odd-btn.odds-flash-up:hover,
.odd-btn.odds-flash-up:focus-visible { background:#8b1e2b !important; border-color:#ff6676 !important; color:#fff !important; animation:oddsFlashUp 2s ease-out both !important; }
.odd-btn.odds-flash-down b,.odd-btn.odds-flash-up b { color:#fff !important; }

/* Statut personnalisé affiché sous le badge EN DIRECT dans la fiche du match */
.match-time-status .custom-live-status{display:block;max-width:100%;padding:4px 7px;border:1px solid #2b8d74;border-radius:6px;background:#0d3a31;color:#8af0cf;font-size:11px;font-weight:800;line-height:1.35;white-space:normal;overflow-wrap:anywhere}

/* MegaGames Pronos — refonte blanche & violette inspirée de la maquette fournie */
:root{color-scheme:light;--bg:#fff;--panel:#fff;--panel2:#f7f5fb;--line:#e8e3f1;--text:#17112b;--muted:#77718b;--gold:#ffcf00;--gold2:#efb900;--green:#11865a;--red:#e33d54;--purple:#5d16d7;--purple2:#7a2cf0;--radius:13px}
body{background:#fff;color:var(--text);font-family:'DM Sans',Arial,sans-serif}
.topbar{height:78px;padding:0 22px;background:linear-gradient(100deg,#6517d8,#360078);border:0;box-shadow:0 3px 15px #35106720;gap:22px}
.top-nav{display:flex;align-items:center;gap:8px;order:0;flex:1;min-width:0;overflow-x:auto}.top-nav>a{color:#fff;font-weight:800;white-space:nowrap;padding:12px 13px;border-radius:10px}.top-nav>a.active,.top-nav>a:hover{background:#873cf5}.top-nav .brand{padding:0 10px 0 0;margin-right:10px;font:900 17px Manrope,sans-serif}.top-nav .brand-mark{background:transparent;color:#fff;box-shadow:none;font-size:25px;width:36px}.top-nav .brand b{color:#ffe52e}.top-nav .brand small{display:none}
.brand{color:#fff}.brand b{color:#ffe52e}.brand small{color:#e4d4ff}.brand-mark{background:linear-gradient(135deg,#fff34d,#ffb800);color:#4b138b;box-shadow:none}.header-right{gap:9px;flex:none}.header-right .pill{border-color:#a97af2;background:#4c0da8;color:#fff;font-weight:800}.header-right .pill.demo{color:#ffe62b}.header-player{display:flex;align-items:center;gap:6px;border:1px solid #8d4bea;border-radius:25px;padding:4px 5px 4px 8px;background:#4a0c9f;min-width:0}.player-avatar{font-size:21px}.header-player .profile-form{display:flex;gap:4px;margin:0}.header-player .profile-form input{width:120px;max-width:14vw;background:#fff;color:#20113e;border:0;border-radius:7px;padding:8px;font-size:11px;min-width:0}.header-player .profile-form .btn{padding:5px 10px;border:0;background:#a55bff;color:#fff;font-size:18px}.header-player .profile-info{display:flex;align-items:center;gap:10px;margin:0;color:#fff;font-size:11px}.header-player .profile-info b{font-size:12px;color:#fff}.header-player .profile-info span{display:flex;align-items:center;gap:4px;color:#ffe52e}.header-player .profile-info small{color:#e7d8ff}.header-profile-message{position:absolute;top:72px;right:160px;z-index:20;background:#fff;color:#43109d;padding:3px 8px;border-radius:6px;box-shadow:0 3px 12px #1b073322}
.layout{max-width:none;width:100%;padding:16px 14px 24px;margin:0}.sportsbook-banner,.account-grid,#withdrawCard{display:none!important}.dashboard-grid{display:grid;grid-template-columns:225px minmax(0,1fr) 265px;gap:14px;align-items:start}.left-sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:14px}.side-nav,.side-panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:8px;box-shadow:0 2px 12px #32105b08}.side-link,.side-panel>a,.championship-open{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:9px;color:#27144a;font-weight:700;font-size:12px}.side-link.active,.side-panel>a:hover,.championship-open:hover{background:linear-gradient(100deg,#6c1ce1,#812cff);color:#fff}.side-panel h3{font:900 14px Manrope;color:#5312b8;margin:8px 10px 9px}.side-panel>a{width:100%;border:0;background:#fff;text-align:left}.championship-open{width:100%;border:0;background:#fff;text-align:left}.championship-open b{margin-left:auto}.history-menu{display:flex}.main-column{min-width:0}.section-head{margin:3px 0 12px;align-items:center}.section-head .eyebrow{color:#7c30e5}.section-head h2,.match-list-heading h2{color:#321064;font-size:21px}.date-wrap{color:#5b4b78}.date-wrap input{background:#fff;border:1px solid #e1d8f0;color:#24123f}.sport-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}.sport-filter{border:1px solid #e4dcef;border-radius:10px;background:#fff;color:#271345;padding:9px 12px;font-size:11px;font-weight:800}.sport-filter.active,.sport-filter:hover{background:linear-gradient(100deg,#6920de,#8a37f7);border-color:#7e2ded;color:#fff}.notice{background:#f7f1ff;color:#5520a2;border-color:#e2d2ff}.hot-section{margin:6px 0 17px}.hot-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 10px}.hot-section-head h2{margin:0;font:900 italic 23px Manrope,sans-serif;color:#6e1ed8}.hot-section-head a{font-size:12px;color:#5d17c4;font-weight:800}.hot-match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.hot-match-card{position:relative;isolation:isolate;overflow:hidden;min-height:202px;border-radius:13px;background:#20123e center/cover no-repeat;color:#fff;border:1px solid #ded2f3;box-shadow:0 4px 12px #3d14631c;padding:12px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.hot-match-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#100823dc,#180b38a8 48%,#0a061cc9),linear-gradient(0deg,#0b0619 0%,transparent 70%)}.hot-match-card:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 25%,#8b36f45c,transparent 55%)}.hot-match-league{font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.04em;text-align:center}.hot-badge{align-self:center;background:#f22c37;color:#fff;border-radius:6px;padding:5px 10px;font-weight:900;font-size:11px;box-shadow:0 3px 12px #f22c3755}.hot-teams{display:grid;grid-template-columns:1fr 22px 1fr;align-items:center;gap:5px;text-align:center;font-weight:900;font-size:13px;text-shadow:0 2px 4px #000}.hot-teams span:first-child{text-align:left}.hot-teams span:last-child{text-align:right}.hot-vs{font-size:18px;color:#fff}.hot-odds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hot-odd{background:#ffd500;color:#241342;border:0;border-radius:8px;padding:7px 3px;font-weight:900;min-width:0;box-shadow:0 2px 4px #0003}.hot-odd small{display:block;font-size:9px;margin-bottom:2px}.hot-odd b{font-size:14px}.hot-odd.is-selected{outline:3px solid #fff;box-shadow:0 0 0 5px #7c28ec}.hot-empty{grid-column:1/-1;padding:18px;border:1px dashed #d9c7f2;border-radius:12px;color:#7c6c95;font-size:12px;text-align:center;background:#fcfaff}.match-list-section{margin-top:8px}.match-list-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}.match-list-heading h2{margin:0;font:900 19px Manrope}.match-list-heading span{color:#827694;font-size:11px}.match-grid{display:flex;flex-direction:column;gap:7px}.match-row-card{position:relative;overflow:hidden;background:#fff!important;color:#21113d!important;border:1px solid #e7e0f0!important;border-radius:12px!important;padding:0!important;box-shadow:0 2px 8px #32105b08!important;cursor:pointer}.match-row-card:before{content:"";position:absolute;inset:0;z-index:0;opacity:.96;background:linear-gradient(90deg,#15102f 0%,#24144a 21%,#fff 57%,#fff 100%)}.match-row-card[style*="background-image"]:before{background:linear-gradient(90deg,#170b32e8 0%,#26144acb 34%,#ffffff08 64%,#fff 100%)}.match-row-main{position:relative;z-index:1;grid-template-columns:125px minmax(180px,1fr) minmax(255px,1.1fr) 26px;gap:10px;padding:9px 10px 6px;min-height:64px}.match-time-status{color:#fff;gap:6px}.match-time-status small{color:#fff;font-weight:800}.match-state{color:#fff;background:#5d1ac4;border:0;border-radius:6px;padding:4px 6px;font-size:9px}.match-state.state-live{background:#e82746}.match-state.state-finished{background:#188b61}.match-teams-stack{gap:4px}.match-team-line{min-height:21px}.match-team-line b{color:#fff;text-shadow:0 1px 3px #0008;font-size:12px}.match-team-line img{width:23px;height:23px}.match-league{color:#fff!important;font-size:9px;font-weight:900;padding-left:0}.match-team-line .score-counter{background:#fff;color:#311064;border-color:#d8c6ef}.match-odds-grid{gap:6px}.odd-btn{background:#f8f7fb!important;border:1px solid #ece6f4!important;border-radius:8px!important;color:#21113d!important;box-shadow:none!important;padding:8px 4px!important}.odd-btn small{color:#76668f!important;font-size:9px}.odd-btn b{color:#24113f!important;font-size:14px}.odd-btn:hover:not(:disabled){background:#f0e6ff!important;border-color:#8c4be8!important}.odd-btn.is-selected{background:#6f22df!important;border-color:#6f22df!important;color:#fff!important}.odd-btn.is-selected small,.odd-btn.is-selected b{color:#fff!important}.match-detail-arrow{color:#6f22df;font-size:25px}.match-probability{position:relative;z-index:1;margin:0 12px 7px 135px;gap:8px}.probability-track{background:#eee8f6}.prob-0{background:#7026df}.prob-1{background:#ffd500}.prob-2{background:#20b981}.probability-values{color:#837493;font-size:9px}.match-hot{border-color:#d6b6ff!important;box-shadow:0 0 0 1px #8c35e52c!important}.match-hot .match-row-main{border-left:4px solid #7928e6}.right-sidebar{position:sticky;top:92px;gap:10px}.right-sidebar .card{background:#fff;border:1px solid #e5dcef;border-radius:13px;color:#21113d;padding:13px;box-shadow:0 2px 12px #32105b08}.ticket-card{padding:0!important;overflow:hidden;border-color:#d9c6f4!important}.ticket-card .card-head{padding:13px;background:linear-gradient(100deg,#6c1cdd,#832cf1);color:#fff;align-items:center}.ticket-card .card-head h2{color:#fff;font-size:17px}.ticket-card .eyebrow{display:none}.ticket-count{background:#fff;color:#5a16c5}.ticket-type-label{color:#6c1dd7;padding:10px 13px;font-weight:900}.ticket-lines{padding:0 12px}.ticket-empty{background:#fff;border:0;color:#827494;min-height:190px}.ticket-empty b{color:#21113d}.ticket-card label{color:#6e5c86}.ticket-card .amount-input{background:#fff;border-color:#e1d8ee}.ticket-card .amount-input input{color:#21113d}.ticket-card .amount-input span{color:#6d21d7}.ticket-card .fee-preview{background:#fff;border-color:#e9e1f3;color:#786b8b}.ticket-card .fee-preview b{color:#21113d}.ticket-card .fee-preview b:last-child{color:#5e18c6}.ticket-card .btn-primary{background:linear-gradient(100deg,#6820d8,#8730ed);border-color:#7627e5;color:#fff}.side-live-card,.top-bets-card{border-color:#e5dcef!important}.side-card-title{display:flex;align-items:center;gap:8px}.side-card-title h3{color:#4d168d;font-size:13px}.mini-live-item{border-color:#eee7f5;color:#33224e}.mini-score{color:#281345}.top-bet-item{border-color:#eee7f5;color:#4c3c64}.below-dashboard{margin-top:24px}.below-dashboard .section-head{margin-top:22px}.history-card,.rules-grid .card{background:#fff;border-color:#e8e1f1;color:#261440}.history-card .muted,.rules-grid p{color:#776b8c}.bet-row{border-color:#eee7f5}.status-tag{background:#f0eaf8;color:#5a3b83}.bet-dialog,.detail-dialog,.championship-dialog{background:#fff;color:#24123f;border:1px solid #d8c3f2}.bet-dialog::backdrop,.detail-dialog::backdrop,.championship-dialog::backdrop{background:#24103980}.bet-dialog .amount-input{background:#fff;border-color:#ded1ef}.bet-dialog .amount-input input{color:#24123f}.bet-dialog label{color:#5e4b79}.detail-dialog{background:#fff}.detail-score,.detail-odds>div,.stat-row,.championship-option{background:#faf7ff;border-color:#e4d7f4;color:#24123f}.detail-score strong{background:#fff;border-color:#d9c5f1;color:#4c168d}.detail-status{color:#6f5b89}.match-event{border-color:#c7b0e8}.match-event time{color:#6a22ca}.championship-tabs button{background:#faf7ff;border-color:#e0d2f1;color:#35145d}.championship-tabs button.active{background:#7124df;color:#fff}.championship-option{color:#2a1748}.notice{box-shadow:none}.btn-primary{background:linear-gradient(100deg,#6820d8,#8730ed);border-color:#7627e5;color:#fff}.btn-gold{background:#ffd500;border-color:#ffd500;color:#281441}.btn-ghost{background:#fff;border-color:#e3d8f0;color:#4d2a75}.amount-input{background:#fff;border-color:#e3d8f0}.amount-input input{color:#21113d}.fee-preview{background:#faf7ff;border-color:#e6dcf2;color:#77658f}.fee-preview b{color:#2a1748}.eyebrow{color:#7b2ce4}.rules-grid h3{color:#34145f}footer{color:#8a7b9e}
/* Carte match avec image administrable */
.match-row-card.has-match-image{background-image:var(--match-image)!important;background-size:cover!important;background-position:center!important}.match-row-card.has-match-image:before{background:linear-gradient(90deg,#170b32e8 0%,#26144acb 34%,#ffffff08 62%,#ffffff 100%)}.below-dashboard #withdrawCard{display:block!important}
@media(max-width:1250px){.dashboard-grid{grid-template-columns:190px minmax(0,1fr)}.right-sidebar{position:static;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.hot-match-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:9px 12px}.top-nav{order:2;width:100%;flex:1 0 100%;gap:3px}.top-nav>a{padding:9px;font-size:11px}.header-right{margin-left:auto}.header-player .profile-form input{width:105px;max-width:24vw}.layout{padding:10px}.dashboard-grid{grid-template-columns:1fr}.left-sidebar{position:static}.left-sidebar .side-nav{display:flex;overflow:auto}.left-sidebar .side-panel{display:none}.hot-match-grid{grid-template-columns:1fr}.hot-match-card{min-height:180px}.right-sidebar{grid-column:auto;grid-template-columns:1fr}.match-row-main{grid-template-columns:82px minmax(0,1fr);gap:8px}.match-odds-grid{grid-column:1/-1}.match-detail-arrow{display:none}.match-probability{margin-left:10px}.match-list-heading span{display:none}}
@media(min-width:1500px){.dashboard-grid{grid-template-columns:235px minmax(0,1fr) 275px}.match-row-main{grid-template-columns:132px minmax(200px,1fr) minmax(280px,1.1fr) 26px}.hot-match-card{min-height:220px}}

/* Finitions demandées : navigation et ticket violets, texte blanc, photos moins assombries */
.top-nav a.active,
.top-nav a:hover {
  background: linear-gradient(135deg, #7022e8, #8b35f5) !important;
  border-color: #a875ff !important;
  color: #fff !important;
  box-shadow: 0 4px 16px #6f22df35 !important;
}
#profileForm .btn-primary,
.header-right > .btn-primary,
#profileForm button[type="submit"] {
  background: linear-gradient(135deg, #7022e8, #8b35f5) !important;
  border-color: #a875ff !important;
  color: #fff !important;
}
#refreshBtn,
.header-right .btn-ghost {
  background: linear-gradient(135deg, #7022e8, #8b35f5) !important;
  border-color: #a875ff !important;
  color: #fff !important;
}
.ticket-card .ticket-empty {
  background: #fff !important;
  border: 1px solid #e3d8f0 !important;
  color: #6e5c86 !important;
  border-radius: 10px !important;
}
.ticket-card .ticket-empty b { color: #321064 !important; }
.ticket-card .ticket-empty span { color: #6e5c86 !important; }
.hot-match-card {
  justify-content: flex-start !important;
  gap: 9px !important;
}
.hot-match-card:before {
  background: linear-gradient(90deg, #1008239c, #180b3866 48%, #0a061c85),
              linear-gradient(0deg, #0b0619a8 0%, transparent 72%) !important;
}
.hot-match-card:after {
  background: radial-gradient(circle at 50% 25%, #8b36f42e, transparent 58%) !important;
}
.hot-match-league {
  flex: 0 0 auto;
  text-shadow: 0 1px 4px #000c;
}
.hot-match-card .hot-badge {
  align-self: center !important;
  margin: 0 auto !important;
  flex: 0 0 auto;
  background: #f22c37 !important;
  color: #fff !important;
}
.hot-match-card .hot-teams {
  margin-top: auto;
  text-shadow: 0 2px 5px #000e;
}
.hot-match-card .hot-odds { margin-top: 0; }

/* Correctif lisibilité du ticket et du filtre Tous les sports */
#comboCard,
#comboCard .ticket-lines,
#comboCard .ticket-leg,
#comboCard #comboSelections > article,
#comboCard #comboSelections > div:not(.ticket-empty) {
  background: #ffffff !important;
  color: #351064 !important;
  border-color: #e2d3f5 !important;
}
#comboCard .ticket-leg-top,
#comboCard .ticket-leg-top b,
#comboCard .ticket-leg > strong,
#comboCard .ticket-leg > strong span,
#comboCard .ticket-pick,
#comboCard .ticket-leg-bottom,
#comboCard .ticket-leg-bottom span,
#comboCard .ticket-leg-bottom b,
#comboCard .ticket-remove {
  color: #5d16d7 !important;
}
#comboCard .ticket-leg-top,
#comboCard .ticket-leg-bottom {
  border-color: #e7dcf5 !important;
}
#comboCard .ticket-remove {
  background: #f4edff !important;
  border-radius: 6px;
  padding: 1px 7px !important;
}
#comboCard .ticket-empty {
  background: #ffffff !important;
  border: 1px solid #e2d3f5 !important;
  color: #5d16d7 !important;
}
#comboCard .ticket-empty b,
#comboCard .ticket-empty span { color: #5d16d7 !important; }
#comboCard #comboSubmit,
#comboCard button[type="submit"],
#comboCard .btn-primary {
  background: linear-gradient(100deg, #6820d8, #8730ed) !important;
  border: 1px solid #7627e5 !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 12px #7022e82b !important;
}
#comboCard #comboSubmit:disabled,
#comboCard button[type="submit"]:disabled {
  background: #7b55b5 !important;
  border-color: #7b55b5 !important;
  color: #ffffff !important;
  opacity: .72 !important;
}
.sport-filters .sport-filter[data-sport="all"],
.sport-filters .sport-filter[data-sport="all"].active,
.sport-filters .sport-filter[data-sport="all"]:hover,
.sport-filters .sport-filter[data-sport="all"]:focus-visible {
  background: linear-gradient(100deg, #6920de, #8a37f7) !important;
  border-color: #7e2ded !important;
  color: #ffffff !important;
}


/* FINAL OVERRIDE: white ticket cards, purple text and purple all-sports filter */
#comboCard #comboSelections .ticket-leg, #comboCard #comboSelections article.ticket-leg { background:#fff !important; color:#351064 !important; border:1px solid #e2d3f5 !important; }
#comboCard #comboSelections .ticket-leg-top, #comboCard #comboSelections .ticket-leg-top b, #comboCard #comboSelections .ticket-leg > strong, #comboCard #comboSelections .ticket-leg > strong span, #comboCard #comboSelections .ticket-pick, #comboCard #comboSelections .ticket-leg-bottom, #comboCard #comboSelections .ticket-leg-bottom span, #comboCard #comboSelections .ticket-leg-bottom b { color:#5d16d7 !important; }
#comboCard #comboSelections .ticket-leg-bottom { border-color:#e7dcf5 !important; }
#comboCard #comboSubmit, #comboCard #comboForm button[type=submit] { background:linear-gradient(100deg,#6820d8,#8730ed) !important; color:#fff !important; border-color:#7627e5 !important; }
.sport-filters .sport-filter[data-sport="all"] { background:linear-gradient(100deg,#6920de,#8a37f7) !important; border-color:#7e2ded !important; color:#fff !important; }
