:root {
  --ffjudo-blue:  #003189;
  --ffjudo-red:   #E30613;
  --ffjudo-gold:  #C8A84B;
  --ffjudo-bg:    #F8F8F8;
  --ffjudo-text:  #2C2C2C;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: var(--ffjudo-bg);
  color: var(--ffjudo-text);
}

h1, h2, h3, h4, .brand-font {
  font-family: 'Oswald', sans-serif;
  letter-spacing: 0.03em;
}

/* ── Navbar ────────────────────────────────── */
.navbar-dojolink {
  background-color: var(--ffjudo-blue);
  border-bottom: 3px solid var(--ffjudo-gold);
}
.navbar-dojolink .navbar-brand {
  font-family: 'Oswald', sans-serif;
  font-size: 1.6rem;
  color: white !important;
  letter-spacing: 0.05em;
}
.navbar-dojolink .navbar-brand span { color: var(--ffjudo-gold); }
.navbar-dojolink .nav-link { color: rgba(255,255,255,.85) !important; }
.navbar-dojolink .nav-link:hover { color: var(--ffjudo-gold) !important; }
.navbar-toggler { border-color: rgba(255,255,255,.4); }

/* ── User badge in navbar ──────────────────────────────── */
.user-badge {
  padding: 0.3rem 0.7rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(200,168,75,.4);
  border-radius: 8px;
}
.user-avatar {
  width: 32px;
  height: 32px;
  background: var(--ffjudo-gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ffjudo-blue);
  font-size: 1rem;
  flex-shrink: 0;
}
.user-info { line-height: 1.2; }
.user-email {
  font-size: 0.78rem;
  color: white;
  font-weight: 500;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-role {
  font-size: 0.68rem;
  color: var(--ffjudo-gold);
  font-family: 'Oswald', sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ── Card hover ────────────────────────────── */
.card-hover { transition: transform .15s, box-shadow .15s; cursor: pointer; }
.card-hover:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,.12); }

/* ── Buttons ───────────────────────────────── */
.btn-primary {
  background-color: var(--ffjudo-blue);
  border-color: var(--ffjudo-blue);
}
.btn-primary:hover, .btn-primary:focus {
  background-color: #002270;
  border-color: #002270;
}
.btn-danger { background-color: var(--ffjudo-red); border-color: var(--ffjudo-red); }
.btn-warning { background-color: var(--ffjudo-gold); border-color: var(--ffjudo-gold); color: #fff; }
.btn-warning:hover { background-color: #b5923d; border-color: #b5923d; color: #fff; }

/* ── Cards ─────────────────────────────────── */
.card {
  border: none;
  box-shadow: 0 2px 10px rgba(0,0,0,.07);
  border-radius: 12px;
}
.card-header {
  background-color: var(--ffjudo-blue);
  color: white;
  font-family: 'Oswald', sans-serif;
  font-size: 1.05rem;
  border-radius: 12px 12px 0 0 !important;
}

/* ── Hero banner ───────────────────────────── */
.hero-banner {
  background: linear-gradient(135deg, var(--ffjudo-blue) 55%, var(--ffjudo-red) 100%);
  border-radius: 16px;
  color: white;
  padding: 3.5rem 3rem;
}

/* ── Status badges ─────────────────────────── */
.badge-open    { background-color: #198754; color: #fff; }
.badge-closed  { background-color: #6c757d; color: #fff; }
.badge-pregens { background-color: #fd7e14; color: #fff; }
.badge-pools   { background-color: var(--ffjudo-blue); color: #fff; }
.badge-finished{ background-color: var(--ffjudo-gold); color: #2c2c2c; }

/* ── Belt colors ───────────────────────────── */
.belt-blanche  { background: #fff; border: 1px solid #ccc; color: #333; }
.belt-jaune    { background: #ffd700; color: #333; }
.belt-orange   { background: #ff8c00; color: #fff; }
.belt-verte    { background: #228b22; color: #fff; }
.belt-bleue    { background: #003189; color: #fff; }
.belt-marron   { background: #8b4513; color: #fff; }
.belt-noire    { background: #111; color: #fff; }

/* ── Pool tables ───────────────────────────── */
.pool-table thead th {
  background-color: var(--ffjudo-blue);
  color: white;
  text-align: center;
  font-family: 'Oswald', sans-serif;
}
.pool-table td { vertical-align: middle; }
.pool-table td.cell-win    { background-color: #d1e7dd; font-weight: 700; }
.pool-table td.cell-loss   { background-color: #f8d7da; }
.pool-table td.cell-draw   { background-color: #fff3cd; }
.pool-table td.cell-self   { background-color: #dee2e6; }
.pool-table .rank-gold   { color: #c8a84b; font-weight: 700; }
.pool-table .rank-silver { color: #6c757d; font-weight: 700; }
.pool-table .rank-bronze { color: #cd7f32; font-weight: 700; }

/* ── Footer ────────────────────────────────── */
footer {
  background-color: var(--ffjudo-blue);
  color: rgba(255,255,255,.75);
  padding: 2.5rem 0 1.5rem;
  margin-top: 4rem;
}
.values-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}
.value-badge {
  background-color: rgba(200,168,75,.15);
  border: 1px solid var(--ffjudo-gold);
  color: var(--ffjudo-gold);
  padding: 0.3rem 0.85rem;
  border-radius: 20px;
  font-size: 0.82rem;
  font-family: 'Oswald', sans-serif;
  letter-spacing: 0.05em;
}

/* ── Pool preview (drag & drop) ────────────── */
.pool-preview-card { transition: border-color .15s; }
.pool-preview-card.drag-over {
  border: 2px dashed var(--ffjudo-blue) !important;
  background-color: #eef2ff;
}
.participant-card {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: .45rem .6rem;
  margin-bottom: .35rem;
  cursor: grab;
  transition: box-shadow .1s, opacity .1s;
  user-select: none;
}
.participant-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.participant-card.dragging { opacity: .45; cursor: grabbing; }
.drag-handle { cursor: grab; }
.droppable-list { min-height: 60px; }

/* ── Fight sequence bar ────────────────────── */
.fight-sequence {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  background: #f8f9fa;
}
.fight-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: .82rem;
  background: #e9ecef;
  color: #495057;
  cursor: pointer;
  transition: background .15s, color .15s;
  user-select: none;
}
.fight-badge:hover { background: #dee2e6; }
.fight-done {
  font-weight: 700;
  background: #d1e7dd;
  color: #146c43;
}
.fight-sep { color: #adb5bd; font-size: .8rem; }

/* ── Print ─────────────────────────────────── */
@media print {
  .navbar, footer, .btn, .no-print { display: none !important; }
  .card { box-shadow: none !important; border: 1px solid #ccc !important; }

  /* Single pool print */
  body.print-single-pool > *:not(#pool-print-container) { display: none !important; }
  #pool-print-container { display: block !important; }
}
