/* ==========================================================================
   TEAMAMOUR TOORNAMENT — Layout métier
   Repose sur le system.css TeamAmour
   ========================================================================== */

.tournament-logo { text-decoration:none; display:flex; align-items:center; gap:.45rem; }
.header-center { margin:0; }
.tournament-nav { margin-bottom:0; padding:.24rem; flex-wrap:nowrap; }
.compact-create { min-height:36px; padding:.48rem .8rem; }

.tournament-main { max-width:1320px; padding-top:1.3rem; }

.eyebrow {
  display:block;
  color:var(--accent-hover);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:.3rem;
}

.welcome-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:stretch;
  margin-bottom:1rem;
}
.welcome-copy { padding:.9rem 0; }
.welcome-copy h1 {
  font-family:var(--font-display);
  font-size:clamp(1.7rem,3vw,2.35rem);
  letter-spacing:-.04em;
}
.welcome-copy p {
  margin-top:.45rem;
  color:var(--text-muted);
  max-width:760px;
  line-height:1.5;
}
.tournament-welcome-card {
  width:min(330px,100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:1rem 1.15rem;
}
.tournament-welcome-card strong { font-family:var(--font-display); font-size:.92rem; }
.tournament-welcome-card small { color:var(--text-muted); font-size:.68rem; margin-top:.3rem; }

.section-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  margin:.8rem 0;
}
.filter-tabs {
  display:flex;
  gap:.35rem;
  flex-wrap:wrap;
}
.filter-chip {
  min-height:34px;
  padding:.4rem .65rem;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.03);
  color:var(--text-muted);
  font-size:.64rem;
  font-weight:700;
}
.filter-chip:hover,
.filter-chip.active {
  color:var(--text-main);
  border-color:var(--border-focus);
  background:var(--accent-soft);
}
.mobile-create { display:none; }

.tournament-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
}
.t-card {
  min-width:0;
  overflow:hidden;
  cursor:pointer;
  background:var(--bg-card);
  backdrop-filter:blur(12px);
  border:1px solid var(--border-card);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  transition:all var(--transition-fast);
}
.t-card:hover {
  transform:translateY(-2px);
  border-color:var(--border-focus);
  background:var(--bg-card-hover);
  box-shadow:var(--shadow-glow);
}
.t-cover {
  height:160px;
  position:relative;
  overflow:hidden;
  background:var(--bg-deep-2);
}
.t-cover::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(7,5,13,.68));
}
.t-cover img { width:100%; height:100%; object-fit:cover; }
.cover-placeholder { width:100%; height:100%; display:grid; place-items:center; font-size:2rem; }
.status-chip {
  display:inline-flex;
  align-items:center;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-pill);
  padding:.24rem .5rem;
  font-size:.58rem;
  font-weight:800;
  background:rgba(14,9,25,.72);
  color:var(--text-muted);
}
.t-cover .status-chip { position:absolute; z-index:2; right:.6rem; top:.6rem; }
.status-running { color:#79e8bd; border-color:rgba(16,185,129,.25); }
.status-registration_open { color:var(--accent-hover); border-color:rgba(157,92,255,.3); }
.status-finished { color:#f6c66f; border-color:rgba(245,158,11,.25); }

.t-body { padding:1rem; }
.t-format {
  color:var(--accent-hover);
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.t-body h3 {
  font-family:var(--font-display);
  font-size:1rem;
  letter-spacing:-.02em;
  margin:.25rem 0 .55rem;
}
.t-games { display:flex; flex-wrap:wrap; gap:.35rem; }
.t-games span,
.detail-games span {
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.03);
  color:var(--text-muted);
  font-size:.6rem;
  padding:.25rem .45rem;
}
.t-meta {
  display:flex;
  justify-content:space-between;
  gap:.6rem;
  margin-top:.9rem;
  padding-top:.75rem;
  border-top:1px solid var(--border-subtle);
  color:var(--text-muted);
  font-size:.62rem;
}

.empty-state {
  grid-column:1/-1;
  color:var(--text-muted);
  font-size:.72rem;
  padding:1.2rem;
  text-align:center;
}
.compact-empty { padding:.75rem; }

.back-link {
  margin-bottom:.7rem;
  background:transparent;
  color:var(--text-muted);
  padding:.35rem 0;
}
.back-link:hover { color:var(--accent-hover); }

.detail-hero {
  position:relative;
  overflow:hidden;
  min-height:245px;
  border:1px solid var(--border-card);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  background:var(--bg-surface);
}
.detail-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.detail-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,5,13,.97),rgba(7,5,13,.7) 60%,rgba(7,5,13,.3));
}
.detail-inner {
  position:relative;
  z-index:1;
  min-height:245px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
  padding:1.35rem;
}
.detail-inner h1 {
  font-family:var(--font-display);
  font-size:clamp(1.6rem,3vw,2.2rem);
  letter-spacing:-.04em;
}
.detail-games { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.55rem; }
.detail-actions { display:flex; align-items:center; gap:.45rem; }
.detail-tabs { margin:.8rem 0; }

.panel,
.admin-section {
  background:var(--bg-surface);
  backdrop-filter:blur(16px);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  padding:1rem;
}
.two-col { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:.8rem; }
.section-title { font-family:var(--font-display); font-size:.92rem; margin-bottom:.7rem; }
.description { color:var(--text-muted); font-size:.76rem; line-height:1.55; }
.info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.55rem; margin-top:.8rem; }
.info-grid>div {
  min-width:0;
  padding:.75rem;
  border:1px solid var(--border-subtle);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.info-grid span,.info-grid strong { display:block; }
.info-grid span { color:var(--text-muted); font-size:.6rem; }
.info-grid strong { font-family:var(--font-display); font-size:.72rem; margin-top:.18rem; }

.game-stack { display:flex; flex-direction:column; }
.game-line {
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:.65rem;
  align-items:center;
  padding:.55rem 0;
  border-top:1px solid var(--border-subtle);
}
.game-line:first-child { border-top:0; }
.game-line img,.mini-cover {
  width:52px;height:52px;
  border-radius:10px;
  object-fit:cover;
  background:var(--bg-deep-2);
  display:grid;place-items:center;
}
.game-line strong,.game-line small { display:block; }
.game-line strong { font-size:.72rem; }
.game-line small { color:var(--text-muted); font-size:.61rem; margin-top:.18rem; }

.avatar {
  position:relative;
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:var(--gradient-brand);
  color:white;
  font-family:var(--font-display);
  font-weight:800;
}
.avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.user-badge .avatar { width:28px; height:28px; flex-basis:28px; }
.header-avatar { border:1.5px solid var(--border-subtle); }

.participant-list {
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
  background:var(--bg-surface);
}
.participant-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  padding:.7rem .8rem;
  border-top:1px solid var(--border-subtle);
}
.participant-row:first-child { border-top:0; }
.participant-row.dim { opacity:.45; }
.participant-main,.admin-user { display:flex; align-items:center; gap:.6rem; }
.participant-main strong,.participant-main span { display:block; }
.participant-main strong { font-size:.74rem; }
.participant-main span { color:var(--text-muted); font-size:.62rem; margin-top:.13rem; }
.participant-side { display:flex; align-items:center; gap:.55rem; }
.participant-side label { color:var(--text-muted); font-size:.6rem; }
.participant-side input { width:64px; padding:.4rem; }

.admin-inline { display:flex; gap:.45rem; margin-bottom:.65rem; }
.admin-inline input { flex:1; }

.bracket-scroll { overflow:auto; padding-bottom:.5rem; }
.bracket { display:flex; gap:1rem; min-width:max-content; }
.bracket-round { width:260px; }
.round-title {
  font-family:var(--font-display);
  color:var(--accent-hover);
  font-size:.7rem;
  margin-bottom:.5rem;
}
.round-matches { display:flex; flex-direction:column; gap:.6rem; }
.match-card {
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.025);
  padding:.6rem;
}
.match-head,.match-foot { display:flex; justify-content:space-between; gap:.4rem; color:var(--text-muted); font-size:.56rem; }
.match-player {
  display:flex;justify-content:space-between;
  padding:.52rem .15rem;
  border-bottom:1px solid var(--border-subtle);
  font-size:.68rem;
}
.match-player.winner { color:#79e8bd; font-weight:800; }
.match-foot { align-items:center; padding-top:.45rem; }
.match-foot button { background:transparent; color:var(--accent-hover); padding:.2rem; font-size:.58rem; }

.round-list { display:flex; flex-direction:column; gap:.7rem; }
.round-panel-head { display:flex; justify-content:space-between; align-items:flex-start; }
.round-panel-head h3 { font-family:var(--font-display); font-size:.95rem; }
.round-panel-head>span { color:var(--text-muted); font-size:.6rem; }
.round-match-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin-top:.7rem; }

