:root{
  --bg:#07111f;
  --bg-soft:#0b1728;
  --panel:#0f1f35;
  --panel-2:#122944;
  --card:#102033;
  --card-2:#132b45;
  --txt:#edf6ff;
  --mut:#99acc5;
  --brand:#2dd4bf;
  --brand-2:#38bdf8;
  --gold:#facc15;
  --danger:#ef4444;
  --ok:#22c55e;
  --border:rgba(148,163,184,.18);
  --input:#06101f;
  --shadow:0 18px 45px rgba(0,0,0,.28);
  --radius:18px;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--txt);background:
  radial-gradient(circle at top left,rgba(45,212,191,.16),transparent 34rem),
  radial-gradient(circle at top right,rgba(56,189,248,.12),transparent 34rem),
  linear-gradient(180deg,#07111f 0%,#091525 45%,#060b14 100%);-webkit-font-smoothing:antialiased}
a{color:inherit}.mut{color:var(--mut)}

.bc-topbar{height:64px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:50;padding:10px 16px;background:rgba(7,17,31,.88);border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}
.bc-menu-btn,.bc-close{border:1px solid var(--border);background:rgba(15,31,53,.95);color:var(--txt);border-radius:14px;min-width:44px;height:44px;font-size:22px;cursor:pointer;display:grid;place-items:center}.bc-close{margin-left:auto;font-size:30px;line-height:1}
.bc-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.bc-logo-img{width:44px;height:44px;border-radius:999px;object-fit:contain;box-shadow:0 0 0 2px rgba(255,255,255,.16),0 8px 22px rgba(0,0,0,.35);background:#000}.bc-logo-large-img{width:62px;height:62px;border-radius:999px;object-fit:contain;flex:0 0 auto;box-shadow:0 0 0 2px rgba(255,255,255,.18),0 10px 28px rgba(0,0,0,.40);background:#000}.bc-brand-text{display:flex;flex-direction:column;line-height:1.05}.bc-brand-text strong{font-size:15px}.bc-brand-text small{color:var(--mut);font-size:12px;margin-top:3px}.bc-install{margin-left:auto;border:0;border-radius:999px;background:var(--brand);color:#05251f;font-weight:900;padding:10px 13px;cursor:pointer}.bc-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:80}.bc-drawer{position:fixed;top:0;left:0;height:100dvh;width:min(390px,92vw);z-index:90;background:linear-gradient(180deg,#0b1728,#070f1b);border-right:1px solid var(--border);box-shadow:var(--shadow);transform:translateX(-105%);transition:transform .2s ease;padding:14px;overflow:auto}.bc-drawer.open{transform:translateX(0)}.bc-drawer-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.bc-drawer-head span{display:block;color:var(--mut);font-size:13px;margin-top:3px}.bc-user-card{background:rgba(16,32,51,.85);border:1px solid var(--border);border-radius:16px;padding:13px;margin:10px 0 14px}.bc-user-card span,.bc-user-card small{display:block;color:var(--mut);font-size:13px}.bc-user-card strong{display:block;margin:3px 0}.bc-nav{display:grid;gap:8px}.bc-nav a{display:flex;align-items:center;gap:10px;text-decoration:none;background:rgba(16,32,51,.82);border:1px solid var(--border);border-radius:15px;padding:14px 14px;font-weight:800}.bc-nav a:hover{background:rgba(19,43,69,.95)}.bc-nav .danger-link{color:#fecaca;border-color:rgba(239,68,68,.35)}

.wrap{width:min(1180px,100%);margin:0 auto;padding:22px 18px 38px}.page-hero{margin:8px 0 14px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,rgba(16,32,51,.95),rgba(19,43,69,.82));box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;color:var(--brand);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.12em}h1{margin:0;font-size:clamp(22px,3.4vw,32px);line-height:1.08}h2{font-size:clamp(21px,3vw,28px);margin:18px 0 10px}h3{margin:12px 0 6px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.card,.tablebox,form{background:rgba(16,32,51,.88);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:14px 0;box-shadow:var(--shadow)}.card.highlight{background:linear-gradient(135deg,rgba(45,212,191,.14),rgba(56,189,248,.11)),rgba(16,32,51,.88)}.stat-card{display:flex;flex-direction:column;gap:6px}.stat-card .number{font-size:34px;font-weight:900}.stat-card .label{color:var(--mut);font-weight:700}.btn,button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;background:var(--brand);color:#05251f;font-weight:900;padding:12px 16px;text-decoration:none;cursor:pointer;min-height:44px}.btn.secondary,button.secondary{background:#334155;color:#e5e7eb}.btn.danger{background:var(--danger);color:#fff}input,select,textarea{width:100%;padding:13px;border-radius:14px;border:1px solid var(--border);background:var(--input);color:var(--txt);margin:6px 0 12px;min-height:46px;font-size:16px}label{color:var(--mut);font-size:14px;font-weight:800}.flash{background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.55);padding:13px 15px;border-radius:15px;margin:10px 0;color:#dcfce7}.tablebox{overflow:auto}table{width:100%;border-collapse:collapse;background:rgba(16,32,51,.80);border-radius:16px;overflow:hidden}th,td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{color:#bae6fd;font-weight:900;white-space:nowrap}tr:last-child td{border-bottom:0}

.ranking-list,.match-list{display:grid;gap:12px}.ranking-card,.match-card{background:rgba(16,32,51,.90);border:1px solid var(--border);border-radius:18px;padding:15px;box-shadow:var(--shadow)}.ranking-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.rank-badge{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:rgba(56,189,248,.15);border:1px solid rgba(56,189,248,.35);font-weight:900}.rank-badge.gold{background:rgba(250,204,21,.18);border-color:rgba(250,204,21,.45);color:#fde68a}.ranking-main strong{display:block;font-size:18px}.ranking-main span{color:var(--mut);font-size:13px}.ranking-points{text-align:right}.ranking-points strong{font-size:28px;color:var(--brand)}.ranking-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.mini-stat{background:rgba(6,16,31,.58);border:1px solid var(--border);border-radius:12px;padding:8px;text-align:center}.mini-stat b{display:block}.mini-stat span{display:block;color:var(--mut);font-size:12px}.match-card .versus{font-size:17px;font-weight:900}.match-card .score{font-size:24px;color:var(--brand);font-weight:900;margin:8px 0}.status-pill{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:6px 10px;color:var(--mut);font-size:13px}.bc-footer{width:min(1180px,100%);margin:0 auto;padding:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--mut);border-top:1px solid var(--border)}.bc-footer a{color:var(--brand);text-decoration:none;font-weight:900}.bc-footer span{display:block;margin-top:4px}.about-box{max-width:760px}.version-pill{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:8px 12px;background:rgba(16,32,51,.8);color:var(--brand);font-weight:900}

@media(max-width:760px){.bc-topbar{padding:9px 12px}.bc-brand-text strong{font-size:14px}.wrap{padding:14px 12px 34px}.page-hero{padding:15px;border-radius:18px}.grid{grid-template-columns:1fr}.card,form,.tablebox{padding:14px;border-radius:16px}.btn,button,input[type=submit]{width:100%;margin:4px 0}.ranking-card{grid-template-columns:auto 1fr}.ranking-points{grid-column:1/-1;text-align:left;display:flex;align-items:flex-end;gap:8px}.ranking-stats{grid-template-columns:repeat(2,1fr)}.tablebox{background:transparent;border:0;box-shadow:none;padding:0}table.responsive-table,table.responsive-table thead,table.responsive-table tbody,table.responsive-table th,table.responsive-table td,table.responsive-table tr{display:block;width:100%}table.responsive-table thead, table.responsive-table tr:first-child:has(th){display:none}table.responsive-table tr{background:rgba(16,32,51,.92);border:1px solid var(--border);border-radius:16px;margin:0 0 12px;overflow:hidden;box-shadow:var(--shadow)}table.responsive-table td{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:10px 12px;text-align:right}table.responsive-table td::before{content:attr(data-label);font-weight:900;color:#bae6fd;text-align:left}table.responsive-table td:last-child{border-bottom:0}.bc-footer{padding:18px 12px;display:block}.bc-footer>div+div{margin-top:10px}}


/* V1.0.6 - Identité Billard Clubs / PWA */
.bc-logo-img,.bc-logo-large-img{background:transparent;box-shadow:none;border-radius:0;object-fit:contain}.bc-install.update-ready{background:var(--gold);color:#2a2100}.bc-footer{align-items:center}.bc-footer-main{display:flex;flex-direction:column;gap:7px}.bc-footer-main strong{color:var(--txt);font-size:16px}.bc-version-btn{width:auto;min-height:34px;padding:7px 11px;border-radius:999px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.38);color:#bbf7d0;font-size:13px}.bc-version-btn.is-update{background:rgba(250,204,21,.12);border-color:rgba(250,204,21,.45);color:#fde68a}.bc-footer-copy{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:flex-end}.bc-footer-copy span,.bc-footer-copy a{display:inline-block;margin:0}.bc-footer-copy a{color:var(--brand);text-decoration:none;font-weight:900}@media(max-width:760px){.bc-footer-main,.bc-footer-copy{display:flex;justify-content:center;text-align:center}.bc-footer-copy{margin-top:10px;gap:8px;flex-direction:column}.bc-version-btn{width:auto}.bc-logo-img{width:48px;height:48px}.bc-logo-large-img{width:70px;height:70px}}

/* V1.0.7 - Langues */
.bc-lang-form{background:rgba(16,32,51,.82);border:1px solid var(--border);border-radius:16px;padding:12px;margin:10px 0 14px;box-shadow:none}.bc-lang-form label{display:block;margin-bottom:5px}.bc-lang-form select{margin:0;min-height:42px}

/* V1.1.0 - Base Design System Billard Clubs */
.bc-topbar{height:58px;padding:8px 12px;gap:10px}.bc-menu-btn{min-width:42px;width:42px;height:42px;border-radius:13px;font-size:20px;line-height:1}.bc-brand{flex:1}.bc-logo-img{width:40px;height:40px}.bc-brand-text strong{font-size:14px}.bc-brand-text small{font-size:12px}.bc-install{display:none!important}.bc-footer-install{border:1px solid rgba(45,212,191,.45);background:rgba(45,212,191,.12);color:#99f6e4;border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer}.bc-footer-install[hidden]{display:none!important}.bc-footer-install.update-ready{background:rgba(250,204,21,.14);border-color:rgba(250,204,21,.45);color:#fde68a}.ranking-card-v2{grid-template-columns:auto 1fr auto}.ranking-card-v2 .ranking-group{grid-column:1/-1;background:rgba(6,16,31,.34);border:1px solid var(--border);border-radius:14px;padding:10px}.ranking-group-title{font-weight:900;color:#bae6fd;margin-bottom:8px}.ranking-stats-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:760px){.bc-topbar{height:56px}.bc-menu-btn{min-width:40px;width:40px;height:40px;font-size:19px}.bc-logo-img{width:38px;height:38px}.bc-brand-text strong{font-size:13px}.bc-brand-text small{font-size:11px}.page-hero{margin-top:6px}.ranking-card-v2{grid-template-columns:auto 1fr}.ranking-card-v2 .ranking-points{grid-column:1/-1;text-align:left}.ranking-stats-4{grid-template-columns:repeat(2,1fr)}}


/* V1.1.1 - Cartes Matchs */
.admin-match-list,
.match-list-v2{
  display:grid;
  gap:14px;
  margin:16px 0;
}
.admin-match-card,
.public-match-card{
  background:linear-gradient(145deg,rgba(16,32,51,.95),rgba(12,24,40,.92));
  border:1px solid var(--border);
  border-radius:22px;
  padding:16px;
  box-shadow:var(--shadow);
}
.match-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.match-card-head h2,
.match-card-head h3{
  margin:4px 0 0;
  font-size:clamp(17px,4vw,24px);
  line-height:1.2;
}
.match-card-head h2 span,
.match-card-head h3 span{
  color:var(--brand);
  font-size:.78em;
  margin:0 6px;
}
.match-number{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(45,212,191,.28);
  color:var(--brand);
  background:rgba(45,212,191,.08);
  border-radius:999px;
  padding:4px 9px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
  border:1px solid var(--border);
  background:rgba(148,163,184,.10);
  white-space:nowrap;
}
.status-pill.ok{
  background:rgba(34,197,94,.14);
  color:#bbf7d0;
  border-color:rgba(34,197,94,.35);
}
.status-pill.wait{
  background:rgba(250,204,21,.12);
  color:#fde68a;
  border-color:rgba(250,204,21,.30);
}
.match-score-line{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:10px;
  align-items:stretch;
  margin:12px 0;
}
.match-player-block{
  background:rgba(7,17,31,.72);
  border:1px solid var(--border);
  border-radius:18px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}
.match-player-block strong{
  font-size:15px;
  line-height:1.18;
  overflow-wrap:anywhere;
}
.player-label{
  color:var(--mut);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.big-score{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(45,212,191,.18),rgba(56,189,248,.12));
  border:1px solid rgba(45,212,191,.24);
  color:#fff;
  font-size:34px;
  font-weight:900;
}
.match-vs-pill{
  align-self:center;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:rgba(45,212,191,.13);
  border:1px solid rgba(45,212,191,.32);
  color:var(--brand);
  font-weight:900;
  font-size:12px;
}
.match-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 4px;
}
.match-meta-row span{
  background:rgba(148,163,184,.10);
  border:1px solid var(--border);
  color:var(--mut);
  border-radius:999px;
  padding:7px 10px;
  font-size:13px;
}
.match-edit-details{
  margin-top:12px;
  border-top:1px solid var(--border);
  padding-top:12px;
}
.match-edit-details summary{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  background:rgba(45,212,191,.12);
  color:#d9fffb;
  border:1px solid rgba(45,212,191,.28);
  padding:10px 13px;
  font-weight:900;
}
.match-edit-form{
  margin-top:12px;
  padding:0;
  box-shadow:none;
  border:0;
  background:transparent;
}
.match-entry-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.match-entry-player{
  background:rgba(7,17,31,.54);
  border:1px solid var(--border);
  border-radius:18px;
  padding:12px;
}
.match-entry-player h3{
  margin:0 0 10px;
  font-size:16px;
  overflow-wrap:anywhere;
}
.match-edit-form label{
  display:grid;
  gap:6px;
  margin-bottom:10px;
}
.match-edit-form label span{
  color:var(--mut);
  font-size:13px;
  font-weight:800;
}
.match-edit-form input{
  width:100%;
}
.bonus-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.full-line{
  grid-column:1/-1;
}

@media(max-width:720px){
  .admin-match-card,
  .public-match-card{
    padding:13px;
    border-radius:18px;
  }
  .match-card-head{
    align-items:flex-start;
  }
  .status-pill{
    padding:6px 8px;
    font-size:11px;
  }
  .match-score-line{
    grid-template-columns:1fr;
  }
  .match-vs-pill{
    width:auto;
    height:auto;
    padding:6px 10px;
    justify-self:center;
  }
  .big-score{
    min-height:46px;
    font-size:28px;
  }
  .match-entry-grid{
    grid-template-columns:1fr;
  }
}

/* V1.1.2 - Matchs responsive propres depuis V1.1.1 */
.bc-topbar{height:54px!important;padding:7px 11px!important;gap:9px!important}.bc-menu-btn{min-width:40px!important;width:40px!important;height:40px!important;display:grid!important;place-items:center!important;padding:0!important;border-radius:12px!important;font-size:20px!important;line-height:1!important}.bc-logo-img{width:38px!important;height:38px!important}.bc-brand-text strong{font-size:13px!important;line-height:1.05!important}.bc-brand-text small{font-size:11px!important;line-height:1.05!important}.bc-install{display:none!important}
.tc-match-page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}.tc-match-page-head h2{margin:4px 0 0}.tc-inline-form{padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.btn.compact{min-height:40px;padding:9px 13px;border-radius:13px}.tc-match-list-clean{display:grid;gap:12px;margin:16px 0}.tc-match-row-card{background:linear-gradient(145deg,rgba(16,32,51,.96),rgba(9,20,34,.94));border:1px solid var(--border);border-radius:18px;padding:13px;box-shadow:var(--shadow)}.tc-match-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tc-match-index{display:inline-flex;align-items:center;border:1px solid rgba(45,212,191,.28);background:rgba(45,212,191,.08);color:var(--brand);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.tc-match-status{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;border:1px solid var(--border);white-space:nowrap}.tc-match-status.ok{background:rgba(34,197,94,.14);color:#bbf7d0;border-color:rgba(34,197,94,.36)}.tc-match-status.wait{background:rgba(250,204,21,.13);color:#fde68a;border-color:rgba(250,204,21,.34)}.tc-match-status.todo{background:rgba(148,163,184,.10);color:#cbd5e1}.tc-match-row-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}.tc-match-player-name{font-weight:900;font-size:16px;line-height:1.15;overflow-wrap:anywhere}.tc-match-player-name.right{text-align:right}.tc-match-score-box{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:8px;background:rgba(7,17,31,.70);border:1px solid var(--border);border-radius:16px;padding:9px 11px;min-width:104px;text-align:center}.tc-match-score-box strong{font-size:28px;color:#fff;line-height:1}.tc-match-score-box span{font-size:11px;color:var(--brand);font-weight:900}.tc-match-row-meta{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.tc-match-row-meta span{background:rgba(148,163,184,.09);border:1px solid var(--border);color:var(--mut);border-radius:999px;padding:6px 9px;font-size:12px}.tc-edit-link{width:auto!important;margin-top:2px;display:inline-flex!important}
.tc-edit-topbar-clean{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.tc-edit-topbar-clean span{color:var(--mut);font-weight:900}.tc-match-edit-clean{padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.tc-date-clean{display:grid;gap:8px;background:rgba(16,32,51,.92);border:1px solid var(--border);border-radius:18px;padding:12px;margin-bottom:12px;font-weight:900}.tc-date-clean span{color:#bae6fd}.tc-versus-clean{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px}.tc-player-edit-card{background:linear-gradient(145deg,rgba(16,32,51,.97),rgba(8,18,32,.95));border:1px solid var(--border);border-radius:20px;padding:14px;box-shadow:var(--shadow);text-align:center;min-width:0}.tc-player-photo{width:64px;height:64px;border-radius:999px;margin:0 auto 8px;display:grid;place-items:center;background:rgba(45,212,191,.12);border:2px solid rgba(45,212,191,.35);overflow:hidden;font-size:30px}.tc-player-photo img{width:100%;height:100%;object-fit:cover}.tc-player-edit-card h2{margin:0;color:#fff;font-size:19px;line-height:1.15;overflow-wrap:anywhere}.tc-player-edit-card p{margin:4px 0 12px;color:var(--mut);font-weight:800}.tc-vs-clean{align-self:center;display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:rgba(45,212,191,.13);border:1px solid rgba(45,212,191,.35);color:var(--brand);font-weight:900;font-size:13px}.tc-stat-label{color:#bae6fd;font-weight:1000;text-align:center;margin:10px 0 6px}.tc-control-main{display:grid;grid-template-columns:44px 56px 44px;justify-content:center;gap:7px;margin:0 0 10px}.tc-control-main button,.tc-control-small button{width:100%!important;min-height:42px!important;margin:0!important;border-radius:13px!important;font-size:24px!important;padding:0!important;line-height:1!important}.tc-control-main input{width:56px!important;min-height:42px!important;text-align:center!important;font-size:26px!important;font-weight:900!important;padding:0!important}.tc-bonus-line{display:grid;grid-template-columns:1fr;align-items:center;gap:6px;margin-top:9px;text-align:center}.tc-bonus-line label{font-weight:900;color:#bae6fd;margin:0;font-size:13px;line-height:1.15}.tc-control-small{display:grid;grid-template-columns:38px 44px 38px;justify-content:center;gap:6px}.tc-control-small button{min-height:36px!important;font-size:20px!important;border-radius:12px!important}.tc-control-small input{width:44px!important;text-align:center!important;min-height:36px!important;font-weight:900!important;font-size:18px!important;padding:0!important}.tc-edit-actions-clean{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(7,17,31,0),rgba(7,17,31,.96) 28%,rgba(7,17,31,1));padding:18px 0 6px;margin-top:12px;z-index:8}.tc-edit-actions-clean .btn{width:100%;min-height:52px}
@media(max-width:760px){.bc-topbar{height:52px!important}.bc-menu-btn{min-width:38px!important;width:38px!important;height:38px!important;font-size:19px!important}.bc-logo-img{width:36px!important;height:36px!important}.tc-match-page-head{display:block}.tc-inline-form .btn{width:100%!important;margin-top:10px!important}.tc-match-row-card{padding:12px;border-radius:17px}.tc-match-row-main{grid-template-columns:1fr;gap:8px;text-align:center}.tc-match-player-name,.tc-match-player-name.right{text-align:center;font-size:16px}.tc-match-score-box{justify-self:center;min-width:124px}.tc-match-score-box strong{font-size:30px}.tc-match-row-meta{justify-content:center}.tc-edit-link{width:100%!important;justify-content:center!important}.tc-versus-clean{grid-template-columns:1fr;gap:10px}.tc-vs-clean{margin:0 auto;width:42px;height:42px}.tc-player-edit-card{padding:14px;border-radius:20px}.tc-player-photo{width:62px;height:62px;font-size:30px}.tc-player-edit-card h2{font-size:18px}.tc-control-main{grid-template-columns:42px 54px 42px}.tc-control-main input{font-size:25px!important}.tc-bonus-line{grid-template-columns:1fr}.tc-control-small{grid-template-columns:38px 42px 38px}.tc-edit-actions-clean{bottom:0}}
/* PATCH MATCHS - à ajouter tout en bas de app.css */

.tc-page-title-card {
  display: none !important;
}

.tc-match-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: rgba(16,32,51,.88);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 16px;
  margin: 16px 0;
}

.tc-matches-list {
  display: grid;
  gap: 14px;
  margin: 18px 0;
}

.tc-match-card {
  background: linear-gradient(145deg, rgba(16,32,51,.96), rgba(7,17,31,.96));
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 16px;
  box-shadow: var(--shadow);
}

.tc-match-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.tc-match-number {
  font-weight: 900;
  color: var(--brand);
}

.tc-match-status {
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 900;
  border: 1px solid var(--border);
}

.tc-match-status.validated {
  background: rgba(34,197,94,.15);
  color: #bbf7d0;
  border-color: rgba(34,197,94,.35);
}

.tc-match-status.pending {
  background: rgba(250,204,21,.14);
  color: #fde68a;
  border-color: rgba(250,204,21,.35);
}

.tc-match-status.todo {
  background: rgba(148,163,184,.12);
  color: #cbd5e1;
}

.tc-match-card-main {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
}

.tc-match-player {
  background: rgba(6,16,31,.55);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 12px;
}

.tc-match-player.right {
  text-align: right;
}

.tc-player-label {
  display: block;
  color: var(--mut);
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.tc-match-player strong {
  display: block;
  font-size: 18px;
  overflow-wrap: anywhere;
}

.tc-match-score {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 8px;
  align-items: center;
  justify-content: center;
  background: rgba(45,212,191,.12);
  border: 1px solid rgba(45,212,191,.30);
  border-radius: 16px;
  padding: 10px 14px;
  min-width: 120px;
}

.tc-match-score strong {
  font-size: 30px;
  line-height: 1;
}

.tc-match-score span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
}

.tc-match-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.tc-match-card-meta span {
  background: rgba(148,163,184,.10);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 7px 10px;
  color: var(--mut);
  font-size: 13px;
}

.tc-match-edit-btn {
  width: auto !important;
  min-width: 190px;
}

@media (max-width: 760px) {
  .tc-match-toolbar {
    display: block;
  }

  .tc-match-toolbar .btn {
    width: 100%;
    margin-top: 12px;
  }

  .tc-match-card {
    padding: 14px;
    border-radius: 18px;
  }

  .tc-match-card-main {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .tc-match-player,
  .tc-match-player.right {
    text-align: center;
  }

  .tc-match-score {
    justify-self: center;
    min-width: 150px;
  }

  .tc-match-card-meta {
    justify-content: center;
  }

  .tc-match-edit-btn {
    width: 100% !important;
  }
}
/* V1.1.8 - Page profil utilisateur unique */
.tc-profile-intro {
  margin-bottom: 16px;
}
.tc-profile-head {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}
.tc-profile-avatar {
  width: 84px;
  height: 84px;
  border-radius: 999px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: rgba(45,212,191,.12);
  border: 2px solid rgba(45,212,191,.35);
  color: var(--brand);
  font-weight: 1000;
  font-size: 24px;
}
.tc-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tc-profile-head h2 {
  margin: 0 0 4px;
}
.tc-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.tc-profile-card h2 {
  margin-top: 0;
}
.tc-profile-form {
  display: grid;
  gap: 12px;
}
.tc-profile-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.tc-profile-form .btn,
.tc-profile-inline-form .btn {
  width: 100%;
}
.tc-profile-lock-note {
  background: rgba(250,204,21,.12);
  border: 1px solid rgba(250,204,21,.32);
  color: #fde68a;
  border-radius: 16px;
  padding: 12px;
  margin-bottom: 14px;
  font-weight: 850;
}
input.is-readonly,
input[readonly].is-readonly {
  opacity: .78;
  cursor: not-allowed;
  background: rgba(148,163,184,.12) !important;
  border-color: rgba(148,163,184,.24) !important;
}
.tc-profile-meta {
  display: grid;
  gap: 10px;
}
.tc-profile-meta p {
  margin: 0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 10px;
}
.tc-profile-meta p:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.tc-profile-meta span {
  color: var(--mut);
  text-align: right;
}
.tc-profile-wide {
  grid-column: 1 / -1;
}
.tc-profile-inline-form {
  margin-top: 12px;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 760px) {
  .tc-profile-head {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 12px;
  }
  .tc-profile-avatar {
    width: 68px;
    height: 68px;
    font-size: 20px;
  }
  .tc-profile-grid,
  .tc-profile-form-grid {
    grid-template-columns: 1fr;
  }
  .tc-profile-meta p {
    display: grid;
  }
  .tc-profile-meta span {
    text-align: left;
  }
}

/* V1.2.0 - Photo de profil avancée */
.tc-photo-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.tc-photo-choice{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:52px;
  cursor:pointer;
  text-align:center;
}
.tc-photo-editor{
  display:grid;
  gap:14px;
  margin-top:4px;
}
.tc-photo-crop-wrap{
  width:min(280px,100%);
  margin:0 auto;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(45,212,191,.38);
  background:rgba(7,17,31,.8);
  box-shadow:var(--shadow);
  touch-action:none;
}
.tc-photo-crop-wrap canvas{
  display:block;
  width:100%;
  height:auto;
  cursor:move;
  touch-action:none;
}
.tc-photo-controls{
  display:grid;
  gap:12px;
}
.tc-photo-controls label{
  display:grid;
  gap:8px;
  color:var(--mut);
  font-weight:850;
}
.tc-photo-controls input[type=range]{
  width:100%;
}
.tc-photo-control-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
@media(max-width:760px){
  .tc-photo-actions,
  .tc-photo-control-buttons{
    grid-template-columns:1fr;
  }
}
.tc-participation-status{
  margin:0 0 10px;
  padding:12px;
  border-radius:16px;
  background:rgba(148,163,184,.12);
  border:1px solid rgba(148,163,184,.22);
  font-weight:900;
}
.tc-participation-status.is-active{
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.28);
  color:#bbf7d0;
}
.tc-profile-option,
.tc-profile-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(15,23,42,.32);
  font-weight:850;
}
.tc-profile-option input,
.tc-profile-check input{
  margin-top:4px;
  width:auto!important;
}
.tc-profile-actions-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
@media(max-width:760px){
  .tc-profile-actions-row{grid-template-columns:1fr;}
}

/* Maintenance admin */
.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;background:transparent;border:0;box-shadow:none}.inline-form .btn{width:auto}.small{font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.stats-grid>div{background:rgba(15,23,42,.55);border:1px solid var(--border);border-radius:16px;padding:14px;text-align:center}.stats-grid strong{font-size:24px;color:#fff}@media(max-width:760px){.stats-grid{grid-template-columns:1fr}.row-actions .btn,.inline-form .btn{width:100%}.inline-form{width:100%}}


/* V1.3.1 - Titres compacts et suppression des répétitions de marque */
.page-hero{
  margin:6px 0 16px!important;
  padding:13px 16px!important;
  border-radius:18px!important;
}
.page-hero .eyebrow{display:none!important}
.page-hero h1{
  font-size:clamp(22px,3.8vw,28px)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
}
@media(max-width:760px){
  .page-hero{margin:6px 0 14px!important;padding:12px 14px!important;border-radius:17px!important}
  .page-hero h1{font-size:clamp(21px,7vw,26px)!important}
}


/* V1.3.8 - Disponibilités des joueurs */
.tc-location-checks{
  display:grid;
  gap:8px;
  margin:8px 0 14px;
}
.tc-check-row{
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(6,16,31,.38);
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
  color:var(--txt);
  font-weight:800;
}
.tc-check-row input{
  width:auto;
  min-height:auto;
  margin:0;
  transform:scale(1.15);
}
.tc-availability-list{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.tc-availability-card{
  background:rgba(6,16,31,.42);
  border:1px solid rgba(148,163,184,.20);
  border-radius:16px;
  padding:13px;
}
.tc-availability-card strong,
.tc-availability-card span{
  display:block;
}
.tc-availability-card span{
  color:var(--brand);
  font-weight:900;
  margin-top:3px;
}
.tc-row-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.tc-row-actions .btn,
.tc-row-actions form,
.tc-row-actions button{
  width:auto;
}
@media(max-width:760px){
  .tc-row-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .tc-row-actions .btn,
  .tc-row-actions form,
  .tc-row-actions button{
    width:100%;
  }
}

/* V1.4.4 - Ranking criteria ergonomics */
.tc-ranking-criteria-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:rgba(6,16,31,.32);margin-bottom:10px}.tc-ranking-criteria-order-badge span{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:rgba(45,212,191,.14);border:1px solid rgba(45,212,191,.35);font-weight:900;color:#99f6e4}.tc-ranking-criteria-main strong{display:block}.tc-ranking-criteria-active{display:flex;align-items:center;gap:8px;margin:0}.tc-ranking-criteria-move{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tc-ranking-criteria-move .compact{width:auto;min-width:92px;padding:8px 10px;margin:0;font-size:13px}.tc-ranking-criteria-move button:disabled{opacity:.35;cursor:not-allowed}.ranking-card-v2 .ranking-group:nth-of-type(4){border-color:rgba(250,204,21,.25);background:rgba(250,204,21,.06)}
@media(max-width:760px){.tc-ranking-criteria-row{grid-template-columns:auto 1fr;gap:10px}.tc-ranking-criteria-active{grid-column:1/-1}.tc-ranking-criteria-move{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.tc-ranking-criteria-move .compact{width:100%;min-width:0}.ranking-card-v2 .ranking-main span{font-size:12px}}


/* V1.4.5 - Tableau de bord public */
.dashboard-identity{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
}
.dashboard-logo-wrap{
  width:112px;
  height:112px;
  border-radius:24px;
  background:rgba(6,16,31,.40);
  border:1px solid var(--border);
  display:grid;
  place-items:center;
  overflow:hidden;
  flex:none;
}
.dashboard-logo{width:100%;height:100%;object-fit:contain;padding:8px}.dashboard-identity-main h2{margin:4px 0 10px;font-size:clamp(25px,5vw,38px)}.dashboard-meta-grid{display:flex;flex-wrap:wrap;gap:8px}.dashboard-meta-grid span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:rgba(6,16,31,.34);border-radius:999px;padding:7px 10px;color:var(--mut);font-weight:800}.dashboard-meta-grid a{color:var(--brand);text-decoration:none}.dashboard-description{margin:12px 0 0;color:#dbeafe;line-height:1.5}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:16px 0}.dashboard-progress{margin:16px 0}.dashboard-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-progress-head h2{margin:0}.dashboard-progress-head strong{font-size:28px;color:var(--brand)}.progress-bar{height:14px;border-radius:999px;background:rgba(6,16,31,.72);border:1px solid var(--border);overflow:hidden;margin-top:12px}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#38bdf8);border-radius:999px}.dashboard-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.compact-list{display:grid;gap:10px}.compact-row{border:1px solid var(--border);background:rgba(6,16,31,.40);border-radius:16px;padding:12px;display:grid;gap:5px}.compact-row strong{font-size:16px}.compact-row span{color:var(--mut);font-size:14px}.compact-row b{font-size:20px;color:#fff}.brand{color:var(--brand)}.compact-rank-row{grid-template-columns:auto 1fr auto;align-items:center}.quick-actions-grid{display:flex;flex-wrap:wrap;gap:10px}.quick-actions-grid .btn{width:auto;margin:0}
@media(max-width:900px){.dashboard-stats-grid{grid-template-columns:repeat(3,1fr)}.dashboard-panels{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-identity{grid-template-columns:1fr;text-align:center}.dashboard-logo-wrap{margin:0 auto;width:96px;height:96px}.dashboard-meta-grid{justify-content:center}.dashboard-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.compact-rank-row{grid-template-columns:auto 1fr}.compact-rank-row b{grid-column:2;text-align:left}.quick-actions-grid{display:grid;grid-template-columns:1fr}.quick-actions-grid .btn{width:100%}}


/* V1.4.8 - Finitions règlement, À propos et menu */
.about-box{
  max-width:none!important;
  width:100%!important;
}
.about-box .grid{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.bc-drawer-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 52px;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:16px!important;
}
.bc-drawer-title{
  min-width:0;
  line-height:1.12;
}
.bc-drawer-title strong{
  display:block;
  font-size:15px;
  overflow-wrap:anywhere;
}
.bc-drawer-title span{
  display:block;
  color:var(--mut);
  font-size:13px;
  margin-top:4px;
}
.bc-close{
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  padding:0!important;
  margin:0!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  justify-self:end!important;
  align-self:center!important;
  line-height:1!important;
  font-size:30px!important;
}
.bc-nav a{
  min-height:48px;
  align-items:center!important;
}
.tc-rules-public .tc-rule-section{
  margin:0;
}
.tc-rule-section-title{
  font-size:clamp(20px,3vw,26px)!important;
  line-height:1.18;
}
@media(max-width:760px){
  .bc-drawer{width:min(360px,94vw)!important;padding:14px!important;}
  .bc-drawer-head{grid-template-columns:auto minmax(0,1fr) 48px;gap:10px!important;}
  .bc-logo-large-img{width:54px!important;height:54px!important;}
  .bc-close{width:48px!important;min-width:48px!important;height:48px!important;font-size:28px!important;}
  .bc-drawer-title strong{font-size:14px;}
  .bc-drawer-title span{font-size:12px;}
  .bc-nav a{min-height:46px;padding:12px 13px!important;}
}
