:root {
  --bg: #071019;
  --panel: #0d1a27;
  --panel-2: #112538;
  --line: #234765;
  --text: #f6fbff;
  --muted: #a8bdcc;
  --blue: #20a4ff;
  --blue-2: #0c6fb8;
  --danger: #ff4e65;
  --warning: #ffb020;
  --ok: #34d399;
  --shadow: 0 18px 40px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,#050b11 0%,#081522 55%,#061019 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;min-height:100%}
a{color:#7bc8ff}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.wrap{width:min(1180px,94vw);margin:0 auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(5,11,17,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--blue),#0b5795);display:grid;place-items:center;box-shadow:0 8px 24px rgba(32,164,255,.3)}
.brand-mark:before{content:'🏒';font-size:20px}
.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.14em;margin-top:1px}
.nav-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:10px 14px;border-radius:12px;font-weight:800;transition:.15s ease;box-shadow:none}
.btn:hover{transform:translateY(-1px);border-color:#3c78a2}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-2));border-color:transparent}
.btn-danger{background:#481622;border-color:#7d2636}
.btn-ok{background:#143d32;border-color:#246b58}
.btn-warning{background:#49320f;border-color:#71511c}
.btn-ghost{background:transparent}
.btn-sm{padding:7px 10px;border-radius:10px;font-size:13px}
.btn-lg{padding:14px 18px;font-size:16px}
main{padding:24px 0 48px}
.hero{border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:28px;background:radial-gradient(circle at 85% 20%,rgba(32,164,255,.18),transparent 36%),linear-gradient(135deg,#0d1a27,#09131d);box-shadow:var(--shadow);margin-bottom:20px}
.hero h1{margin:0 0 8px;font-size:clamp(28px,4vw,52px);line-height:1}.hero p{margin:0;color:var(--muted);max-width:800px}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:linear-gradient(180deg,rgba(17,37,56,.95),rgba(11,25,38,.95));border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.card h2,.card h3{margin:0 0 14px}.card h2{font-size:20px}.card h3{font-size:16px;color:#dff2ff}
.muted{color:var(--muted)}
.kicker{color:#86d0ff;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}
.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#071421;color:var(--text);border-radius:12px;padding:11px 12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(32,164,255,.12)}
.divider{height:1px;background:rgba(255,255,255,.08);margin:16px 0}
.notice{padding:12px 14px;border-radius:12px;background:#10283b;border:1px solid #24536f;color:#ccecff}.notice.error{background:#33141b;border-color:#77263a;color:#ffd5dc}.notice.ok{background:#103529;border-color:#25614e;color:#d1ffef}
.list{display:flex;flex-direction:column;gap:8px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);background:#081624;border-radius:12px}.list-main{min-width:0}.list-title{font-weight:900}.list-meta{font-size:12px;color:var(--muted);margin-top:2px}.list-actions{display:flex;gap:6px;flex-wrap:wrap}
.logo{width:46px;height:46px;object-fit:contain;border-radius:12px;background:white;padding:4px}.logo-fallback{width:46px;height:46px;border-radius:12px;background:linear-gradient(145deg,#1e9fff,#0d4f88);display:grid;place-items:center;font-weight:1000}
.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;text-align:center;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:radial-gradient(circle at 50% 0%,rgba(32,164,255,.18),transparent 45%),#081421}
.team-box{display:grid;justify-items:center;gap:8px}.team-box .logo,.team-box .logo-fallback{width:74px;height:74px}.team-name{font-weight:1000;font-size:clamp(16px,2vw,24px)}
.score{font-size:clamp(42px,7vw,86px);font-weight:1000;letter-spacing:-.06em;line-height:.9}.clock{font-size:clamp(30px,5vw,60px);font-weight:1000;font-variant-numeric:tabular-nums}.period{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#a9dfff;font-weight:900;margin-top:6px}.live-dot{display:inline-block;width:8px;height:8px;background:#ff4e65;border-radius:50%;box-shadow:0 0 0 5px rgba(255,78,101,.13);margin-right:6px}
.control-strip{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}.score-controls{display:flex;gap:8px;justify-content:center;margin-top:10px}
.event-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.event-btn{min-height:76px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#0a1c2b;color:white;font-weight:1000;display:flex;align-items:center;justify-content:center;gap:8px}.event-btn img{width:28px;height:28px}.event-btn:hover{border-color:#4ea8e4;background:#0e2639}
.event-feed{display:flex;flex-direction:column;gap:10px}.event{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:13px;border:1px solid rgba(255,255,255,.08);background:#081624;border-radius:14px}.event-icon{width:44px;height:44px;border-radius:12px;background:#102c42;display:grid;place-items:center}.event-icon img{width:26px;height:26px}.event-head{display:flex;justify-content:space-between;gap:8px;font-weight:900}.event-time{color:#8dd2ff;font-variant-numeric:tabular-nums}.event-body{color:#dceaf4;margin-top:4px;font-size:14px}.event-sub{color:var(--muted);font-size:12px;margin-top:4px}
.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.roster{border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}.roster-head{padding:12px 14px;background:#0f2940;font-weight:1000}.player-row{display:grid;grid-template-columns:44px 1fr 80px;gap:8px;padding:9px 12px;border-top:1px solid rgba(255,255,255,.06);align-items:center}.player-no{font-weight:1000;color:#8dd2ff}.position{color:var(--muted);font-size:12px;text-align:right}
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#10293e;color:#cdeeff;font-size:12px;font-weight:900}.pill.live{background:#3c1520;color:#ffd8df}.pill.final{background:#14352b;color:#d6fff1}.pill.scheduled{background:#2c2b15;color:#fff3bf}
.match-card{padding:16px;border:1px solid rgba(255,255,255,.08);background:#081624;border-radius:16px;display:grid;gap:12px}.match-line{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.match-team{font-weight:900}.match-team.right{text-align:right}.match-score{font-size:26px;font-weight:1000}.match-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;flex-wrap:wrap}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:#071421;color:#d7eaf7;font-weight:800}.tab.active{background:#123451;border-color:#2c78aa}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:18px;z-index:50}.modal-panel{width:min(620px,96vw);max-height:90vh;overflow:auto;background:#0c1b29;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.modal-head h3{margin:0}
.table-scroll{overflow:auto}.simple-table{width:100%;border-collapse:collapse;min-width:600px}.simple-table th,.simple-table td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;font-size:13px}.simple-table th{color:#9bc8e5;text-transform:uppercase;font-size:11px;letter-spacing:.06em}
.footer{color:#708ca1;text-align:center;font-size:12px;padding:30px 0}
@media (max-width:850px){.grid-2,.grid-3,.roster-grid{grid-template-columns:1fr}.event-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row,.form-row-3{grid-template-columns:1fr}.scoreboard{grid-template-columns:1fr auto 1fr;gap:8px}.team-box .logo,.team-box .logo-fallback{width:58px;height:58px}.nav-actions .hide-mobile{display:none}.player-row{grid-template-columns:40px 1fr 60px}}
@media (max-width:560px){.hero{padding:20px}.card{padding:14px}.scoreboard{padding:14px 8px}.event-actions{grid-template-columns:1fr 1fr}.team-name{font-size:14px}.topbar-inner{align-items:flex-start}.brand small{display:none}}

/* ---- V2 ---- */
.mini{font-size:12px;color:var(--muted)}
.btn-xs{padding:5px 8px;border-radius:8px;font-size:11px}
.event-actions-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.penalty-board,.shootout-board{display:flex;flex-direction:column;gap:8px}
.penalty-chip{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.09);background:#081624;border-radius:13px}
.penalty-count{font-size:22px;font-weight:1000;font-variant-numeric:tabular-nums;color:#ffcf6e;min-width:64px;text-align:center}
.shootout-team{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.08);background:#081624;border-radius:13px}
.shootout-dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.shoot-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:1000;border:1px solid rgba(255,255,255,.15)}
.shoot-dot.goal{background:#123d2f;color:#d9fff1;border-color:#2c7a61}.shoot-dot.miss{background:#401923;color:#ffdbe1;border-color:#7a3141}
.captain-badge,.goalie-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 5px;border-radius:999px;font-size:10px;font-weight:1000;margin-left:5px;vertical-align:middle}
.captain-badge{background:#143e63;color:#d9f2ff;border:1px solid #2a6795}.goalie-badge{background:#14352b;color:#d6fff1;border:1px solid #2b6f59}
.admin-player{border-top:1px solid rgba(255,255,255,.06)}.admin-player .player-row{border-top:0}.admin-player.absent,.staff-line.absent{opacity:.48}
.player-actions{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 9px 56px}
.staff-admin{padding:10px 12px;border-top:1px solid rgba(255,255,255,.08)}.staff-line{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px}
.public-staff{padding:10px 12px;border-top:1px solid rgba(255,255,255,.08)}
.official-grid{display:flex;flex-direction:column;gap:8px}.official-row{display:grid;grid-template-columns:1fr 1.3fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#081624}.official-row span{color:var(--muted);font-size:12px}.official-row small{color:#8dd2ff}
.check-row{display:flex;align-items:center;gap:8px;margin-top:12px;color:#dceaf4;font-size:13px}.check-row input{width:auto}
.qr-wrap{display:grid;place-items:center;gap:10px;background:white;padding:18px;border-radius:16px}.qr-url{color:#314354!important;word-break:break-all;text-align:center;max-width:100%}
#qrCode{padding:6px;background:white}
@media(max-width:1050px){.event-actions-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.event-actions-6{grid-template-columns:repeat(2,minmax(0,1fr))}.penalty-chip{grid-template-columns:1fr auto}.penalty-chip .btn{grid-column:1/-1}.official-row{grid-template-columns:1fr}.player-actions{padding-left:12px}}

/* ============================================================
   V2.2 — LIVE VISUEL : couleurs, logos, tirs & Power Play
   ============================================================ */
.live-summary-strip{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin-top:12px}
.live-summary-item{min-height:66px;border:1px solid rgba(255,255,255,.09);background:#081624;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:center}
.live-summary-label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:900}
.live-summary-item strong{font-size:14px;color:#f4f9fc}
.power-play-active{color:#ffd166!important;text-shadow:0 0 18px rgba(255,209,102,.22)}
.admin-summary-strip{grid-template-columns:1.5fr 1fr;margin-top:0}
.shot-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.shot-control-card{background:#081624;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px;text-align:center}
.shot-team-name{font-weight:1000;font-size:16px}.shot-count{font-weight:1000;font-size:34px;line-height:1.1;margin:6px 0}.shot-count small{font-size:12px;color:var(--muted);font-weight:800}
.strength-badge{display:inline-flex;padding:2px 6px;margin-left:5px;border-radius:999px;background:#3b3112;border:1px solid #806a20;color:#ffe99a;font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em}

.event{position:relative;overflow:hidden;transition:border-color .18s ease,transform .18s ease;background:#081624}
.event::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--event-color,#7aa6c2)}
.event-main{min-width:0}.event-title{color:var(--event-color,#e8f5ff);font-weight:1000}.event-time{color:var(--event-color,#8dd2ff)}
.event-icon{background:color-mix(in srgb,var(--event-color,#8dd2ff) 16%,#102c42);border:1px solid color-mix(in srgb,var(--event-color,#8dd2ff) 35%,transparent)}
.event-content-row{display:flex;align-items:center;gap:10px;margin-top:4px;min-width:0}.event-team-logo-wrap{flex:0 0 auto}.event-team-logo{width:38px;height:38px;object-fit:contain;border-radius:10px;background:white;padding:3px}.event-logo-fallback{width:38px;height:38px;border-radius:10px;font-size:10px}
.event-admin-actions{display:flex;justify-content:flex-end;margin-top:7px}
.event-goal{--event-color:#2fa8ff}.event-penalty{--event-color:#ff4d5e}.event-goalie{--event-color:#ffd43b}.event-timeout{--event-color:#3ddc84}.event-period{--event-color:#ffffff}.event-shootout{--event-color:#b47cff}.event-note{--event-color:#52d7e8}
.event-goal .event-body{font-weight:900}.event-period{background:#0b1825}.event-period .event-title{letter-spacing:.06em}

.goal-flash{position:fixed;inset:0;z-index:100;background:rgba(2,9,16,.86);display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px);animation:goalFlashIn .28s ease both}
.goal-flash.goal-flash-out{animation:goalFlashOut .35s ease both}
.goal-flash-card{width:min(540px,92vw);text-align:center;border:2px solid #2fa8ff;background:radial-gradient(circle at 50% 0%,rgba(47,168,255,.28),transparent 45%),#07131e;border-radius:28px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.5),0 0 55px rgba(47,168,255,.18)}
.goal-flash-logo{display:grid;place-items:center;margin-bottom:12px}.goal-flash-img,.goal-flash-logo .logo-fallback{width:100px;height:100px;object-fit:contain;border-radius:20px;background:white;padding:7px}
.goal-flash-kicker{color:#2fa8ff;font-weight:1000;font-size:clamp(42px,10vw,78px);line-height:1;letter-spacing:-.04em}.goal-flash-team{font-size:clamp(22px,5vw,34px);font-weight:1000;margin-top:7px}.goal-flash-scorer{font-size:16px;color:#cfe8f8;margin-top:8px}.goal-flash-score{font-size:clamp(44px,10vw,76px);font-weight:1000;margin-top:10px;letter-spacing:-.05em}
@keyframes goalFlashIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@keyframes goalFlashOut{from{opacity:1}to{opacity:0}}

@media(max-width:850px){.live-summary-strip,.admin-summary-strip,.shot-control-grid{grid-template-columns:1fr}.event-content-row{align-items:flex-start}.event-team-logo,.event-logo-fallback{width:34px;height:34px}}
@media(max-width:560px){.event{grid-template-columns:38px 1fr}.event-icon{width:38px;height:38px}.event-head{flex-direction:column;gap:3px}.event-time{font-size:11px}.live-summary-item{min-height:58px}.goal-flash-card{padding:22px 16px}}

/* ============================================================
   V2.3 — STATS, TABLETTE, AUDIO & ÉDITION AVANCÉE
   ============================================================ */
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.stats-team{background:#081624;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px;min-width:0}
.stats-team h3{margin:0 0 10px;font-size:16px}.stats-team h4{margin:16px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#9bc8e5}
.stats-table{min-width:560px}.stats-table td:first-child,.stats-table th:first-child{min-width:170px}
.shortcut-strip{display:flex;flex-wrap:wrap;gap:8px 14px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#081624}
.shortcut-strip span{font-size:12px;color:#cfe1ec;display:flex;align-items:center;gap:7px}
kbd{font-family:inherit;font-weight:1000;color:white;background:#18344b;border:1px solid #315c79;border-bottom-width:3px;border-radius:7px;padding:3px 7px;min-width:28px;text-align:center}
.shootout-block{display:grid;gap:6px}.shootout-edit-list{display:grid;gap:5px;padding:0 4px}.shootout-edit-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.035);font-size:11px;color:#bcd0df}
#soundBtn.btn-ok{box-shadow:0 0 0 1px rgba(52,211,153,.25) inset}
.match-group{display:grid;gap:10px;margin-top:18px}.match-group:first-child{margin-top:0}.match-group-title{font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.1em;color:#8ecbed;display:flex;align-items:center;gap:8px}.match-group-title::after{content:"";height:1px;background:rgba(255,255,255,.09);flex:1}
.current-goalie-line{font-size:11px;color:#79e6b4;margin-top:4px;font-weight:800}
@media(max-width:900px){.stats-grid{grid-template-columns:1fr}}
@media(max-width:560px){.shortcut-strip{display:grid;grid-template-columns:1fr 1fr}.shootout-edit-row{align-items:flex-start;flex-direction:column}.stats-team{padding:10px}}
.team-stat-line{font-size:11px;color:#8fb4ca;margin:-4px 0 10px;font-weight:800}

/* ============================================================
   V2.4 — FORMATS JEUNES, PÉRIODES CONFIGURABLES & FIL PRIORITAIRE
   ============================================================ */
.notice.young-mode{background:#30270b;border-color:#7d681e;color:#fff0a8}
.live-summary-strip.summary-simple{grid-template-columns:1fr}
#adminEventFeedCard .event-feed,#liveView > .card .event-feed{max-height:620px;overflow:auto;padding-right:2px}
#matchModeBanner{font-weight:800}
@media(max-width:850px){#adminEventFeedCard .event-feed,#liveView > .card .event-feed{max-height:none}}


/* V2.4.2 — préparation des présences */
.roster-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.roster-presence-summary{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-weight:700}
.absence-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.35);color:#ff9c9c;font-size:10px;font-weight:1000;letter-spacing:.05em;margin-left:4px}
.presence-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(125,211,252,.18);border-radius:12px;background:rgba(14,165,233,.06)}
.presence-summary-text{font-size:13px;line-height:1.5}
.player-actions .btn:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:850px){.presence-summary{align-items:stretch}.presence-summary .btn{width:100%}.roster-presence-summary{width:100%;justify-content:space-between}}


/* ============================================================
   V2.4.4 — CORRECTIF LISIBILITÉ DU FIL
   Les événements d'un conteneur flex ne doivent jamais se comprimer
   quand le fil atteint sa hauteur maximale : on fait défiler le fil.
   ============================================================ */
.event-feed{align-items:stretch;min-width:0}
.event-feed > .event{flex:0 0 auto;min-height:72px;height:auto}
.event-main,.event-content-row > div:last-child{min-width:0}
.event-title,.event-body,.event-sub{overflow-wrap:anywhere;word-break:normal}
#adminEventFeedCard .event-feed,#liveView > .card .event-feed{scrollbar-gutter:stable;overscroll-behavior:contain}
@media(max-width:560px){.event-feed > .event{min-height:66px}}

/* ============================================================
   V2.5 — MATCH CENTER, MODE TV & JOURNAL DE SÉCURITÉ
   ============================================================ */
.match-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.center-counters{display:flex;gap:8px;flex-wrap:wrap}
.match-center-filters{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.match-center-match{gap:14px}.match-center-scoreline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.match-center-team{display:flex;align-items:center;gap:10px;min-width:0}.match-center-team.right{justify-content:flex-end;text-align:right}.match-center-team b{display:block;overflow-wrap:anywhere}.match-center-team small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.match-center-logo{width:46px;height:46px;object-fit:contain;border-radius:12px;background:white;padding:4px;flex:0 0 auto}.match-center-score{text-align:center;display:grid;place-items:center;gap:5px;min-width:110px}.match-center-score strong{font-size:28px;line-height:1}.center-live-clock{font-variant-numeric:tabular-nums;color:#8dd2ff;font-size:15px;font-weight:1000}.match-center-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}

.audit-summary{height:100%}.audit-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.audit-kpis>div{padding:13px;border:1px solid rgba(255,255,255,.08);background:#081624;border-radius:14px;text-align:center}.audit-kpis strong{display:block;font-size:26px}.audit-kpis span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.audit-list{display:grid;gap:8px;max-height:720px;overflow:auto;scrollbar-gutter:stable}.audit-row{display:grid;grid-template-columns:5px 1fr;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.08);background:#081624;border-radius:13px}.audit-marker{border-radius:999px;background:#39a9ff}.audit-update .audit-marker{background:#ffd166}.audit-delete .audit-marker{background:#ff5d69}.audit-insert .audit-marker{background:#4be09a}.audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.audit-head strong{font-size:13px}.audit-head span{font-size:10px;color:var(--muted);white-space:nowrap}.audit-detail{font-size:11px;color:#c9dce9;margin-top:5px;overflow-wrap:anywhere}.audit-meta{font-size:10px;color:#7394aa;margin-top:6px}.preflight-list{display:grid;gap:8px}.preflight-row{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#081624}.preflight-row>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:1000}.preflight-row.good>span{background:#143d2f;color:#85f1bf}.preflight-row.warn>span{background:#453713;color:#ffe58a}.preflight-row.bad>span{background:#451b24;color:#ffabb4}

/* Mode TV / patinoire */
.tv-mode-page{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 10%,#0e2940 0,#06121d 38%,#02070d 80%);overflow:hidden;color:white}
.tv-warning{position:fixed;inset:20px auto auto 50%;transform:translateX(-50%);z-index:30;background:#3b151c;border:1px solid #7b2a39;color:#ffd8df;padding:12px 16px;border-radius:12px}
.tv-controls{position:fixed;top:14px;right:14px;z-index:20;display:flex;gap:8px;transition:opacity .25s ease}.tv-controls-hidden .tv-controls{opacity:0;pointer-events:none}.tv-shell{min-height:100vh;padding:3vh 3vw 4vh;display:grid;grid-template-rows:auto 1fr auto;gap:2vh;box-sizing:border-box}.tv-meta-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.tv-competition{font-size:clamp(15px,1.4vw,24px);font-weight:1000;letter-spacing:.05em;text-transform:uppercase}.tv-venue{text-align:right;color:#9fb8ca;font-size:clamp(13px,1.1vw,18px)}.tv-scoreboard{display:grid;grid-template-columns:1fr minmax(280px,.85fr) 1fr;gap:3vw;align-items:center;min-height:0}.tv-team{text-align:center;display:grid;justify-items:center;gap:1.4vh;min-width:0}.tv-logo-wrap{width:min(24vw,300px);height:min(24vw,300px);display:grid;place-items:center}.tv-team-logo,.tv-logo-fallback{width:100%;height:100%;object-fit:contain;border-radius:8%;background:rgba(255,255,255,.96);padding:5%;box-sizing:border-box;box-shadow:0 20px 70px rgba(0,0,0,.35)}.tv-logo-fallback{display:grid;place-items:center;color:#0b1a27;font-size:clamp(50px,8vw,120px);font-weight:1000}.tv-team-name{font-size:clamp(24px,3vw,52px);font-weight:1000;line-height:1.05;overflow-wrap:anywhere}.tv-center{text-align:center;display:grid;place-items:center;align-content:center}.tv-score{font-size:clamp(70px,11vw,180px);line-height:.9;font-weight:1000;letter-spacing:-.08em;white-space:nowrap}.tv-clock{font-size:clamp(50px,7vw,110px);font-variant-numeric:tabular-nums;font-weight:1000;color:#8dd2ff;line-height:1;margin-top:2vh}.tv-period{font-size:clamp(20px,2vw,36px);font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-top:.7vh}.tv-period-scores{font-size:clamp(13px,1.2vw,20px);color:#9db5c5;margin-top:1vh}.tv-penalties{display:grid;gap:6px;width:min(330px,100%)}.tv-penalty{display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(255,77,94,.12);border:1px solid rgba(255,77,94,.45);border-radius:12px;padding:8px 12px;font-size:clamp(12px,1vw,17px)}.tv-penalty strong{font-size:1.4em;color:#ff9aa5;font-variant-numeric:tabular-nums}.tv-last-event{--event-color:#52d7e8;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;border:1px solid color-mix(in srgb,var(--event-color) 55%,transparent);border-left:8px solid var(--event-color);background:rgba(5,17,27,.9);border-radius:20px;padding:16px 20px;box-shadow:0 18px 60px rgba(0,0,0,.25)}.tv-last-event.event-goal{--event-color:#2fa8ff}.tv-last-event.event-penalty{--event-color:#ff4d5e}.tv-last-event.event-goalie{--event-color:#ffd43b}.tv-last-event.event-timeout{--event-color:#3ddc84}.tv-last-event.event-period{--event-color:#fff}.tv-last-event.event-shootout{--event-color:#b47cff}.tv-last-icon{width:72px;height:72px;border-radius:18px;background:color-mix(in srgb,var(--event-color) 18%,#0b1d2b);display:grid;place-items:center}.tv-last-icon img{width:43px;height:43px}.tv-last-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;color:var(--event-color);font-weight:1000;font-size:clamp(17px,1.7vw,28px)}.tv-last-head span:last-child{font-size:.62em;white-space:nowrap}.tv-last-body{font-size:clamp(17px,1.6vw,27px);font-weight:900;margin-top:4px}.tv-last-sub{color:#a8c0d0;font-size:clamp(12px,1vw,18px);margin-top:4px}.tv-goal-flash::after{content:"BUT !";position:fixed;inset:0;z-index:15;display:grid;place-items:center;background:rgba(4,18,30,.78);color:#2fa8ff;font-size:clamp(100px,20vw,320px);font-weight:1000;letter-spacing:-.08em;animation:tvGoalFlash .9s ease both;pointer-events:none}@keyframes tvGoalFlash{0%{opacity:0;transform:scale(.9)}20%,65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.04)}}
@media(max-width:900px){.match-center-filters{grid-template-columns:1fr 1fr}.tv-scoreboard{grid-template-columns:1fr 1fr;grid-template-areas:"home away" "center center";gap:2vh}.tv-team-home{grid-area:home}.tv-team-away{grid-area:away}.tv-center{grid-area:center}.tv-logo-wrap{width:min(30vw,220px);height:min(30vw,220px)}.tv-score{font-size:clamp(60px,18vw,120px)}.tv-clock{font-size:clamp(45px,12vw,85px)}.tv-shell{overflow:auto}.tv-mode-page{overflow:auto}.tv-last-event{margin-bottom:12px}}
@media(max-width:620px){.match-center-filters{grid-template-columns:1fr}.match-center-scoreline{grid-template-columns:1fr auto 1fr;gap:6px}.match-center-team{display:grid;justify-items:center;text-align:center}.match-center-team.right{justify-items:center;text-align:center}.match-center-logo{width:38px;height:38px}.match-center-score strong{font-size:22px}.match-center-actions .btn{flex:1}.audit-kpis{grid-template-columns:1fr}.audit-head{display:grid}.tv-controls{top:8px;right:8px}.tv-controls .btn{font-size:10px;padding:6px 8px}.tv-meta-row{grid-template-columns:1fr auto}.tv-venue{display:none}.tv-last-event{grid-template-columns:48px 1fr;padding:12px}.tv-last-icon{width:48px;height:48px}.tv-last-icon img{width:29px;height:29px}}

/* ============================================================
   V2.6 — Refonte visuelle & navigation par onglets
   ============================================================ */
:root{--panel:#0a1825;--panel-2:#0d2030;--panel-3:#10283b;--glow:rgba(47,168,255,.16)}
body{background:radial-gradient(circle at 50% -10%,rgba(34,139,210,.11),transparent 32%),linear-gradient(180deg,#06111b 0%,#07131e 45%,#050d15 100%);background-attachment:fixed}
.wrap{max-width:1320px}.card{border-color:rgba(157,207,240,.10);background:linear-gradient(180deg,rgba(11,27,41,.98),rgba(7,19,30,.98));box-shadow:0 18px 55px rgba(0,0,0,.18)}
.match-identity-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 12px;padding:15px 18px;border:1px solid rgba(126,199,244,.15);border-radius:18px;background:linear-gradient(100deg,rgba(21,70,101,.28),rgba(8,25,38,.96) 50%,rgba(7,19,30,.96));box-shadow:0 14px 45px rgba(0,0,0,.16)}
.match-identity-main{display:flex;align-items:center;gap:14px;min-width:0}.match-category-badge{display:grid;place-items:center;min-width:62px;height:42px;padding:0 12px;border-radius:12px;background:linear-gradient(135deg,#168ed8,#26b4ff);color:#fff;font-weight:1000;letter-spacing:.04em;box-shadow:0 8px 26px rgba(31,166,240,.22)}
.match-competition{font-size:17px;font-weight:1000;color:#f2f8fc}.match-label{margin-top:2px;color:#9fbed2;font-size:13px}.match-identity-meta{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.match-identity-meta span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);color:#b8cfde;font-size:11px;font-weight:800}
.score-stage{border:1px solid rgba(80,178,237,.17);border-radius:26px;padding:10px;background:linear-gradient(145deg,rgba(19,72,104,.24),rgba(4,16,26,.92));box-shadow:0 25px 80px rgba(0,0,0,.24)}
.scoreboard-v26{border:0;background:radial-gradient(circle at 50% -20%,rgba(47,168,255,.25),transparent 45%),linear-gradient(180deg,#0a1e2e,#071521);border-radius:20px;padding:22px 20px;min-height:210px}.scoreboard-v26 .score{font-size:clamp(56px,7vw,92px);line-height:.95;letter-spacing:-.06em;text-shadow:0 0 30px rgba(81,189,255,.12)}.scoreboard-v26 .clock{font-size:clamp(34px,4vw,54px);margin-top:8px}.scoreboard-v26 .team-name{font-size:clamp(16px,2vw,25px);margin-top:8px}.scoreboard-v26 .logo,.scoreboard-v26 .logo-fallback{width:clamp(74px,9vw,116px);height:clamp(74px,9vw,116px);box-shadow:0 12px 36px rgba(0,0,0,.24)}.score-center{min-width:230px}
.score-insight-strip{display:grid;grid-template-columns:1.4fr 1.2fr 1fr;gap:8px;padding:8px}.score-insight-strip.admin-score-insights{grid-template-columns:1.5fr 1fr}.score-insight{min-height:58px;padding:9px 12px;border-radius:14px;background:rgba(6,20,31,.82);border:1px solid rgba(255,255,255,.065);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:3px}.score-insight span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#7fa3ba;font-weight:1000}.score-insight strong{font-size:13px;color:#eaf6fc}.score-insight .power-play-active,.power-play-active{color:#60dfff;text-shadow:0 0 20px rgba(50,193,255,.35)}
.live-primary-grid{align-items:stretch}.live-side-card{position:relative;overflow:hidden;min-height:170px}.live-side-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#58aee1}.penalty-side-card::before{background:#ff5364}.shootout-side-card::before{background:#b47cff}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-title-row h2{margin-top:3px}.section-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.05);font-size:20px}.live-feed-badge{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:rgba(47,168,255,.09);border:1px solid rgba(47,168,255,.22);font-size:10px;font-weight:1000;letter-spacing:.09em;color:#7bd0ff}.live-feed-badge i{width:7px;height:7px;border-radius:50%;background:#2fa8ff;box-shadow:0 0 0 4px rgba(47,168,255,.10);animation:livePulse 1.4s infinite}@keyframes livePulse{50%{opacity:.45;transform:scale(.82)}}
.live-feed-card{padding:18px}.live-feed-card .event-feed{margin-top:12px}.event{border-radius:16px;padding:14px 15px;background:linear-gradient(100deg,rgba(13,35,52,.96),rgba(7,21,33,.98));transition:transform .15s ease,border-color .15s ease,background .15s ease}.event:hover{transform:translateY(-1px);border-color:rgba(124,194,237,.18)}.event-main{min-width:0}.event-title{letter-spacing:.015em}.event-body{font-size:15px;line-height:1.35}.event-sub{line-height:1.35}.event-content-row{margin-top:7px}.event-team-logo,.event-logo-fallback{box-shadow:0 6px 22px rgba(0,0,0,.2)}
.detail-tabs-shell{padding:0;overflow:hidden}.detail-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(5,17,27,.65);overflow-x:auto;scrollbar-width:none}.detail-tabs::-webkit-scrollbar{display:none}.detail-tab{appearance:none;border:0;background:transparent;color:#8baabd;padding:11px 15px;border-radius:12px;white-space:nowrap;font:inherit;font-size:12px;font-weight:900;cursor:pointer;transition:.15s ease}.detail-tab:hover{color:#e8f6ff;background:rgba(255,255,255,.045)}.detail-tab.active{color:white;background:linear-gradient(135deg,#12669b,#138fcf);box-shadow:0 7px 22px rgba(20,135,196,.2)}.detail-panel{display:none;padding:18px}.detail-panel.active{display:block}.detail-panel .stats-grid,.detail-panel .roster-grid{margin-top:0}.admin-detail-shell .detail-panel{min-height:180px}
.control-settings-card .action-toolbar{margin-top:14px}.action-toolbar .btn{min-height:38px}.event-entry-card .event-btn{border-radius:15px;min-height:84px}.shortcut-card{opacity:.92}
.season-stats-grid{display:grid;grid-template-columns:1fr;gap:18px}.season-team-card{border:1px solid rgba(112,190,237,.12);border-radius:18px;background:linear-gradient(180deg,rgba(13,34,51,.9),rgba(6,20,31,.86));overflow:hidden}.season-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 18px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(100deg,rgba(20,91,132,.18),transparent)}.season-heading h3{margin:3px 0 0;font-size:20px}.season-heading p{margin:3px 0 0;color:#829eb1;font-size:11px}.season-eyebrow{font-size:9px;color:#62c5ff;letter-spacing:.12em;font-weight:1000}.season-leader{text-align:right;display:grid;gap:1px}.season-leader span{font-size:9px;color:#829eb1;text-transform:uppercase;letter-spacing:.08em}.season-leader strong{font-size:13px}.season-leader b{font-size:18px;color:#6bd1ff}.season-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.06)}.season-kpis>div{padding:12px;text-align:center;background:#081b2a}.season-kpis span{display:block;font-size:9px;color:#7797ab;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.season-kpis strong{display:block;margin-top:3px;font-size:18px}.season-table-wrap{overflow:auto}.season-table{margin:0;border:0;border-radius:0}.season-table th{position:sticky;top:0;background:#0a2132;white-space:nowrap}.season-table td{white-space:nowrap}.season-goalie-title{padding:16px 18px 8px;font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:#79cfff}.season-loading{display:flex;align-items:center;gap:10px;min-height:90px;justify-content:center;color:#93aec0}.season-loading span{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top-color:#36adf2;animation:seasonSpin .8s linear infinite}@keyframes seasonSpin{to{transform:rotate(360deg)}}

@media(max-width:900px){.match-identity-card{align-items:flex-start;flex-direction:column}.match-identity-meta{justify-content:flex-start}.score-insight-strip,.score-insight-strip.admin-score-insights{grid-template-columns:1fr}.season-kpis{grid-template-columns:repeat(3,1fr)}.season-heading{align-items:flex-start}.scoreboard-v26{min-height:180px}.score-center{min-width:170px}}
@media(max-width:720px){.live-primary-grid{grid-template-columns:1fr}.scoreboard-v26{grid-template-columns:1fr auto 1fr;gap:7px;padding:17px 8px}.scoreboard-v26 .score{font-size:clamp(42px,15vw,66px)}.scoreboard-v26 .clock{font-size:34px}.scoreboard-v26 .logo,.scoreboard-v26 .logo-fallback{width:64px;height:64px}.scoreboard-v26 .team-name{font-size:13px}.score-center{min-width:145px}.detail-panel{padding:13px}.match-identity-card{padding:13px}.season-heading{flex-direction:column}.season-leader{text-align:left}.event-entry-card .event-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.scoreboard-v26 .logo,.scoreboard-v26 .logo-fallback{width:52px;height:52px}.score-center{min-width:125px}.scoreboard-v26 .score{font-size:38px}.scoreboard-v26 .clock{font-size:29px}.match-category-badge{height:38px;min-width:56px}.match-competition{font-size:15px}.match-identity-meta span{font-size:10px}.season-kpis{grid-template-columns:repeat(2,1fr)}.event{padding:12px}.detail-tab{padding:10px 12px}}

/* =========================================================
   V2.7 — Audience live, navigation retour & Tribune supporters
   ========================================================= */
.viewer-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(128,196,240,.18);border-radius:999px;background:rgba(8,25,39,.72);color:#cdeeff;font-size:12px;font-weight:800;white-space:nowrap}
.viewer-pill.viewer-live{border-color:rgba(54,190,255,.45);box-shadow:0 0 0 1px rgba(54,190,255,.08),0 0 24px rgba(33,167,255,.12)}
.chat-card{overflow:hidden}.chat-notice{padding:10px 12px;margin:10px 0 12px;border-radius:12px;background:rgba(87,183,255,.07);border:1px solid rgba(87,183,255,.16);font-size:12px;color:var(--muted)}
.chat-messages{display:flex;flex-direction:column;gap:9px;max-height:380px;overflow-y:auto;padding:4px 4px 4px 0;scrollbar-gutter:stable}
.chat-message{padding:10px 12px;border:1px solid rgba(137,192,229,.13);border-radius:13px;background:linear-gradient(180deg,rgba(13,35,51,.78),rgba(7,24,37,.9));line-height:1.42;overflow-wrap:anywhere}
.chat-message-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.chat-message-head b{color:#dff5ff}.chat-message-head span{font-size:10px;color:var(--muted);white-space:nowrap}
.chat-compose{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(260px,2fr) auto;gap:10px;align-items:end;margin-top:13px;padding-top:13px;border-top:1px solid rgba(137,192,229,.12)}
.chat-compose textarea{resize:vertical;min-height:52px}.chat-nick-field,.chat-message-field{margin:0}.chat-compose .btn{height:44px;min-width:105px}
.audience-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.audience-kpi{padding:14px;border-radius:15px;border:1px solid rgba(137,192,229,.13);background:linear-gradient(180deg,rgba(16,44,63,.72),rgba(8,26,39,.82));display:flex;flex-direction:column;gap:3px}.audience-kpi span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.audience-kpi strong{font-size:30px;line-height:1;color:#e7f8ff;margin-top:4px}.audience-kpi small{font-size:10px;color:var(--muted)}
.chat-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.switch-line{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(6,23,35,.7);border:1px solid rgba(137,192,229,.14);font-weight:800;white-space:nowrap}.switch-line input{width:18px;height:18px}
.chat-admin-list{display:flex;flex-direction:column;gap:9px;max-height:430px;overflow:auto}.chat-admin-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 12px;border-radius:12px;background:rgba(8,29,43,.8);border:1px solid rgba(137,192,229,.12)}.chat-admin-item>div{min-width:0;overflow-wrap:anywhere}.chat-admin-item.is-hidden{opacity:.55}
@media(max-width:850px){.audience-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-admin-head{flex-direction:column}.chat-compose{grid-template-columns:1fr}.chat-compose .btn{width:100%}}
@media(max-width:480px){.audience-kpis{grid-template-columns:1fr 1fr}.audience-kpi{padding:11px}.audience-kpi strong{font-size:25px}.chat-messages{max-height:320px}.viewer-pill{font-size:11px;padding:6px 9px}}

/* ==========================================================
   V2.8 — ESPACE STATISTIQUES PUBLIC
   ========================================================== */
.public-stats-page{padding-bottom:34px}.stats-public-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border:1px solid rgba(255,255,255,.08);border-radius:26px;background:radial-gradient(circle at 85% 10%,rgba(37,167,255,.25),transparent 34%),linear-gradient(135deg,#0d2132,#07131d 62%,#071019);box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden;position:relative}.stats-public-hero:after{content:"";position:absolute;right:-80px;bottom:-120px;width:300px;height:300px;border-radius:50%;border:1px solid rgba(73,190,255,.13);box-shadow:0 0 70px rgba(24,143,211,.09)}.stats-public-hero h1{font-size:clamp(34px,6vw,68px);line-height:.95;margin:3px 0 10px;letter-spacing:-.045em}.stats-public-hero p{max-width:780px;margin:0;color:#9fb8c9}.stats-hero-badge{min-width:155px;height:155px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:3px;text-align:center;border:1px solid rgba(99,201,255,.26);background:radial-gradient(circle,rgba(27,123,183,.28),rgba(8,25,38,.85) 62%);box-shadow:0 0 60px rgba(29,154,224,.12);position:relative;z-index:1}.stats-hero-badge span{font-size:9px;letter-spacing:.18em;color:#70ceff;font-weight:1000}.stats-hero-badge strong{font-size:15px}.stats-filter-card{padding:16px 18px;margin-bottom:22px}.stats-filter-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:12px;align-items:end}.stats-filter-actions{display:flex}.stats-filter-actions .btn{height:44px}.stats-section{margin-top:24px}.stats-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:14px;min-height:270px;margin-top:14px;padding:12px 6px}.podium-place{appearance:none;color:var(--text);border:1px solid rgba(112,201,255,.15);background:linear-gradient(180deg,#102a3d,#081923);border-radius:22px;padding:20px 14px;display:grid;justify-items:center;text-align:center;gap:5px;cursor:pointer;position:relative;overflow:hidden;transition:.18s ease;min-height:190px}.podium-place:hover{transform:translateY(-4px);border-color:rgba(92,204,255,.48);box-shadow:0 18px 40px rgba(0,0,0,.24)}.podium-1{min-height:245px;border-color:rgba(255,205,70,.34);background:radial-gradient(circle at 50% 10%,rgba(255,191,35,.19),transparent 40%),linear-gradient(180deg,#173148,#081923)}.podium-2{min-height:210px}.podium-3{min-height:190px}.podium-rank{position:absolute;left:12px;top:10px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);font-weight:1000;font-size:12px}.podium-medal{font-size:35px}.podium-place strong{font-size:17px}.podium-place small{color:#8eabba}.podium-place b{font-size:30px;color:#75d4ff}.podium-place>span:last-child{font-size:12px;color:#b9ceda}.leaderboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}.leaderboard-card{border:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,rgba(13,35,52,.95),rgba(6,20,30,.93));border-radius:19px;padding:13px;min-width:0}.leaderboard-head{display:flex;gap:9px;align-items:center;padding:3px 4px 11px;border-bottom:1px solid rgba(255,255,255,.055)}.leaderboard-head>span{font-size:23px}.leaderboard-head small{color:#6fcaff;font-size:8px;font-weight:1000;letter-spacing:.12em}.leaderboard-head h3{font-size:14px;margin:1px 0}.leader-list{display:grid}.leader-row{appearance:none;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;color:var(--text);padding:9px 3px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;text-align:left;cursor:pointer}.leader-row:hover{background:rgba(69,171,225,.06)}.leader-rank{color:#7898aa;font-size:11px;text-align:center}.leader-player{min-width:0}.leader-player b,.leader-player small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-player b{font-size:11px}.leader-player small{font-size:8px;color:#7895a7;margin-top:1px}.leader-row>strong{font-size:13px;color:#77d6ff}.compare-shell{margin-top:26px}.compare-selector-row{max-width:650px;margin:12px auto 18px}.team-comparison{min-height:120px}.compare-match-meta{text-align:center;margin:10px 0 16px;display:grid;gap:3px}.compare-match-meta b{font-size:16px}.compare-match-meta span{font-size:11px;color:#8ca8b9}.compare-grid{display:grid;grid-template-columns:1fr 150px 1fr;gap:18px;align-items:center}.compare-team{text-align:center;border:1px solid rgba(255,255,255,.065);border-radius:20px;padding:18px;background:rgba(4,18,28,.48)}.compare-logo{width:82px;height:82px;object-fit:contain;border-radius:17px;background:white;padding:6px;margin:auto}.compare-team h3{font-size:18px;margin:8px 0}.compare-record{font-size:32px;font-weight:1000;color:#78d6ff}.compare-record small{display:block;font-size:8px;color:#829dae;letter-spacing:.13em}.compare-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:14px 0}.compare-kpis div{background:#081a28;border-radius:10px;padding:8px 3px}.compare-kpis span{display:block;font-size:7px;color:#718ea0;text-transform:uppercase}.compare-kpis b{font-size:14px}.compare-form{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0}.compare-form>span{font-size:9px;color:#7e9daf;text-transform:uppercase}.compare-star,.team-leader-link{appearance:none;border:0;background:rgba(62,166,222,.075);color:#cfeefe;width:100%;padding:8px;border-radius:10px;font-size:10px;cursor:pointer;margin-top:6px}.compare-star:hover,.team-leader-link:hover{background:rgba(62,166,222,.14)}.compare-versus{text-align:center;display:grid;gap:8px;justify-items:center}.compare-versus>span{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(86,199,255,.28);background:#0d2638;font-weight:1000;font-size:19px;box-shadow:0 0 35px rgba(34,160,226,.1)}.compare-versus small{font-size:9px;color:#7f9bac}.compare-versus strong{font-size:11px}.form-strip{display:flex;gap:4px;align-items:center}.form-pill{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:9px;font-weight:1000}.form-pill.win{background:#123f31;color:#62e2b6}.form-pill.loss{background:#461824;color:#ff879c}.form-pill.tie{background:#3b3217;color:#ffd979}.team-season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.team-season-card{border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:15px;background:linear-gradient(180deg,#0c2233,#071823)}.team-season-head{display:flex;gap:11px;align-items:center}.stats-team-logo{width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;padding:4px}.team-season-head h3{margin:0;font-size:15px}.team-season-head p{margin:2px 0 0;color:#819cad;font-size:9px}.team-season-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:12px 0}.team-season-kpis div{text-align:center;background:#071723;border-radius:9px;padding:7px}.team-season-kpis span{display:block;font-size:7px;color:#6f8da0;text-transform:uppercase}.team-season-kpis b{font-size:14px}.team-form-line{display:flex;justify-content:space-between;align-items:center;margin:9px 0}.team-form-line>span{font-size:9px;color:#7895a7}.stats-profile-modal{max-width:980px;max-height:90vh;overflow:auto}.profile-hero{display:flex;align-items:center;gap:14px;padding:5px 0 15px}.profile-team-logo{width:72px;height:72px;object-fit:contain;background:white;border-radius:16px;padding:6px}.profile-hero span,.profile-hero p{color:#839fad;font-size:10px}.profile-hero h2{margin:2px 0;font-size:25px}.profile-kpis{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:15px}.profile-kpis div{background:#081b29;border:1px solid rgba(255,255,255,.055);border-radius:11px;padding:9px;text-align:center}.profile-kpis span{display:block;font-size:7px;color:#708ea0;text-transform:uppercase;font-weight:900}.profile-kpis b{display:block;margin-top:2px;font-size:16px}.profile-form{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid rgba(255,255,255,.06);padding:14px 0}.profile-form h3{margin:2px 0}.profile-form-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.profile-form-pills span{background:#0d2a3d;border:1px solid rgba(94,194,244,.15);border-radius:10px;padding:7px 10px;font-size:10px;font-weight:900}.profile-history td,.profile-history th{font-size:10px}.logo-fallback.stats-team-logo,.logo-fallback.compare-logo,.logo-fallback.profile-team-logo{display:grid;place-items:center;color:#092035;font-weight:1000}.stats-filter-card select,.stats-filter-card input{min-height:44px}
@media(max-width:1100px){.leaderboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-kpis{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.stats-public-hero{align-items:flex-start}.stats-hero-badge{width:110px;height:110px;min-width:110px}.stats-filter-grid{grid-template-columns:1fr 1fr}.stats-filter-actions .btn{width:100%}.stats-podium{gap:7px}.podium-place{padding:15px 7px}.podium-place strong{font-size:13px}.podium-place b{font-size:22px}.leaderboard-grid{grid-template-columns:1fr 1fr}.compare-grid{grid-template-columns:1fr}.compare-versus{grid-row:2}.team-season-grid{grid-template-columns:1fr}.profile-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.stats-public-hero{padding:21px;display:grid}.stats-hero-badge{display:none}.stats-filter-grid{grid-template-columns:1fr}.stats-podium{grid-template-columns:1fr;align-items:stretch}.podium-place,.podium-1,.podium-2,.podium-3{min-height:0}.podium-1{order:-1}.leaderboard-grid{grid-template-columns:1fr}.compare-kpis{grid-template-columns:1fr 1fr}.profile-kpis{grid-template-columns:1fr 1fr}.profile-form{align-items:flex-start;flex-direction:column}.profile-form-pills{justify-content:flex-start}}
.sync-lock-badge{display:inline-flex;align-items:center;margin-left:5px;padding:2px 6px;border-radius:999px;background:#4a3211;color:#ffd878;border:1px solid #71531c;font-size:8px;font-weight:1000;letter-spacing:.06em}.roster-sync-notice{border-color:rgba(65,185,245,.2);background:rgba(14,83,121,.14)}