.standings-table { overflow:auto; }
.standings-head,.standings-row {
  min-width:650px;
  display:grid;
  grid-template-columns:44px minmax(180px,1fr) repeat(4,88px);
  gap:.4rem;
  align-items:center;
  padding:.62rem .4rem;
  border-top:1px solid var(--border-subtle);
  font-size:.65rem;
}
.standings-head {
  border-top:0;
  color:var(--text-muted);
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.standings-user { display:flex; align-items:center; gap:.5rem; }
.standings-user .avatar { width:30px;height:30px;flex-basis:30px; }

.panel-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
  margin-bottom:.75rem;
}
.panel-heading h2 { font-family:var(--font-display); font-size:1rem; }
.panel-heading p { color:var(--text-muted); font-size:.7rem; margin-top:.24rem; }
.admin-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.admin-section:last-child { grid-column:1/-1; }
.admin-actions { display:flex; flex-wrap:wrap; gap:.45rem; }
.admin-picker { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:.5rem; margin-bottom:.65rem; }
.admin-search-wrap { position:relative; }
.admin-search-results,.game-results {
  position:absolute;
  z-index:20;
  left:0;right:0;
  top:calc(100% + 5px);
  max-height:320px;
  overflow:auto;
  background:rgba(23,16,42,.98);
  backdrop-filter:blur(16px);
  border:1px solid var(--border-card);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
}
.admin-search-results button,.game-results button {
  width:100%;
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.55rem;
  border-bottom:1px solid var(--border-subtle);
  background:transparent;
  color:var(--text-main);
  justify-content:flex-start;
}
.admin-search-results button:hover,.game-results button:hover { background:rgba(255,255,255,.05); }
.admin-search-results .avatar { width:30px;height:30px;flex-basis:30px; }
.game-results img { width:54px;height:42px;object-fit:cover;border-radius:8px; }
.game-results strong,.game-results small { display:block;text-align:left; }
.game-results strong { font-size:.68rem; }
.game-results small { color:var(--text-muted); font-size:.58rem; margin-top:.1rem; }
.admin-members { display:flex; flex-direction:column; }
.admin-member {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.6rem;
  padding:.65rem 0;
  border-top:1px solid var(--border-subtle);
}
.admin-member:first-child { border-top:0; }
.admin-user strong,.admin-user small { display:block; }
.admin-user strong { font-size:.72rem; }
.admin-user small { color:var(--text-muted); font-size:.6rem; margin-top:.12rem; }
.compact-btn { min-height:34px; padding:.38rem .65rem; }

/* Wizard */
.wizard-modal { max-width:880px; padding:0; overflow:hidden; }
.wizard-close { position:absolute; z-index:3; top:1rem; right:1rem; }
.wizard-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.35rem 1.45rem .8rem;
}
.wizard-header h2 { font-family:var(--font-display); font-size:1.25rem; }
#wizardCounter {
  color:var(--text-muted);
  font-size:.65rem;
  padding-right:2.5rem;
  padding-top:.25rem;
}
.wizard-progress {
  display:flex;
  align-items:center;
  padding:.2rem 1.45rem 1rem;
}
.wizard-progress>i {
  flex:1;
  height:1px;
  background:var(--border-subtle);
  margin:0 .4rem 1rem;
}
.wizard-step-dot {
  width:84px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.3rem;
  color:var(--text-dim);
}
.wizard-step-dot span {
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid var(--border-subtle);
  background:var(--bg-deep-2);
  font-size:.65rem;
  font-weight:800;
}
.wizard-step-dot small { font-size:.55rem; font-weight:700; }
.wizard-step-dot.active { color:var(--accent-hover); }
.wizard-step-dot.active span {
  color:white;
  border-color:transparent;
  background:var(--gradient-brand);
  box-shadow:0 0 18px rgba(157,92,255,.25);
}
.wizard-step-dot.done span {
  color:#79e8bd;
  border-color:rgba(16,185,129,.25);
  background:rgba(16,185,129,.08);
}
.wizard-body {
  min-height:440px;
  padding:1.2rem 1.45rem;
  border-top:1px solid var(--border-subtle);
  border-bottom:1px solid var(--border-subtle);
  background:rgba(255,255,255,.012);
}
.wizard-page { display:none; max-width:720px; margin:auto; }
.wizard-page.active { display:block; }
.wizard-intro {
  display:flex;
  gap:.8rem;
  align-items:center;
  margin-bottom:1.2rem;
}
.wizard-intro strong { display:block; font-family:var(--font-display); font-size:.9rem; }
.wizard-intro p { color:var(--text-muted); font-size:.7rem; margin-top:.2rem; }
.app-icon {
  width:46px;height:46px;
  flex:0 0 46px;
  display:grid;place-items:center;
  border-radius:13px;
  background:var(--gradient-brand-soft);
  border:1px solid var(--border-subtle);
  font-size:1.35rem;
}
.wizard-grid { display:grid; gap:.7rem; }
.wizard-grid.two { grid-template-columns:1fr 1fr; }
.optional { color:var(--text-dim); font-weight:500; margin-left:.25rem; }
.form-group textarea.form-input { resize:vertical; min-height:90px; }

.igdb-attribution {
  margin-bottom:.5rem;
  color:var(--text-muted);
  font-size:.6rem;
}
.igdb-attribution strong { color:var(--accent-hover); }
.game-search-wrap { position:relative; }
.selected-games {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  margin-top:.7rem;
}
.selected-game-card {
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:.6rem;
  padding:.55rem;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.025);
}
.selected-game-card img,.selected-game-card .mini-cover {
  width:52px;height:52px;border-radius:9px;object-fit:cover;
}
.selected-game-card strong,.selected-game-card small { display:block; }
.selected-game-card strong { font-size:.7rem; }
.selected-game-card small { color:var(--text-muted);font-size:.58rem;margin-top:.12rem; }
.selected-game-card button { width:30px;height:30px;background:transparent;color:var(--text-muted);font-size:1rem; }
.empty-selection {
  grid-column:1/-1;
  min-height:145px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.2rem;
  color:var(--text-muted);
  border:1px dashed var(--border-card);
  border-radius:var(--radius-md);
}
.empty-selection span { font-size:1.6rem; }
.empty-selection strong { color:var(--text-main);font-size:.72rem; }
.empty-selection small { font-size:.62rem; }
.soft-info {
  margin-top:.7rem;
  padding:.65rem .75rem;
  border:1px solid rgba(157,92,255,.18);
  border-radius:var(--radius-md);
  background:var(--accent-soft);
  color:#d9ceff;
  font-size:.64rem;
}
.format-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.6rem;
}
.format-card {
  min-height:150px;
  padding:.85rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:.35rem;
  text-align:left;
  color:var(--text-main);
  background:rgba(255,255,255,.025);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
}
.format-card:hover,.format-card.selected {
  border-color:var(--border-focus);
  background:var(--gradient-brand-soft);
}
.format-card>span { font-size:1.4rem; }
.format-card strong { font-family:var(--font-display);font-size:.72rem; }
.format-card small { color:var(--text-muted);font-size:.61rem;line-height:1.4; }
.wizard-options {
  margin-top:.8rem;
  padding:.8rem;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.02);
}
.toggle-line {
  min-height:70px;
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.7rem;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.02);
}
.toggle-line input { accent-color:var(--accent); }
.toggle-line strong,.toggle-line small { display:block; }
.toggle-line strong { font-size:.68rem; }
.toggle-line small { color:var(--text-muted);font-size:.58rem;margin-top:.12rem; }
.compact-toggle { min-height:auto; margin:.65rem 0; }
.points-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.45rem;
}
.points-grid>div {
  padding:.65rem;
  border:1px solid var(--border-subtle);
  border-radius:10px;
  background:rgba(255,255,255,.025);
}
.points-grid span,.points-grid strong { display:block; }
.points-grid span { color:var(--text-muted);font-size:.56rem; }
.points-grid strong { font-family:var(--font-display);font-size:.72rem;margin-top:.15rem; }
.checkin-card {
  margin-top:.8rem;
  padding:.8rem;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.02);
}
.checkin-card>div:first-child { margin-bottom:.65rem; }
.checkin-card strong,.checkin-card small { display:block; }
.checkin-card strong { font-size:.72rem; }
.checkin-card small { color:var(--text-muted);font-size:.6rem;margin-top:.15rem; }

.wizard-summary {
  border:1px solid var(--border-card);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--bg-card);
}
.summary-main {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.8rem;
  padding:1rem;
}
.summary-main h3 { font-family:var(--font-display);font-size:1.05rem; }
.summary-main p { color:var(--text-muted);font-size:.66rem;line-height:1.45;margin-top:.3rem;max-width:480px; }
.summary-format {
  white-space:nowrap;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-pill);
  padding:.3rem .5rem;
  color:var(--accent-hover);
  font-size:.58rem;
  font-weight:800;
}
.summary-games {
  display:flex;
  gap:.45rem;
  overflow:auto;
  padding:.8rem 1rem;
  border-top:1px solid var(--border-subtle);
  border-bottom:1px solid var(--border-subtle);
}
.summary-games>div {
  min-width:145px;
  display:flex;
  align-items:center;
  gap:.45rem;
}
.summary-games img,.summary-games>div>span {
  width:38px;height:38px;
  border-radius:8px;
  object-fit:cover;
  display:grid;place-items:center;
  background:var(--bg-deep-2);
}
.summary-games strong { font-size:.62rem; }
.summary-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.summary-grid>div { padding:.75rem 1rem;border-right:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle); }
.summary-grid>div:nth-child(3n) { border-right:0; }
.summary-grid span,.summary-grid strong { display:block; }
.summary-grid span { color:var(--text-muted);font-size:.55rem; }
.summary-grid strong { font-size:.66rem;margin-top:.18rem; }

.wizard-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  padding:.9rem 1.45rem 1.1rem;
}
.wizard-footer-right { display:flex;gap:.5rem; }

.score-modal-content { max-width:520px; }
.score-modal-content h2 { font-family:var(--font-display); font-size:1.05rem; }
.score-versus {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:end;
  gap:.8rem;
  margin:1rem 0;
}
.score-versus>div { text-align:center; }
.score-versus strong { display:block;font-size:.65rem;margin-bottom:.35rem; }
.score-versus input { width:100%;font-size:1rem;text-align:center; }
.modal-actions { display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem; }

@media (max-width:980px) {
  .tournament-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .two-col,.admin-layout { grid-template-columns:1fr; }
  .admin-section:last-child { grid-column:auto; }
  .round-match-grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  header { padding:0 .8rem; }
  .header-center { display:none; }
  .compact-create { display:none; }
  .mobile-create { display:inline-flex; }
  main.tournament-main { padding:1rem .7rem 2.5rem; }
  .welcome-grid { grid-template-columns:1fr; }
  .tournament-welcome-card { width:100%; }
  .tournament-grid { grid-template-columns:1fr; }
  .section-toolbar { align-items:flex-start;flex-direction:column; }
  .detail-inner { flex-direction:column;align-items:flex-start;justify-content:flex-end; }
  .detail-actions { width:100%; }
  .detail-tabs { flex-wrap:nowrap;overflow:auto; }
  .wizard-modal { max-height:96vh; }
  .wizard-progress { overflow:auto; }
  .wizard-step-dot { min-width:64px; }
  .wizard-step-dot small { display:none; }
  .wizard-body { min-height:0;padding:1rem; }
  .wizard-grid.two,.selected-games,.format-cards,.points-grid,.summary-grid { grid-template-columns:1fr; }
  .summary-grid>div { border-right:0; }
  .admin-picker { grid-template-columns:1fr; }
  .wizard-footer { padding:.8rem 1rem; }
  .wizard-footer-right { margin-left:auto; }
}


/* ==========================================================================
   TOORNAMENT V2 — PUBLICATION / PROFIL EMAIL / NOTIFICATIONS
   ========================================================================== */
.user-dropdown .menu-action{
  width:100%;
  border:0;
  background:transparent;
  color:var(--text-main);
  text-align:left;
  padding:.65rem .8rem;
  border-radius:8px;
  font-size:.7rem;
  font-weight:700;
}
.user-dropdown .menu-action:hover{background:var(--accent-soft)}
.user-badge{position:relative}
.email-warning-dot{
  width:8px;height:8px;border-radius:50%;
  background:#f59e0b;box-shadow:0 0 10px rgba(245,158,11,.65);
  margin-left:.2rem;
}

.profile-modal-content{max-width:520px}
.profile-help{color:var(--text-muted);font-size:.76rem;line-height:1.55;margin:.5rem 0 1rem}

.publication-state{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding:.8rem;margin:.75rem 0;border:1px solid var(--border-subtle);
  border-radius:12px;background:rgba(255,255,255,.025)
}
.publication-state strong,.publication-state small{display:block}
.publication-state strong{font-family:var(--font-display);font-size:.76rem}
.publication-state small{color:var(--text-muted);font-size:.62rem;margin-top:.18rem}
.publication-state.is-draft{border-color:rgba(245,158,11,.22);background:rgba(245,158,11,.05)}
.publication-state.is-published{border-color:rgba(16,185,129,.22);background:rgba(16,185,129,.05)}

.admin-actions button:disabled{opacity:.35;cursor:not-allowed;transform:none!important}

.mail-feature-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:.7rem 0
}
.mail-feature-grid span{
  padding:.6rem;border:1px solid var(--border-subtle);border-radius:10px;
  background:rgba(255,255,255,.025);font-size:.65rem;font-weight:700;text-align:center
}
.summary-rules{display:block;color:var(--accent-hover);font-size:.62rem;margin-top:.55rem}

.status-published{color:#7dd3fc;border-color:rgba(125,211,252,.25)}

@media(max-width:720px){
  .mail-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .publication-state{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   TOORNAMENT V2.2 — UX PASS / TEAMAMOUR HEADER
   ========================================================================== */

.toornament-header{
  width:100%;
  height:66px;
  min-height:66px;
  padding:0 1.25rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  position:sticky;
  top:0;
  z-index:300;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(8,5,15,.94);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.toornament-header .header-left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:.85rem;
}

.back-hub{
  color:var(--text-muted);
  text-decoration:none;
  white-space:nowrap;
  font-size:.69rem;
  font-weight:750;
  transition:color .18s ease,transform .18s ease;
}
.back-hub:hover{
  color:var(--text-main);
  transform:translateX(-2px);
}

.header-separator{
  width:1px;
  height:29px;
  background:rgba(255,255,255,.08);
  flex:0 0 1px;
}

.toornament-brand{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:inherit;
  text-decoration:none;
  min-width:0;
}
.toornament-brand .brand-icon{
  font-size:1rem;
  filter:drop-shadow(0 0 12px rgba(157,92,255,.25));
}
.toornament-brand strong{
  font-family:var(--font-display);
  font-size:.9rem;
  font-weight:800;
  letter-spacing:.03em;
  background:var(--gradient-brand);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.toornament-header .header-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
  min-width:0;
}

.header-nav{
  height:38px;
  display:flex;
  align-items:center;
  gap:3px;
  padding:3px;
  border:1px solid var(--border-subtle);
  border-radius:11px;
  background:rgba(255,255,255,.025);
}

.header-nav-btn{
  height:30px;
  padding:0 .7rem;
  border-radius:8px;
  background:transparent;
  color:var(--text-muted);
  font-size:.64rem;
  font-weight:800;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.header-nav-btn:hover{
  color:var(--text-main);
  background:rgba(255,255,255,.045);
}
.header-nav-btn.active{
  color:#fff;
  background:linear-gradient(135deg,rgba(240,95,169,.18),rgba(157,92,255,.20));
  box-shadow:inset 0 0 0 1px rgba(157,92,255,.14);
}

.header-create-btn{
  position:relative;
  overflow:hidden;
  height:38px;
  padding:0 .82rem;
  border-radius:10px;
  color:#fff;
  background:var(--gradient-brand);
  box-shadow:0 7px 22px rgba(157,92,255,.20);
  font-size:.66rem;
  font-weight:850;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.header-create-btn::after,
.btn-primary::after{
  content:"";
  position:absolute;
  top:-120%;
  left:-45%;
  width:32%;
  height:340%;
  transform:rotate(24deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  transition:left .42s ease;
  pointer-events:none;
}
.header-create-btn:hover,
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(157,92,255,.30);
  filter:saturate(1.08);
}
.header-create-btn:hover::after,
.btn-primary:hover::after{
  left:125%;
}

/* boutons: regain de vie */
.btn,
.primary-btn,
.secondary-btn,
.filter-chip,
.format-card,
.tab-btn,
.compact-btn{
  position:relative;
  overflow:hidden;
  transition:
    transform .18s cubic-bezier(.2,.8,.2,1),
    border-color .18s ease,
    background .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    opacity .18s ease;
}
.btn:hover,
.primary-btn:hover,
.secondary-btn:hover,
.compact-btn:hover{
  transform:translateY(-2px);
}
.btn:active,
.primary-btn:active,
.secondary-btn:active,
.filter-chip:active,
.format-card:active,
.tab-btn:active,
.compact-btn:active{
  transform:translateY(0) scale(.975);
}
.filter-chip:hover{
  transform:translateY(-1px);
}
.format-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 34px rgba(0,0,0,.16);
}

/* menu utilisateur — clic, pas hover */
#userMenu{
  flex:0 0 auto;
}
.user-menu-container{
  position:relative;
  display:block;
}
.user-menu-container:hover .user-dropdown{
  display:none;
}
.user-menu-container.open .tournament-user-dropdown{
  display:block;
  animation:menuIn .16s cubic-bezier(.2,.8,.2,1);
}
.tournament-user-badge{
  height:38px;
  max-width:230px;
  display:flex;
  align-items:center;
  gap:.48rem;
  padding:3px 7px 3px 3px;
  border-radius:11px;
  background:rgba(255,255,255,.025);
  border:1px solid var(--border-subtle);
  box-shadow:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.tournament-user-badge:hover,
.user-menu-container.open .tournament-user-badge{
  border-color:rgba(157,92,255,.30);
  background:rgba(157,92,255,.055);
}
.user-badge-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.05;
}
.user-badge-copy .user-name{
  max-width:105px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.68rem;
}
.user-badge-copy small{
  margin-top:3px;
  color:var(--text-dim);
  font-size:.52rem;
  white-space:nowrap;
}
.menu-burger{
  width:20px;
  height:20px;
  display:grid;
  place-content:center;
  gap:3px;
  margin-left:1px;
}
.menu-burger i{
  display:block;
  width:12px;
  height:1.5px;
  border-radius:999px;
  background:var(--text-muted);
  transition:transform .18s ease,opacity .18s ease;
}
.user-menu-container.open .menu-burger i:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.user-menu-container.open .menu-burger i:nth-child(2){opacity:0}
.user-menu-container.open .menu-burger i:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}

.tournament-user-dropdown{
  display:none;
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  width:270px;
  padding:.45rem;
  white-space:normal;
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:rgba(13,9,23,.985);
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  backdrop-filter:blur(20px);
  overflow:hidden;
}
.dropdown-profile{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:.55rem;
  padding:.5rem;
}
.dropdown-avatar{
  width:38px!important;
  height:38px!important;
  flex-basis:38px!important;
}
.dropdown-profile strong,
.dropdown-profile small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dropdown-profile strong{font-size:.72rem}
.dropdown-profile small{margin-top:2px;color:var(--text-dim);font-size:.56rem}
.dropdown-separator{
  height:1px;
  margin:.2rem .3rem;
  background:var(--border-subtle);
}
.dropdown-action{
  width:100%;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:.5rem;
  padding:.58rem;
  border-radius:9px;
  border:0;
  background:transparent;
  color:var(--text-main);
  text-decoration:none;
  text-align:left;
}
.dropdown-action:hover{background:rgba(157,92,255,.07)}
.dropdown-action>span:first-child{
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.035);
}
.dropdown-action strong,.dropdown-action small{display:block}
.dropdown-action strong{font-size:.68rem}
.dropdown-action small{margin-top:2px;color:var(--text-dim);font-size:.55rem}
.logout-action:hover{background:rgba(239,68,68,.065)}
.logout-action strong{color:#ff7b95}

@keyframes menuIn{
  from{opacity:0;transform:translateY(-5px) scale(.985)}
  to{opacity:1;transform:none}
}

/* champs de recherche */
.search-shell{
  position:relative;
}
.search-shell .search-icon{
  position:absolute;
  z-index:2;
  left:.82rem;
  top:50%;
  transform:translateY(-50%);
  color:#b59dcb;
  font-size:1rem;
  pointer-events:none;
}
.search-shell .search-input{
  height:46px;
  width:100%;
  padding-left:2.5rem!important;
  padding-right:2.35rem!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.085)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 8px 24px rgba(0,0,0,.10);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.search-shell .search-input::placeholder{
  color:#777185;
}
.search-shell .search-input:focus{
  border-color:rgba(157,92,255,.48)!important;
  background:rgba(157,92,255,.045)!important;
  box-shadow:
    0 0 0 3px rgba(157,92,255,.09),
    0 12px 32px rgba(0,0,0,.14);
}
.search-clear{
  position:absolute;
  z-index:3;
  right:.55rem;
  top:50%;
  transform:translateY(-50%);
  width:29px;
  height:29px;
  border-radius:8px;
  background:transparent;
  color:var(--text-dim);
  font-size:.9rem;
  opacity:.65;
}
.search-clear:hover{
  opacity:1;
  background:rgba(255,255,255,.055);
  color:var(--text-main);
}
.admin-picker{
  grid-template-columns:minmax(260px,1fr) 155px;
  align-items:start;
}
.role-select{
  height:46px!important;
  border-radius:13px!important;
}

.game-results,
.admin-search-results{
  top:calc(100% + 7px);
  padding:.35rem;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(13,9,23,.99);
  box-shadow:0 20px 55px rgba(0,0,0,.42);
}
.game-results button,
.admin-search-results button{
  min-height:52px;
  padding:.5rem;
  border:0;
  border-radius:10px;
}
.game-results button+button,
.admin-search-results button+button{
  margin-top:2px;
}
.game-results button:hover,
.admin-search-results button:hover{
  background:rgba(157,92,255,.07);
  transform:none;
}
.game-results img{
  width:48px;height:48px;
  border-radius:9px;
}

/* détail: navigation un peu plus cohérente */
.detail-tabs{
  position:sticky;
  top:76px;
  z-index:30;
  width:max-content;
  max-width:100%;
  overflow-x:auto;
  scrollbar-width:none;
  background:rgba(13,9,23,.84);
  backdrop-filter:blur(14px);
}
.detail-tabs::-webkit-scrollbar{display:none}

/* mobile */
@media(max-width:900px){
  .toornament-header{
    padding:0 .7rem;
    gap:.5rem;
  }
  .toornament-header .header-left{gap:.5rem}
  .header-separator{display:none}
  .back-hub{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid var(--border-subtle);
    border-radius:10px;
    background:rgba(255,255,255,.025);
    font-size:0;
  }
  .back-hub::before{
    content:"←";
    font-size:.95rem;
  }
  .toornament-brand strong{font-size:.77rem}
  .toornament-brand .brand-icon{display:none}
  .header-nav{display:none}
  .header-create-btn{
    width:36px;
    min-width:36px;
    padding:0;
  }
  .header-create-btn span:last-child{display:none}
  .user-badge-copy{display:none}
  .tournament-user-badge{
    width:70px;
    max-width:70px;
    padding:3px 6px 3px 3px;
  }
  .menu-burger{margin-left:auto}
  .tournament-user-dropdown{
    position:fixed;
    right:.7rem;
    top:64px;
    width:min(285px,calc(100vw - 1.4rem));
  }
}

@media(max-width:620px){
  .toornament-brand strong{font-size:.72rem}
  .tournament-main{
    padding-left:.7rem!important;
    padding-right:.7rem!important;
  }
  .welcome-grid{grid-template-columns:1fr}
  .tournament-welcome-card{width:100%}
  .admin-picker{grid-template-columns:1fr}
  .role-select{width:100%}
  .detail-tabs{top:64px}
}


/* ==========================================================================
   V2.3 — HEADER HEIGHT / USER CONTRAST FIX
   ========================================================================== */

.toornament-header .header-right{
  align-items:center!important;
}

.header-nav,
.header-create-btn,
.tournament-user-badge{
  height:40px!important;
  min-height:40px!important;
  box-sizing:border-box!important;
}

.header-nav{
  padding:3px!important;
}

.header-nav-btn{
  height:32px!important;
  min-height:32px!important;
  line-height:32px!important;
  padding:0 .78rem!important;
}

.header-create-btn{
  padding:0 .92rem!important;
  line-height:40px!important;
}

.tournament-user-badge{
  padding:3px 8px 3px 3px!important;
}

.tournament-user-badge .header-avatar{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
}

.tournament-user-badge .user-name,
.user-badge-copy .user-name{
  color:var(--text-main)!important;
  opacity:1!important;
  font-weight:800!important;
}

.user-badge-copy small{
  color:var(--text-muted)!important;
}

.menu-burger i{
  background:var(--text-muted)!important;
}

[data-theme="light"] .tournament-user-badge .user-name,
[data-theme="light"] .user-badge-copy .user-name{
  color:var(--text-main)!important;
}

/* évite un éventuel style global qui noircit les boutons */
.toornament-header button{
  color:inherit;
}

@media(max-width:900px){
  .header-nav,
  .header-create-btn,
  .tournament-user-badge{
    height:38px!important;
    min-height:38px!important;
  }
}


/* ==========================================================================
   TOORNAMENT V2.4 — TOURNAMENT CONTROL
   ========================================================================== */

.checkin-card-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.65rem;
}
.switch-inline{
  display:flex;
  align-items:center;
  gap:.4rem;
  color:var(--text-muted);
  font-size:.64rem;
  font-weight:800;
}
.switch-inline input{accent-color:var(--violet)}

.tournament-edit-modal{max-width:760px}
.edit-help{
  margin:.4rem 0 1rem;
  color:var(--text-muted);
  font-size:.72rem;
  line-height:1.55;
}
.edit-checkin-toggle{
  margin:.8rem 0;
}

.admin-control-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.lifecycle-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.5rem;
  margin:.8rem 0 1rem;
}
.lifecycle-grid>div{
  position:relative;
  min-height:82px;
  padding:.65rem;
  border:1px solid var(--border-subtle);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.lifecycle-grid>div>span{
  width:22px;height:22px;
  display:grid;place-items:center;
  margin-bottom:.45rem;
  border-radius:50%;
  border:1px solid var(--border-subtle);
  color:var(--text-dim);
  font-size:.57rem;
  font-weight:900;
}
.lifecycle-grid strong,.lifecycle-grid small{display:block}
.lifecycle-grid strong{font-size:.68rem}
.lifecycle-grid small{margin-top:2px;color:var(--text-dim);font-size:.56rem}
.lifecycle-grid>div.done{
  border-color:rgba(47,230,172,.20);
  background:rgba(47,230,172,.045);
}
.lifecycle-grid>div.done>span{
  border-color:rgba(47,230,172,.28);
  color:#5df0bd;
}
.lifecycle-grid>div.active{
  border-color:rgba(157,92,255,.28);
  background:rgba(157,92,255,.055);
}

.participant-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  margin-bottom:.7rem;
}
.participant-kpis{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.participant-kpis span{
  padding:.42rem .55rem;
  border:1px solid var(--border-subtle);
  border-radius:9px;
  color:var(--text-muted);
  font-size:.62rem;
}
.participant-kpis strong{color:var(--text-main)}
.participant-add{
  padding:0!important;
  border:0!important;
  background:none!important;
}
.participant-add input{
  min-width:250px;
  height:38px;
  padding:0 .7rem;
  border:1px solid var(--border-subtle);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  color:var(--text-main);
}

.participant-status{
  display:inline-block!important;
  width:max-content;
  margin-top:4px;
  padding:.18rem .38rem;
  border-radius:999px;
  border:1px solid var(--border-subtle);
  font-size:.54rem!important;
  font-weight:800;
}
.participant-status.status-checked_in{color:#5df0bd;border-color:rgba(47,230,172,.22)}
.participant-status.status-disqualified{color:#ff8198;border-color:rgba(239,71,111,.22)}
.participant-status.status-withdrawn{color:var(--text-dim)}

.seed-control{
  display:flex!important;
  align-items:center;
  gap:.3rem;
  color:var(--text-dim);
  font-size:.56rem!important;
}
.seed-control input{
  width:56px!important;
  height:30px!important;
  padding:.2rem .35rem!important;
  text-align:center;
}
.participant-actions{
  display:flex;
  gap:.25rem;
}
.participant-actions button{
  width:30px;height:30px;
  display:grid;place-items:center;
  border:1px solid var(--border-subtle);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:var(--text-muted);
  transition:.15s ease;
}
.participant-actions button:hover{
  color:var(--text-main);
  border-color:rgba(157,92,255,.28);
  background:rgba(157,92,255,.06);
  transform:translateY(-1px);
}
.participant-actions .danger-mini:hover{
  color:#ff8198;
  border-color:rgba(239,71,111,.28);
  background:rgba(239,71,111,.06);
}

.competition-empty{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.8rem;
}
.competition-empty h2{margin:.25rem 0;font-size:1.15rem}
.competition-empty p{margin:0;color:var(--text-muted);font-size:.7rem}

.bracket-preview{
  padding:1rem;
  border:1px dashed rgba(157,92,255,.25);
  border-radius:16px;
  background:rgba(157,92,255,.025);
}
.preview-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.8rem;
}
.preview-head h3{margin:.2rem 0 0}
.preview-head small{color:var(--text-dim);font-size:.6rem}
.preview-round{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:.5rem;
}
.preview-match{
  padding:.58rem;
  border:1px solid var(--border-subtle);
  border-radius:10px;
  background:rgba(255,255,255,.02);
}
.preview-match>span{
  display:block;
  margin-bottom:.35rem;
  color:var(--text-dim);
  font-size:.54rem;
  font-weight:800;
  text-transform:uppercase;
}
.preview-match strong{
  display:block;
  padding:.27rem .35rem;
  border-radius:6px;
  font-size:.65rem;
}
.preview-match strong+strong{margin-top:2px;background:rgba(255,255,255,.025)}

@media(max-width:820px){
  .lifecycle-grid{grid-template-columns:1fr 1fr}
  .participant-toolbar{align-items:stretch;flex-direction:column}
  .participant-add{display:grid!important;grid-template-columns:1fr auto}
  .participant-add input{min-width:0;width:100%}
  .competition-empty{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .lifecycle-grid{grid-template-columns:1fr}
  .admin-control-heading{align-items:stretch;flex-direction:column}
}


/* ==========================================================================
   TOORNAMENT V2.5 — UI CLEANUP + MATCH ADMIN
   ========================================================================== */

/* Les dropdowns vides créaient les barres noires visibles sous les recherches. */
.game-results:empty,
.admin-search-results:empty{
  display:none!important;
}

/* Sélection des jeux : une carte seule occupe la largeur, pas une demi-colonne perdue. */
.selected-games{
  grid-template-columns:1fr!important;
}
.selected-game-card{
  width:100%;
  min-height:66px;
}
.selected-game-card img,
.selected-game-card .mini-cover{
  width:50px!important;
  height:50px!important;
}
.selected-game-card button{
  border-radius:8px;
  transition:.16s ease;
}
.selected-game-card button:hover{
  background:rgba(239,71,111,.08);
  color:#ff8198;
}

/* Les cartes admin d'une même ligne ne s'étirent plus à la hauteur de la plus grande. */
.admin-layout{
  align-items:start!important;
}
.admin-section{
  align-self:start!important;
}

/* Barre d'onglets : même hauteur / padding / feedback partout. */
.detail-tabs{
  min-height:50px;
  align-items:center;
  padding:5px;
}
.detail-tabs .tab-btn{
  min-height:38px;
  height:38px;
  padding:0 1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Les CTA de détail avaient des transitions mais pas de base visuelle suffisamment forte. */
.primary-btn,
.secondary-btn{
  min-height:40px;
  height:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  padding:.62rem .9rem;
  border-radius:10px;
  font-size:.66rem;
  line-height:1;
  font-weight:850;
  text-decoration:none;
}
.primary-btn{
  color:#fff!important;
  border:1px solid transparent!important;
  background:var(--gradient-brand)!important;
  box-shadow:0 8px 24px rgba(157,92,255,.22);
}
.primary-btn:hover{
  color:#fff!important;
  box-shadow:0 12px 30px rgba(157,92,255,.30);
}
.secondary-btn{
  color:var(--text-main)!important;
  border:1px solid var(--border-subtle)!important;
  background:rgba(255,255,255,.035)!important;
}
.secondary-btn:hover{
  border-color:rgba(157,92,255,.28)!important;
  background:rgba(157,92,255,.07)!important;
}

/* Modal édition : reste dans l'écran au lieu de partir sous la taskbar. */
.modal{
  padding:20px;
  overflow:auto;
}
.tournament-edit-modal{
  width:min(780px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  overscroll-behavior:contain;
}
.tournament-edit-modal .modal-actions{
  position:sticky;
  bottom:-1px;
  z-index:5;
  margin:1rem -.05rem -.05rem;
  padding:.8rem 0 .05rem;
  background:linear-gradient(180deg,transparent,var(--bg-surface) 22%);
}

/* Administration des matchs */
.match-card{
  position:relative;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease;
}
.match-card.is-clickable{
  cursor:pointer;
}
.match-card.is-clickable:hover{
  transform:translateY(-2px);
  border-color:rgba(157,92,255,.36);
  background:rgba(157,92,255,.055);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.match-card.is-clickable:focus-visible{
  outline:3px solid rgba(157,92,255,.16);
  border-color:rgba(157,92,255,.48);
}
.match-card.status-confirmed{
  border-color:rgba(47,230,172,.16);
}
.match-card.status-reported{
  border-color:rgba(245,158,11,.24);
}
.match-state{
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:750;
}
.match-foot-actions{
  display:flex;
  align-items:center;
  gap:.35rem;
}
.match-admin-hint{
  color:var(--accent-hover);
  font-weight:800;
}
.pending-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#f59e0b;
  box-shadow:0 0 9px rgba(245,158,11,.55);
}

.match-admin-modal{
  width:min(650px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
}
.match-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1rem;
}
.match-modal-head h2{
  margin:.2rem 0;
}
.match-modal-head p{
  margin:0;
  color:var(--text-muted);
  font-size:.7rem;
}
.match-modal-status{
  padding:.28rem .5rem;
  border:1px solid var(--border-subtle);
  border-radius:999px;
  color:var(--text-muted);
  font-size:.58rem;
  font-weight:850;
  text-transform:uppercase;
}

.match-score-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);
  align-items:center;
  gap:.7rem;
  margin:1rem 0;
}
.score-player-box{
  padding:.8rem;
  border:1px solid var(--border-subtle);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.score-player-name{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:.55rem;
  color:var(--text-main);
  font-size:.72rem;
  font-weight:850;
  text-align:center;
}
.score-vs-mark{
  color:var(--text-dim);
  font-size:.65rem;
  font-weight:900;
  text-align:center;
}
.score-stepper{
  display:grid;
  grid-template-columns:36px 1fr 36px;
  align-items:center;
  gap:.3rem;
}
.score-stepper button{
  height:40px;
  border:1px solid var(--border-subtle);
  border-radius:9px;
  background:rgba(255,255,255,.03);
  color:var(--text-main);
  font-size:1rem;
  font-weight:800;
  transition:.15s ease;
}
.score-stepper button:hover{
  border-color:rgba(157,92,255,.30);
  background:rgba(157,92,255,.07);
}
.score-stepper input{
  height:46px!important;
  padding:.4rem!important;
  text-align:center;
  font-size:1.05rem!important;
  font-weight:900!important;
  -moz-appearance:textfield;
}
.score-stepper input::-webkit-outer-spin-button,
.score-stepper input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.toggle-line.disabled{
  opacity:.42;
}
.pending-report-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  margin:.75rem 0;
  padding:.7rem;
  border:1px solid rgba(245,158,11,.20);
  border-radius:12px;
  background:rgba(245,158,11,.045);
}
.pending-report-box strong,
.pending-report-box small{
  display:block;
}
.pending-report-box strong{
  margin:.18rem 0;
  font-size:.8rem;
}
.pending-report-box small{
  color:var(--text-muted);
  font-size:.6rem;
}
.match-modal-actions{
  margin-top:1rem;
}

/* Bracket plus lisible : colonnes uniformes et matchs moins collés. */
.bracket{
  gap:1.25rem!important;
  align-items:flex-start;
}
.bracket-round{
  width:280px!important;
  flex:0 0 280px;
}
.round-title{
  min-height:26px;
  display:flex;
  align-items:center;
  padding-left:.15rem;
  font-size:.65rem!important;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.round-matches{
  gap:.75rem!important;
}

/* Formulaires/recherches */
.form-input{
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.form-input:focus{
  border-color:rgba(157,92,255,.45)!important;
  box-shadow:0 0 0 3px rgba(157,92,255,.08)!important;
}

@media(max-width:720px){
  .match-score-grid{
    grid-template-columns:1fr!important;
  }
  .score-vs-mark{
    padding:.05rem 0;
  }
  .pending-report-box{
    align-items:stretch;
    flex-direction:column;
  }
  .modal{
    padding:10px;
  }
  .tournament-edit-modal,
  .match-admin-modal{
    max-height:calc(100vh - 20px);
  }
}


/* ==========================================================================
   TOORNAMENT V2.5.1 — ACTIVE TABS / HEADER HEIGHT / FAVICON
   ========================================================================== */

/* Le bug venait aussi du JS, mais on verrouille ici le rendu actif. */
.detail-tabs .tab-btn{
  box-sizing:border-box!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 1rem!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--text-muted)!important;
  line-height:1!important;
}

.detail-tabs .tab-btn:hover{
  color:var(--text-main)!important;
  background:rgba(255,255,255,.035)!important;
}

.detail-tabs .tab-btn.active{
  color:#fff!important;
  border-color:rgba(157,92,255,.78)!important;
  background:rgba(157,92,255,.12)!important;
  box-shadow:
    inset 0 0 0 1px rgba(157,92,255,.09),
    0 0 18px rgba(157,92,255,.06)!important;
}

/* Même boîte de 42px pour les trois blocs visibles du header. */
.toornament-header .header-right{
  display:flex!important;
  align-items:center!important;
  gap:.5rem!important;
}

.toornament-header .header-nav,
.toornament-header .header-create-btn,
.toornament-header .tournament-user-badge{
  box-sizing:border-box!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin:0!important;
}

.toornament-header .header-nav{
  display:flex!important;
  align-items:center!important;
  padding:4px!important;
  border-radius:12px!important;
}

.toornament-header .header-nav-btn{
  box-sizing:border-box!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0 .82rem!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  margin:0!important;
}

.toornament-header .header-create-btn{
  padding:0 .95rem!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.35rem!important;
  line-height:1!important;
  border-radius:11px!important;
}

.toornament-header .tournament-user-badge{
  padding:4px 8px 4px 4px!important;
  display:flex!important;
  align-items:center!important;
  gap:.48rem!important;
  border-radius:11px!important;
}

.toornament-header .tournament-user-badge .header-avatar{
  box-sizing:border-box!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  max-width:32px!important;
  max-height:32px!important;
  margin:0!important;
}

.toornament-header .user-badge-copy{
  height:32px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.toornament-header .menu-burger{
  height:32px!important;
  display:grid!important;
  align-content:center!important;
}

@media(max-width:900px){
  .toornament-header .header-nav,
  .toornament-header .header-create-btn,
  .toornament-header .tournament-user-badge{
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
  }

  .toornament-header .header-nav-btn{
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
  }

  .toornament-header .tournament-user-badge .header-avatar{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
  }
}


/* ==========================================================================
   TOORNAMENT V2.5.2 — SCROLLBARS TEAMAMOUR
   ========================================================================== */

/* Firefox */
html,
body,
.modal,
.modal-content,
.tournament-edit-modal,
.match-admin-modal,
textarea,
.detail-tabs,
.bracket,
.game-results,
.admin-search-results{
  scrollbar-width:thin;
  scrollbar-color:rgba(157,92,255,.72) rgba(255,255,255,.035);
}

/* Chromium / Edge / Safari */
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.modal::-webkit-scrollbar,
.modal-content::-webkit-scrollbar,
.tournament-edit-modal::-webkit-scrollbar,
.match-admin-modal::-webkit-scrollbar,
textarea::-webkit-scrollbar,
.detail-tabs::-webkit-scrollbar,
.bracket::-webkit-scrollbar,
.game-results::-webkit-scrollbar,
.admin-search-results::-webkit-scrollbar{
  width:10px;
  height:10px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
.modal::-webkit-scrollbar-track,
.modal-content::-webkit-scrollbar-track,
.tournament-edit-modal::-webkit-scrollbar-track,
.match-admin-modal::-webkit-scrollbar-track,
textarea::-webkit-scrollbar-track,
.detail-tabs::-webkit-scrollbar-track,
.bracket::-webkit-scrollbar-track,
.game-results::-webkit-scrollbar-track,
.admin-search-results::-webkit-scrollbar-track{
  background:rgba(255,255,255,.025);
  border-radius:999px;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
.modal::-webkit-scrollbar-thumb,
.modal-content::-webkit-scrollbar-thumb,
.tournament-edit-modal::-webkit-scrollbar-thumb,
.match-admin-modal::-webkit-scrollbar-thumb,
textarea::-webkit-scrollbar-thumb,
.detail-tabs::-webkit-scrollbar-thumb,
.bracket::-webkit-scrollbar-thumb,
.game-results::-webkit-scrollbar-thumb,
.admin-search-results::-webkit-scrollbar-thumb{
  min-height:36px;
  border:2px solid transparent;
  border-radius:999px;
  background:
    linear-gradient(180deg,rgba(240,95,169,.88),rgba(157,92,255,.88))
    padding-box;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
.modal::-webkit-scrollbar-thumb:hover,
.modal-content::-webkit-scrollbar-thumb:hover,
.tournament-edit-modal::-webkit-scrollbar-thumb:hover,
.match-admin-modal::-webkit-scrollbar-thumb:hover,
textarea::-webkit-scrollbar-thumb:hover,
.detail-tabs::-webkit-scrollbar-thumb:hover,
.bracket::-webkit-scrollbar-thumb:hover,
.game-results::-webkit-scrollbar-thumb:hover,
.admin-search-results::-webkit-scrollbar-thumb:hover{
  background:
    linear-gradient(180deg,rgba(255,117,180,.98),rgba(178,118,255,.98))
    padding-box;
}

/* Modal d'édition : évite le gros ascenseur blanc natif collé au bord */
.tournament-edit-modal{
  scrollbar-gutter:stable;
  padding-right:1rem;
}

textarea{
  scrollbar-gutter:stable;
}


/* ==========================================================================
   TOORNAMENT V2.5.3 — LEGACY TOURNAMENTS
   ========================================================================== */

.edit-games-block{
  margin:1rem 0;
}
.edit-selected-games{
  margin-top:.55rem;
  grid-template-columns:1fr!important;
}
.form-help{
  display:block;
  margin-top:.4rem;
  color:var(--text-dim);
  font-size:.58rem;
}

.legacy-score-panel{
  padding:1rem;
}
.legacy-score-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.8rem;
}
.legacy-score-heading h2{
  margin:.2rem 0 .2rem;
}
.legacy-score-heading p{
  margin:0;
  color:var(--text-muted);
  font-size:.68rem;
}
.legacy-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid var(--border-subtle);
  border-radius:14px;
}
.legacy-score-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  background:rgba(255,255,255,.015);
}
.legacy-score-table th,
.legacy-score-table td{
  padding:.7rem .75rem;
  border-bottom:1px solid var(--border-subtle);
  border-right:1px solid rgba(255,255,255,.035);
  text-align:center;
  font-size:.65rem;
}
.legacy-score-table th{
  position:sticky;
  top:0;
  z-index:2;
  background:#120c20;
  color:var(--text-muted);
  font-size:.57rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.legacy-score-table tr:last-child td{
  border-bottom:0;
}
.legacy-score-table tbody tr{
  transition:background .15s ease;
}
.legacy-score-table tbody tr:hover{
  background:rgba(157,92,255,.045);
}
.legacy-rank{
  width:46px;
  color:var(--accent-hover);
  font-weight:900;
}
.legacy-player{
  min-width:190px;
  display:flex;
  align-items:center;
  gap:.5rem;
  text-align:left!important;
}
.legacy-player .avatar{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
}
.legacy-total{
  background:rgba(157,92,255,.05);
  color:#fff;
  font-size:.72rem!important;
}

@media(max-width:720px){
  .legacy-score-heading{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* V2.5.4 — standings, rewards, winner */
.overview-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:1rem}
.overview-copy-block{margin-top:1rem;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.02)}
.overview-copy-block p{margin:.45rem 0 0;line-height:1.6;color:var(--text-soft,#ddd)}
.rewards-block{box-shadow:0 0 0 1px rgba(255,105,180,.06) inset;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015))}
.winner-panel{margin-top:1rem;padding:1rem;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(135deg,rgba(255,104,196,.12),rgba(117,71,255,.10))}
.winner-line{display:flex;align-items:center;gap:.75rem;margin-top:.55rem}
.winner-line strong{display:block}
.winner-avatar{box-shadow:0 0 0 2px rgba(255,255,255,.08),0 0 22px rgba(255,104,196,.22)}
.hero-winner-chip{margin-top:.65rem;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:.85rem}
.standings-panel .standings-topline{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem}
.winner-inline-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.standings-row-winner{background:linear-gradient(90deg,rgba(255,104,196,.12),rgba(117,71,255,.08))}
.standings-row-winner strong{color:#fff}
@media(max-width:960px){.overview-grid{grid-template-columns:1fr}}


/* ==========================================================================
   TOORNAMENT V2.6 — TEAM MODE
   ========================================================================== */
.participant-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1rem}
.participant-mode-card{display:flex;align-items:center;gap:.7rem;padding:.85rem;border:1px solid var(--border-subtle);border-radius:14px;background:rgba(255,255,255,.025);color:var(--text-main);text-align:left;transition:.16s ease}
.participant-mode-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(157,92,255,.08);font-size:1.05rem}
.participant-mode-card strong,.participant-mode-card small{display:block}.participant-mode-card small{margin-top:3px;color:var(--text-dim);font-size:.58rem}
.participant-mode-card:hover{transform:translateY(-2px);border-color:rgba(157,92,255,.28)}.participant-mode-card.selected{border-color:rgba(157,92,255,.70);background:rgba(157,92,255,.09);box-shadow:0 0 0 1px rgba(157,92,255,.08) inset}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:.75rem}
.team-card{padding:.85rem;border:1px solid var(--border-subtle);border-radius:16px;background:rgba(255,255,255,.02)}
.team-card-head,.team-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.team-identity{display:flex;align-items:center;gap:.65rem}.team-identity h3{margin:.15rem 0 0}.team-monogram{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,rgba(240,95,169,.18),rgba(157,92,255,.20));border:1px solid rgba(157,92,255,.22);font-weight:900;font-size:.68rem}
.team-roster-mini{display:grid;gap:.35rem;margin:.75rem 0}.team-roster-mini>div{display:flex;align-items:center;gap:.5rem;padding:.38rem;border-radius:9px;background:rgba(255,255,255,.018)}.team-roster-mini strong,.team-roster-mini small{display:block}.team-roster-mini small{color:var(--text-dim);font-size:.54rem}
.team-card-foot{padding-top:.65rem;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.6rem}
.team-modal-content{max-width:720px}.team-roster-head{display:flex;justify-content:space-between;align-items:center;margin:.9rem 0 .45rem}.team-roster-head strong{display:block;margin-top:.15rem}.team-roster{display:grid;gap:.35rem;margin-bottom:.65rem}.team-roster-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.5rem;border:1px solid var(--border-subtle);border-radius:11px;background:rgba(255,255,255,.02)}.team-roster-row strong,.team-roster-row small{display:block}.team-roster-row small{color:var(--text-dim);font-size:.55rem}.team-roster-row button{width:30px;height:30px;border-radius:8px;background:rgba(239,68,68,.05);color:#ff8198}.captain-chip{padding:.25rem .45rem;border-radius:999px;background:rgba(157,92,255,.08);color:var(--accent-hover);font-size:.54rem;font-weight:800}.team-member-search{margin-top:.65rem}.team-modal-actions{display:flex;align-items:center}.modal-spacer{flex:1}
.confirm-modal-card{max-width:440px;text-align:center}.confirm-icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto .75rem;border-radius:16px;background:linear-gradient(135deg,rgba(240,95,169,.16),rgba(157,92,255,.18));border:1px solid rgba(157,92,255,.20);font-size:1.35rem}.confirm-modal-card p{color:var(--text-muted);line-height:1.55}.btn-danger{color:#fff!important;background:linear-gradient(135deg,#ef476f,#d11f52)!important;border-color:transparent!important}
@media(max-width:680px){.participant-mode-picker{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.team-modal-actions{flex-wrap:wrap}.modal-spacer{display:none}.team-modal-actions>*{flex:1 1 auto}}


/* ==========================================================================
   TOORNAMENT V2.7 — COMPETITION FORMATS
   ========================================================================== */
.competition-format-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.competition-format-grid .format-card:last-child{grid-column:1/-1}
.wizard-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.format-inline-info{display:flex;align-items:center;min-height:72px}

.points-format-wrap,.groups-format-wrap{display:grid;gap:1rem}
.points-format-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.points-format-intro h2,.playoffs-cta h3{margin:.18rem 0}
.points-format-intro p,.playoffs-cta p{margin:0;color:var(--text-muted);font-size:.68rem}
.points-entry-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.7rem}
.points-entry-table label{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:.6rem;padding:.48rem .55rem;border:1px solid var(--border-subtle);border-radius:11px;background:rgba(255,255,255,.018)}
.points-entry-player{display:flex;align-items:center;gap:.5rem;min-width:0}
.points-entry-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem}
.points-entry-player .avatar{width:30px!important;height:30px!important;flex:0 0 30px!important}
.points-entry-table input{height:36px;border:1px solid var(--border-subtle);border-radius:8px;background:rgba(255,255,255,.025);color:var(--text-main);text-align:center;font-weight:800}
.points-entry-table input:focus{outline:none;border-color:rgba(157,92,255,.45);box-shadow:0 0 0 3px rgba(157,92,255,.08)}
.points-round-actions{display:flex;justify-content:flex-end;margin-top:.7rem}

.group-standings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.group-card{padding:.85rem}
.group-table{display:grid;gap:.28rem;margin-top:.55rem}
.group-table>div{display:grid;grid-template-columns:34px minmax(0,1fr) 65px 90px;align-items:center;gap:.45rem;padding:.45rem;border-radius:9px;border:1px solid rgba(255,255,255,.045);background:rgba(255,255,255,.015)}
.group-table>div>strong{color:var(--accent-hover);font-size:.62rem}
.group-table>div>span{display:flex;align-items:center;gap:.4rem;min-width:0;font-size:.63rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-table .avatar{width:27px!important;height:27px!important;flex:0 0 27px!important}
.group-table b{font-size:.62rem;text-align:right}.group-table small{font-size:.55rem;color:var(--text-dim);text-align:right}
.playoffs-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-color:rgba(157,92,255,.18)}
.playoffs-cta button:disabled{opacity:.4;cursor:not-allowed;transform:none!important}
.playoff-section>.section-title{margin-bottom:.55rem}

.standings-format-points_table .standings-head,.standings-format-points_table .standings-row{grid-template-columns:55px minmax(180px,1fr) 100px 100px}
.standings-format-round_robin .standings-head,.standings-format-round_robin .standings-row{grid-template-columns:55px minmax(180px,1fr) 80px 100px 90px 90px}
.standings-format-groups_playoffs .standings-head,.standings-format-groups_playoffs .standings-row{grid-template-columns:55px minmax(180px,1fr) 75px 95px 75px 80px}

@media(max-width:800px){
  .competition-format-grid{grid-template-columns:1fr!important}.competition-format-grid .format-card:last-child{grid-column:auto}
  .wizard-grid.three{grid-template-columns:1fr}
  .points-entry-table{grid-template-columns:1fr}
  .group-standings-grid{grid-template-columns:1fr}
  .playoffs-cta{align-items:flex-start;flex-direction:column}
}

/* V2.9 social + discord */
.wizard-subsection,.edit-config-card{margin-top:1rem;padding:1rem;border:1px solid var(--border-subtle);border-radius:16px;background:rgba(255,255,255,.018)}.wizard-subsection-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}.wizard-subsection-head strong,.wizard-subsection-head small{display:block}.wizard-subsection-head small{color:var(--text-muted);font-size:.62rem;margin-top:3px}.notify-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:.6rem}.notify-toggle-grid label{display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;border:1px solid var(--border-subtle);border-radius:10px;background:rgba(255,255,255,.02);color:var(--text-muted);font-size:.62rem;font-weight:750}.notify-toggle-grid input,.discord-broadcast-toggle input{accent-color:#a875ff}.discord-notify-config{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border-subtle)}.tournament-social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1rem}.social-btn{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:.65rem;align-items:center;padding:.75rem .8rem;border-radius:14px;border:1px solid var(--border-subtle);text-decoration:none;color:#fff;transition:.18s ease}.social-btn>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.08)}.social-btn strong{font-size:.72rem}.social-btn small{color:rgba(255,255,255,.62);font-size:.56rem}.social-btn:hover{transform:translateY(-2px)}.social-btn.discord{background:linear-gradient(135deg,rgba(88,101,242,.18),rgba(88,101,242,.07));border-color:rgba(88,101,242,.30)}.social-btn.twitch{background:linear-gradient(135deg,rgba(145,70,255,.18),rgba(145,70,255,.07));border-color:rgba(145,70,255,.30)}@media(max-width:700px){.notify-toggle-grid,.tournament-social-links{grid-template-columns:1fr 1fr}}


/* ==========================================================================\n   TOORNAMENT V2.10 — PHASES & MULTI-FORMAT\n   ========================================================================== */
.phase-tabs{display:flex;gap:.55rem;overflow:auto;padding:.15rem .1rem .7rem;scrollbar-width:none}.phase-tabs::-webkit-scrollbar{display:none}
.phase-tab{min-width:190px;padding:.72rem .85rem;border:1px solid var(--border-subtle);border-radius:14px;background:rgba(255,255,255,.022);color:var(--text-muted);text-align:left;transition:.16s ease}
.phase-tab:hover{transform:translateY(-2px);border-color:rgba(157,92,255,.28);background:rgba(157,92,255,.05)}
.phase-tab.active{border-color:rgba(157,92,255,.72);background:linear-gradient(135deg,rgba(240,95,169,.10),rgba(157,92,255,.12));box-shadow:0 8px 26px rgba(0,0,0,.12)}
.phase-tab.completed{box-shadow:inset 0 0 0 1px rgba(47,230,172,.07)}
.phase-tab span,.phase-tab strong,.phase-tab small{display:block}.phase-tab span{font-size:.53rem;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-hover)}.phase-tab strong{margin:.2rem 0;font-size:.72rem;color:var(--text-main)}.phase-tab small{font-size:.55rem;color:var(--text-dim)}
.phase-panel{padding:1rem}.phase-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.phase-head h2{margin:.2rem 0}.phase-head p{margin:0;color:var(--text-muted);font-size:.68rem}
.phase-warning{margin:.75rem 0;padding:.72rem .85rem;border:1px solid rgba(245,158,11,.25);border-radius:12px;background:rgba(245,158,11,.055);font-size:.65rem;line-height:1.5}
.phase-score-wrap{overflow:auto;border:1px solid var(--border-subtle);border-radius:14px}.phase-score-table{width:100%;min-width:820px;border-collapse:collapse}.phase-score-table th,.phase-score-table td{padding:.62rem .68rem;border-right:1px solid rgba(255,255,255,.035);border-bottom:1px solid var(--border-subtle);text-align:center;font-size:.62rem}.phase-score-table th{background:#120c20;color:var(--text-muted);font-size:.54rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:2}.phase-score-table tr:last-child td{border-bottom:0}.phase-player{display:flex;align-items:center;gap:.45rem;text-align:left!important;min-width:180px}.phase-player .avatar{width:28px!important;height:28px!important;flex:0 0 28px!important}.phase-score-input{width:74px;padding:.42rem;border:1px solid var(--border-subtle);border-radius:8px;background:rgba(255,255,255,.025);color:var(--text-main);text-align:center}.phase-score-input:focus{outline:none;border-color:rgba(157,92,255,.45);box-shadow:0 0 0 3px rgba(157,92,255,.08)}.tie-col{background:rgba(245,158,11,.035)!important}.tie-row{background:rgba(245,158,11,.025)}.qual-chip,.out-chip{display:inline-flex;padding:.22rem .42rem;border-radius:999px;font-size:.52rem;font-weight:800}.qual-chip{color:#5df0bd;background:rgba(47,230,172,.07);border:1px solid rgba(47,230,172,.17)}.out-chip{color:var(--text-dim);background:rgba(255,255,255,.025);border:1px solid var(--border-subtle)}.phase-savebar{display:flex;justify-content:flex-end;margin-top:.7rem}
.phase-admin-list{display:grid;gap:.45rem}.phase-admin-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem;border:1px solid var(--border-subtle);border-radius:12px;background:rgba(255,255,255,.018)}.phase-order{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(157,92,255,.08);color:var(--accent-hover);font-weight:900}.phase-admin-row strong,.phase-admin-row small{display:block}.phase-admin-row strong{font-size:.68rem}.phase-admin-row small{margin-top:2px;color:var(--text-dim);font-size:.55rem}.phase-admin-actions{display:flex;gap:.3rem}.phase-admin-actions button{height:30px;padding:0 .55rem;border:1px solid var(--border-subtle);border-radius:8px;background:rgba(255,255,255,.025);color:var(--text-muted);font-size:.58rem}.multi-phase-empty{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px dashed rgba(157,92,255,.24);border-radius:13px;background:rgba(157,92,255,.025)}.multi-phase-empty strong,.multi-phase-empty small{display:block}.multi-phase-empty small{margin-top:3px;color:var(--text-dim);font-size:.58rem}
.phase-modal-card{max-width:760px;max-height:calc(100vh - 40px);overflow:auto}.phase-game-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.phase-game-check input{position:absolute;opacity:0;pointer-events:none}.phase-game-check span{display:flex;align-items:center;gap:.45rem;padding:.55rem;border:1px solid var(--border-subtle);border-radius:10px;background:rgba(255,255,255,.02);cursor:pointer;font-size:.62rem}.phase-game-check img{width:32px;height:32px;object-fit:cover;border-radius:7px}.phase-game-check input:checked+span{border-color:rgba(157,92,255,.55);background:rgba(157,92,255,.08);box-shadow:inset 0 0 0 1px rgba(157,92,255,.08)}
.series-modal-card{max-width:900px;max-height:calc(100vh - 40px);overflow:auto}.series-scoreline{display:flex;justify-content:center;align-items:center;gap:1rem;padding:.8rem;margin-bottom:.8rem;border-radius:14px;background:linear-gradient(135deg,rgba(240,95,169,.08),rgba(157,92,255,.08));font-size:.9rem}.series-section{padding:.8rem;margin-top:.75rem;border:1px solid var(--border-subtle);border-radius:14px;background:rgba(255,255,255,.018)}.series-section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem}.series-section-head h3{margin:.15rem 0}.draft-action-row{display:grid;grid-template-columns:28px 105px 150px minmax(180px,1fr) 34px;gap:.35rem;align-items:center;margin-bottom:.35rem}.draft-action-row>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(157,92,255,.07);font-size:.58rem;font-weight:900}.draft-action-row select,.series-game-row input,.series-game-row select{height:38px;padding:0 .55rem;border:1px solid var(--border-subtle);border-radius:9px;background:#0e0918;color:var(--text-main);font-size:.6rem}.draft-action-row button{height:34px;border:1px solid var(--border-subtle);border-radius:8px;background:rgba(239,71,111,.05);color:#ff8198}.series-game-row{display:grid;grid-template-columns:minmax(160px,1.4fr) 120px 120px 150px auto;gap:.4rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}.series-game-row:last-child{border-bottom:0}.series-game-row>div strong,.series-game-row>div span{display:block}.series-selection{font-size:.5rem;color:var(--accent-hover);text-transform:uppercase;letter-spacing:.06em}.series-game-row strong{font-size:.65rem}
@media(max-width:760px){.phase-head,.multi-phase-empty{align-items:flex-start;flex-direction:column}.phase-game-picker{grid-template-columns:1fr}.draft-action-row{grid-template-columns:28px 1fr 1fr}.draft-action-row select:nth-of-type(3){grid-column:2/4}.series-game-row{grid-template-columns:1fr 1fr}.series-game-row>div{grid-column:1/3}}
