
    /* =============================================
       CSS VARIABLES
    ============================================= */
    :root { --transition-theme: background 0.5s ease, color 0.5s ease, border-color 0.5s ease; }

    [data-theme="dark"] {
      --bg-base:#080910; --bg-surface:#0f1018; --bg-card:#13141f; --bg-card-hover:#181929;
      --bg-nav:rgba(8,9,16,0.8); --border:rgba(255,255,255,0.07); --border-hover:rgba(255,255,255,0.18);
      --text-primary:#f0f2ff; --text-secondary:#8b8fa8; --text-muted:#4a4d65;
      --accent:#2ECC71; --accent-glow:rgba(46,204,113,0.25); --accent-subtle:rgba(46,204,113,0.08);
      --accent-2:#1abc9c; --danger:#e74c3c; --danger-subtle:rgba(231,76,60,0.1);
      --warning:#f39c12; --info:#3498db; --info-subtle:rgba(52,152,219,0.1);
      --card-shadow:0 4px 24px rgba(0,0,0,0.4); --noise-opacity:0.025; --grid-color:rgba(255,255,255,0.025);
      --gold:#f0c040; --silver:#b0b8c8; --bronze:#cd8040;
      --tab-bg:rgba(255,255,255,0.04); --tab-active:var(--accent);
      --match-fin:rgba(46,204,113,0.08); --match-pend:rgba(255,255,255,0.02);
    }

    [data-theme="light"] {
      --bg-base:#f4f6f2; --bg-surface:#eef0ec; --bg-card:#ffffff; --bg-card-hover:#f9faf8;
      --bg-nav:rgba(244,246,242,0.88); --border:rgba(0,0,0,0.08); --border-hover:rgba(0,0,0,0.2);
      --text-primary:#111318; --text-secondary:#545a6e; --text-muted:#a0a8b8;
      --accent:#1a9e52; --accent-glow:rgba(26,158,82,0.2); --accent-subtle:rgba(26,158,82,0.07);
      --accent-2:#16876f; --danger:#c0392b; --danger-subtle:rgba(192,57,43,0.08);
      --warning:#d68910; --info:#2980b9; --info-subtle:rgba(41,128,185,0.08);
      --card-shadow:0 4px 24px rgba(0,0,0,0.07); --noise-opacity:0.012; --grid-color:rgba(0,0,0,0.04);
      --gold:#c9a227; --silver:#7a8494; --bronze:#a05c20;
      --tab-bg:rgba(0,0,0,0.04); --tab-active:var(--accent);
      --match-fin:rgba(26,158,82,0.05); --match-pend:rgba(0,0,0,0.02);
    }

    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }

    body {
      font-family:'DM Sans', sans-serif;
      background:var(--bg-base);
      color:var(--text-primary);
      line-height:1.6;
      overflow-x:hidden;
      transition:var(--transition-theme);
    }

    body::before {
      content:''; position:fixed; inset:0; pointer-events:none; z-index:1000;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      opacity:var(--noise-opacity);
    }

    .grid-bg {
      position:fixed; inset:0; z-index:0; pointer-events:none; transition:var(--transition-theme);
      background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);
      background-size:64px 64px;
    }

    /* =============================================
       NAV
    ============================================= */
    .nav {
      position:sticky; top:0; z-index:100;
      background:var(--bg-nav); backdrop-filter:blur(20px) saturate(180%);
      border-bottom:1px solid var(--border); transition:var(--transition-theme);
    }
    .nav-inner {
      max-width:1280px; margin:0 auto; padding:0 24px; height:72px;
      display:flex; align-items:center; justify-content:space-between; gap:24px;
    }
    .nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
    .nav-logo-badge {
      width:38px; height:38px; background:var(--accent); border-radius:10px;
      display:flex; align-items:center; justify-content:center;
      font-family:'Bebas Neue',sans-serif; font-size:18px; color:#fff; letter-spacing:1px;
      box-shadow:0 0 20px var(--accent-glow); transition:box-shadow 0.3s;
    }
    .nav-logo-text { font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:2px; color:var(--text-primary); transition:var(--transition-theme); }
    .nav-links { display:flex; gap:32px; list-style:none; }
    .nav-links a {
      font-size:12px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase;
      color:var(--text-secondary); text-decoration:none; transition:color 0.2s;
      position:relative;
    }
    .nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--accent); transition:width 0.3s; }
    .nav-links a:hover { color:var(--text-primary); }
    .nav-links a:hover::after, .nav-links a.active::after { width:100%; }
    .nav-links a.active { color:var(--accent); }
    .nav-right { display:flex; align-items:center; gap:16px; }
    .theme-toggle {
      width:48px; height:26px; background:var(--border); border-radius:13px;
      border:1px solid var(--border); cursor:pointer; position:relative;
      transition:background 0.3s,border-color 0.3s; flex-shrink:0;
    }
    .theme-toggle:hover { border-color:var(--accent); }
    .theme-toggle-knob {
      position:absolute; top:3px; left:3px; width:18px; height:18px;
      background:var(--text-primary); border-radius:50%;
      transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1), background 0.3s;
      display:flex; align-items:center; justify-content:center; font-size:10px;
    }
    [data-theme="light"] .theme-toggle-knob { transform:translateX(22px); background:var(--accent); }
    .btn-login {
      padding:9px 22px; background:var(--accent); color:#fff; border:none; border-radius:8px;
      font-size:12px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
      text-decoration:none; cursor:pointer; transition:all 0.2s;
    }
    .btn-login:hover { transform:translateY(-1px); box-shadow:0 8px 24px var(--accent-glow); }

    .scroll-progress { position:fixed; top:0; left:0; height:2px; background:var(--accent); z-index:200; box-shadow:0 0 8px var(--accent-glow); transition:width 0.1s linear; }

    /* =============================================
       BREADCRUMB
    ============================================= */
    .breadcrumb-bar {
      background:var(--bg-surface); border-bottom:1px solid var(--border);
      transition:var(--transition-theme);
    }
    .breadcrumb-inner {
      max-width:1280px; margin:0 auto; padding:12px 24px;
      display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-muted);
    }
    .breadcrumb-inner a { color:var(--text-muted); text-decoration:none; transition:color 0.2s; }
    .breadcrumb-inner a:hover { color:var(--accent); }
    .breadcrumb-inner .sep { opacity:0.4; }
    .breadcrumb-inner .current { color:var(--text-secondary); }

    /* =============================================
       HERO HEADER DO TORNEIO
    ============================================= */
    .tournament-hero {
      position:relative; overflow:hidden;
      border-bottom:1px solid var(--border); padding:60px 24px 50px;
      transition:var(--transition-theme);
    }
    .tournament-hero-bg {
      position:absolute; inset:0; z-index:0; pointer-events:none;
      background:radial-gradient(ellipse 70% 60% at 80% 50%, var(--accent-subtle) 0%, transparent 65%);
      transition:var(--transition-theme);
    }
    .tournament-hero-grid {
      position:absolute; inset:0; pointer-events:none;
      background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);
      background-size:48px 48px;
    }

    .tournament-hero-inner {
      position:relative; z-index:1; max-width:1280px; margin:0 auto;
      display:grid; grid-template-columns:320px 1fr; gap:48px; align-items:start;
    }

    /* Cover image */
    .tournament-cover {
      width:100%; aspect-ratio:4/3; border-radius:16px;
      background:linear-gradient(135deg, var(--accent-subtle) 0%, var(--bg-surface) 100%);
      border:1px solid var(--border); display:flex; align-items:center; justify-content:center;
      overflow:hidden; position:relative; transition:var(--transition-theme);
    }
    .tournament-cover-lines {
      position:absolute; inset:0;
      background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);
      background-size:32px 32px;
    }
    .tournament-cover-glow {
      position:absolute; inset:0;
      background:radial-gradient(circle at 50% 100%, var(--accent-subtle) 0%, transparent 65%);
    }
    .tournament-cover img {
      width:70%; object-fit:contain; position:relative; z-index:1;
      opacity:0.85; filter:drop-shadow(0 8px 24px var(--accent-glow));
      transition:opacity 0.3s, transform 0.5s cubic-bezier(0.34,1.56,0.64,1);
    }
    .tournament-cover:hover img { opacity:1; transform:scale(1.06); }

    /* Info side */
    .tournament-info { display:flex; flex-direction:column; gap:24px; }

    .tournament-status-badge {
      display:inline-flex; align-items:center; gap:8px;
      padding:6px 14px; border-radius:99px;
      font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
      width:fit-content;
    }
    .tournament-status-badge.em-andamento { background:rgba(46,204,113,0.12); border:1px solid rgba(46,204,113,0.3); color:#2ECC71; }
    .tournament-status-badge.inscricoes { background:rgba(52,152,219,0.12); border:1px solid rgba(52,152,219,0.3); color:#3498db; }
    .tournament-status-badge.planejamento { background:var(--border); border:1px solid var(--border-hover); color:var(--text-muted); }
    .tournament-status-badge.finalizado { background:rgba(231,76,60,0.1); border:1px solid rgba(231,76,60,0.25); color:#e74c3c; }
    .status-dot { width:6px; height:6px; border-radius:50%; background:currentColor; }
    .status-dot.pulse { animation:pulse-dot 1.5s ease-in-out infinite; }
    @keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(0.7)} }

    .tournament-title {
      font-family:'Bebas Neue',sans-serif;
      font-size:clamp(36px,5vw,60px);
      letter-spacing:0.02em; line-height:1;
      color:var(--text-primary); transition:var(--transition-theme);
    }

    .tournament-meta-grid {
      display:grid; grid-template-columns:1fr 1fr; gap:14px 24px;
    }
    .meta-item { display:flex; flex-direction:column; gap:3px; }
    .meta-label {
      font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase;
      color:var(--text-muted); transition:var(--transition-theme);
    }
    .meta-value { font-size:14px; color:var(--text-primary); font-weight:500; transition:var(--transition-theme); }
    .meta-value.accent { color:var(--accent); }

    /* Vagas bar */
    .vagas-bar-wrap { margin-top:4px; }
    .vagas-bar-top { display:flex; justify-content:space-between; font-size:12px; color:var(--text-muted); margin-bottom:6px; font-family:'DM Mono',monospace; }
    .vagas-bar-top strong { color:var(--text-secondary); }
    .vagas-bar { height:4px; background:var(--border); border-radius:99px; overflow:hidden; }
    .vagas-bar-fill { height:100%; background:var(--accent); border-radius:99px; transition:width 0.8s cubic-bezier(0.34,1.56,0.64,1); }
    .vagas-bar-fill.full { background:linear-gradient(90deg,var(--accent),var(--danger)); }

    /* =============================================
       SUBSCRIPTION BOX
    ============================================= */
    .subscription-box {
      background:var(--bg-card); border:1px solid var(--border); border-radius:14px;
      padding:22px 24px; display:flex; flex-direction:column; gap:14px;
      transition:var(--transition-theme);
    }
    .subscription-box-title {
      font-size:13px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase;
      color:var(--text-secondary); text-align:center; transition:var(--transition-theme);
    }
    .subscription-box-desc {
      font-size:13px; color:var(--text-muted); text-align:center; line-height:1.5;
      transition:var(--transition-theme);
    }

    .btn-subscribe {
      width:100%; padding:14px 20px; border:none; border-radius:10px;
      font-size:14px; font-weight:700; font-family:'DM Sans',sans-serif;
      cursor:pointer; display:flex; align-items:center; justify-content:center;
      gap:10px; transition:all 0.25s ease; letter-spacing:0.03em;
    }
    .btn-subscribe.login {
      background:var(--accent); color:#fff;
      box-shadow:0 4px 20px var(--accent-glow);
    }
    .btn-subscribe.login:hover { transform:translateY(-2px); box-shadow:0 8px 32px var(--accent-glow); }
    .btn-subscribe.inscrito {
      background:var(--danger-subtle); border:1px solid rgba(231,76,60,0.3);
      color:var(--danger); cursor:pointer;
    }
    .btn-subscribe.inscrito:hover { background:var(--danger); color:#fff; }
    .btn-subscribe.espera {
      background:rgba(243,156,18,0.1); border:1px solid rgba(243,156,18,0.3);
      color:var(--warning);
    }
    .btn-subscribe.espera:hover { background:var(--warning); color:#fff; }
    .btn-subscribe.lista-espera {
      background:var(--info-subtle); border:1px solid rgba(52,152,219,0.3);
      color:var(--info);
    }
    .btn-subscribe.lista-espera:hover { background:var(--info); color:#fff; }

    /* =============================================
       PÓDIO — TORNEIO FINALIZADO
    ============================================= */
    .podium-section {
      padding:60px 24px;
      border-bottom:1px solid var(--border);
      background:var(--bg-surface);
      transition:var(--transition-theme);
      display:none;
    }
    .podium-section.visible { display:block; }
    .podium-inner { max-width:1280px; margin:0 auto; }
    .podium-label { font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); margin-bottom:12px; display:flex; align-items:center; gap:10px; }
    .podium-label::before { content:''; width:24px; height:1px; background:var(--accent); }
    .podium-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(36px,5vw,56px); color:var(--text-primary); margin-bottom:48px; transition:var(--transition-theme); }

    .podium-stage {
      display:flex; align-items:flex-end; justify-content:center; gap:16px;
      max-width:680px; margin:0 auto;
    }
    .podium-item { display:flex; flex-direction:column; align-items:center; gap:12px; flex:1; }

    .podium-avatar {
      width:80px; height:80px; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-size:24px; font-weight:700; color:#fff;
      border:3px solid; position:relative;
      transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
    }
    .podium-avatar:hover { transform:scale(1.08); }
    .podium-item.first .podium-avatar { width:96px; height:96px; font-size:28px; }

    .podium-medal {
      position:absolute; bottom:-8px; right:-4px;
      width:28px; height:28px; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-size:14px; border:2px solid var(--bg-surface);
    }

    .podium-name { font-size:14px; font-weight:600; color:var(--text-primary); text-align:center; transition:var(--transition-theme); }
    .podium-item.first .podium-name { font-size:16px; }

    .podium-block {
      width:100%; border-radius:12px 12px 0 0;
      display:flex; align-items:center; justify-content:center;
      font-family:'Bebas Neue',sans-serif; font-size:28px; color:#fff;
      padding:12px 0;
    }
    .podium-item.second .podium-block { height:80px; background:linear-gradient(180deg, rgba(176,184,200,0.3) 0%, rgba(176,184,200,0.1) 100%); color:var(--silver); border:1px solid rgba(176,184,200,0.2); }
    .podium-item.first  .podium-block { height:110px; background:linear-gradient(180deg, rgba(240,192,64,0.3) 0%, rgba(240,192,64,0.1) 100%); color:var(--gold); border:1px solid rgba(240,192,64,0.3); }
    .podium-item.third  .podium-block { height:60px; background:linear-gradient(180deg, rgba(205,128,64,0.3) 0%, rgba(205,128,64,0.1) 100%); color:var(--bronze); border:1px solid rgba(205,128,64,0.2); }

    /* =============================================
       MAIN CONTENT — 2 COLS
    ============================================= */
    .content-area {
      max-width:1280px; margin:0 auto; padding:40px 24px 80px;
      display:grid; grid-template-columns:1fr 360px; gap:32px; align-items:start;
      position:relative; z-index:1;
    }

    /* =============================================
       MATCHES SECTION
    ============================================= */
    .matches-section { min-width:0; }

    .section-header {
      display:flex; align-items:center; gap:12px; margin-bottom:24px;
    }
    .section-header-icon { color:var(--accent); flex-shrink:0; }
    .section-header h2 { font-size:20px; font-weight:700; color:var(--text-primary); transition:var(--transition-theme); }

    /* Phase tabs */
    .phase-tabs { display:flex; gap:4px; margin-bottom:20px; background:var(--bg-surface); padding:4px; border-radius:10px; border:1px solid var(--border); width:fit-content; transition:var(--transition-theme); }
    .phase-tab {
      padding:8px 18px; border-radius:7px; border:none;
      background:transparent; color:var(--text-secondary);
      font-size:13px; font-weight:600; font-family:'DM Sans',sans-serif;
      cursor:pointer; transition:all 0.2s; white-space:nowrap;
    }
    .phase-tab.active { background:var(--accent); color:#fff; box-shadow:0 2px 12px var(--accent-glow); }
    .phase-tab:not(.active):hover { color:var(--text-primary); background:var(--tab-bg); }

    /* Group tabs */
    .group-tabs { display:flex; gap:0; margin-bottom:0; border-bottom:1px solid var(--border); }
    .group-tab {
      padding:10px 20px; border:none; border-bottom:2px solid transparent;
      background:transparent; color:var(--text-secondary);
      font-size:13px; font-weight:600; font-family:'DM Sans',sans-serif;
      cursor:pointer; transition:all 0.2s; margin-bottom:-1px;
    }
    .group-tab.active { color:var(--accent); border-bottom-color:var(--accent); }
    .group-tab:hover:not(.active) { color:var(--text-primary); }

    /* View switcher — Jogos / Classificação */
    .view-switcher { display:flex; gap:0; margin-bottom:0; }
    .view-btn {
      padding:8px 16px; border:1px solid var(--border); background:transparent;
      color:var(--text-secondary); font-size:12px; font-weight:600;
      font-family:'DM Sans',sans-serif; cursor:pointer; transition:all 0.2s;
    }
    .view-btn:first-child { border-radius:8px 0 0 8px; }
    .view-btn:last-child { border-radius:0 8px 8px 0; border-left:none; }
    .view-btn.active { background:var(--accent); border-color:var(--accent); color:#fff; }
    .view-btn:not(.active):hover { color:var(--text-primary); background:var(--tab-bg); }

    .group-controls {
      display:flex; align-items:center; justify-content:space-between;
      flex-wrap:wrap; gap:12px; margin:16px 0 20px;
    }

    /* Matches block */
    .matches-block { display:flex; flex-direction:column; gap:0; }

    .round-header {
      display:flex; align-items:center; gap:10px;
      padding:10px 16px; background:var(--bg-surface);
      border:1px solid var(--border); border-radius:8px 8px 0 0;
      margin-top:16px; transition:var(--transition-theme);
    }
    .round-header:first-child { margin-top:0; }
    .round-label {
      font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase;
      color:var(--text-muted); transition:var(--transition-theme);
    }
    .round-divider { flex:1; height:1px; background:var(--border); }

    .match-row {
      display:grid; grid-template-columns:1fr auto 1fr auto;
      align-items:center; gap:0;
      background:var(--match-pend); border:1px solid var(--border); border-top:none;
      transition:background 0.2s, var(--transition-theme);
    }
    .match-row:last-child { border-radius:0 0 8px 8px; }
    .match-row.finalizada { background:var(--match-fin); }
    .match-row:hover { background:var(--accent-subtle); }

    .match-team {
      padding:14px 16px; display:flex; flex-direction:column; gap:2px;
    }
    .match-team.right { text-align:right; align-items:flex-end; }
    .match-player { font-size:13px; font-weight:500; color:var(--text-primary); line-height:1.3; transition:var(--transition-theme); }
    .match-player.partner { color:var(--text-secondary); font-size:12px; }

    .match-score {
      padding:14px 20px; text-align:center; min-width:90px;
      border-left:1px solid var(--border); border-right:1px solid var(--border);
    }
    .match-score-value {
      font-family:'Bebas Neue',sans-serif; font-size:24px;
      letter-spacing:0.05em; color:var(--text-primary);
      transition:var(--transition-theme);
    }
    .match-score-value .vs { font-size:14px; color:var(--text-muted); margin:0 4px; }

    .match-status-col { padding:14px 16px; }
    .match-badge {
      padding:4px 10px; border-radius:99px;
      font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
      white-space:nowrap;
    }
    .match-badge.finalizada { background:rgba(46,204,113,0.12); border:1px solid rgba(46,204,113,0.25); color:#2ECC71; }
    .match-badge.pendente { background:var(--tab-bg); border:1px solid var(--border); color:var(--text-muted); }
    .match-badge.wo { background:rgba(231,76,60,0.1); border:1px solid rgba(231,76,60,0.2); color:var(--danger); }

    /* Empty state */
    .empty-matches {
      padding:40px 24px; text-align:center;
      background:var(--bg-card); border:1px solid var(--border); border-radius:12px;
      color:var(--text-muted); font-size:14px; transition:var(--transition-theme);
    }
    .empty-icon { font-size:32px; margin-bottom:12px; opacity:0.4; }

    /* =============================================
       CLASSIFICATION TABLE
    ============================================= */
    .classification-table-wrap {
      background:var(--bg-card); border:1px solid var(--border);
      border-radius:12px; overflow:hidden; transition:var(--transition-theme);
    }
    .classification-table { width:100%; border-collapse:collapse; }
    .classification-table th {
      padding:12px 14px; text-align:left;
      font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase;
      color:var(--text-muted); border-bottom:1px solid var(--border);
      background:var(--bg-surface); transition:var(--transition-theme);
    }
    .classification-table th:not(:first-child):not(:nth-child(2)) { text-align:center; }
    .classification-table td {
      padding:12px 14px; font-size:13px; color:var(--text-secondary);
      border-bottom:1px solid var(--border); transition:var(--transition-theme);
    }
    .classification-table td:not(:first-child):not(:nth-child(2)) { text-align:center; }
    .classification-table tr:last-child td { border-bottom:none; }
    .classification-table tr:hover td { background:var(--accent-subtle); color:var(--text-primary); }
    .rank-pos { font-family:'DM Mono',monospace; font-size:12px; color:var(--text-muted); width:32px; }
    .rank-pos.top1 { color:var(--gold); } .rank-pos.top2 { color:var(--silver); } .rank-pos.top3 { color:var(--bronze); }
    .classif-name { font-weight:600; color:var(--text-primary); }
    .classif-stat { font-family:'DM Mono',monospace; font-size:13px; }
    .classif-stat.highlight { color:var(--accent); font-weight:600; }

    /* =============================================
       SIDEBAR
    ============================================= */
    .sidebar { display:flex; flex-direction:column; gap:24px; }

    .sidebar-card {
      background:var(--bg-card); border:1px solid var(--border);
      border-radius:14px; overflow:hidden; transition:var(--transition-theme);
    }
    .sidebar-card-header {
      padding:16px 20px; border-bottom:1px solid var(--border);
      display:flex; align-items:center; gap:10px;
      background:var(--bg-surface); transition:var(--transition-theme);
    }
    .sidebar-card-header h3 { font-size:14px; font-weight:700; color:var(--text-primary); transition:var(--transition-theme); }
    .sidebar-card-header .count-badge {
      padding:2px 8px; background:var(--accent-subtle); border:1px solid rgba(46,204,113,0.2);
      border-radius:99px; font-size:11px; font-weight:700; color:var(--accent);
      margin-left:auto;
    }

    /* Inscribed athletes list */
    .athlete-row {
      display:grid; grid-template-columns:32px 1fr 28px 28px 28px 36px;
      align-items:center; padding:10px 20px; gap:8px;
      border-bottom:1px solid var(--border); transition:background 0.2s,var(--transition-theme);
    }
    .athlete-row:last-child { border-bottom:none; }
    .athlete-row:hover { background:var(--accent-subtle); }
    .athlete-num { font-size:12px; color:var(--text-muted); font-family:'DM Mono',monospace; transition:var(--transition-theme); }
    .athlete-num.top1 { color:var(--gold); } .athlete-num.top2 { color:var(--silver); } .athlete-num.top3 { color:var(--bronze); }
    .athlete-name-col { min-width:0; }
    .athlete-name {
      font-size:13px; font-weight:500; color:var(--accent); white-space:nowrap;
      overflow:hidden; text-overflow:ellipsis; cursor:pointer;
      text-decoration:none; display:block; transition:color 0.2s;
    }
    .athlete-name:hover { color:var(--text-primary); }
    .athlete-stat { font-size:12px; font-family:'DM Mono',monospace; color:var(--text-muted); text-align:center; transition:var(--transition-theme); }
    .athlete-stat.games { color:var(--text-primary); font-weight:600; }
    .athlete-header { background:var(--bg-surface); }
    .athlete-header .athlete-name-col, .athlete-header .athlete-stat, .athlete-header .athlete-num {
      font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
      color:var(--text-muted); padding:8px 0;
    }

    /* Wait list */
    .waitlist-section { display:none; }
    .waitlist-section.visible { display:block; }
    .waitlist-header {
      padding:14px 20px; border-top:1px solid var(--border);
      background:var(--bg-surface); display:flex; align-items:center; gap:10px;
      transition:var(--transition-theme);
    }
    .waitlist-header h4 { font-size:13px; font-weight:700; color:var(--text-primary); transition:var(--transition-theme); }
    .waitlist-header .wl-count {
      padding:2px 8px; background:var(--info-subtle); border:1px solid rgba(52,152,219,0.2);
      border-radius:99px; font-size:11px; font-weight:700; color:var(--info); margin-left:auto;
    }
    .waitlist-item {
      display:flex; align-items:center; justify-content:space-between;
      padding:12px 20px; border-bottom:1px solid var(--border);
      transition:background 0.2s, var(--transition-theme);
    }
    .waitlist-item:last-child { border-bottom:none; }
    .waitlist-item:hover { background:var(--accent-subtle); }
    .waitlist-pos { font-size:11px; color:var(--text-muted); font-family:'DM Mono',monospace; margin-right:10px; }
    .waitlist-name { font-size:13px; font-weight:500; color:var(--text-primary); flex:1; transition:var(--transition-theme); }
    .btn-remove-waitlist {
      width:26px; height:26px; border-radius:50%; border:none;
      background:var(--danger-subtle); color:var(--danger); cursor:pointer;
      display:flex; align-items:center; justify-content:center; font-size:13px;
      transition:all 0.2s; flex-shrink:0;
    }
    .btn-remove-waitlist:hover { background:var(--danger); color:#fff; transform:scale(1.1); }
    .btn-remove-waitlist.hidden { display:none; }

    /* =============================================
       HIDDEN HELPERS
    ============================================= */
    .hidden { display:none !important; }

    /* =============================================
       RESPONSIVE
    ============================================= */
    @media (max-width:1024px) {
      .tournament-hero-inner { grid-template-columns:240px 1fr; gap:32px; }
      .content-area { grid-template-columns:1fr; }
      .sidebar { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
    }
    @media (max-width:768px) {
      .nav-links { display:none; }
      .tournament-hero-inner { grid-template-columns:1fr; }
      .tournament-hero { padding:40px 20px 40px; }
      .tournament-cover { max-width:280px; }
      .content-area { padding:24px 16px 60px; }
      .sidebar { grid-template-columns:1fr; }
      .match-row { grid-template-columns:1fr auto 1fr; }
      .match-status-col { display:none; }
    }
  
    /* =============================================
       HAMBURGER + MOBILE MENU
    ============================================= */
    .hamburger {
      display:none; flex-direction:column; justify-content:center; gap:5px;
      width:40px; height:40px; cursor:pointer; border:none;
      background:transparent; padding:6px; border-radius:8px;
      transition:background 0.2s;
    }
    .hamburger:hover { background:var(--accent-subtle); }
    .hamburger span {
      display:block; height:2px; background:var(--text-primary);
      border-radius:2px; transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1);
      transform-origin:center;
    }
    .hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
    .hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

    .mobile-menu {
      position:fixed; inset:0; z-index:99;
      background:var(--bg-base); display:flex; flex-direction:column;
      padding:0; pointer-events:none;
      transform:translateX(100%);
      transition:transform 0.4s cubic-bezier(0.77,0,0.175,1);
    }
    .mobile-menu.open { transform:translateX(0); pointer-events:auto; }

    .mobile-menu-header {
      display:flex; align-items:center; justify-content:space-between;
      padding:16px 24px; border-bottom:1px solid var(--border);
      background:var(--bg-surface); min-height:72px;
    }
    .mobile-menu-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
    .mobile-menu-logo-badge {
      width:36px; height:36px; background:var(--accent); border-radius:9px;
      display:flex; align-items:center; justify-content:center;
      font-family:'Bebas Neue',sans-serif; font-size:16px; color:#fff;
    }
    .mobile-menu-logo-text { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:2px; color:var(--text-primary); }

    .mobile-menu-body { flex:1; overflow-y:auto; padding:24px; display:flex; flex-direction:column; gap:8px; }
    .mobile-menu-item {
      display:flex; align-items:center; gap:14px;
      padding:14px 16px; border-radius:12px;
      font-size:16px; font-weight:500; color:var(--text-primary);
      text-decoration:none; border:1px solid transparent;
      transition:all 0.2s; cursor:pointer;
    }
    .mobile-menu-item:hover, .mobile-menu-item.active {
      background:var(--accent-subtle); border-color:rgba(46,204,113,0.2); color:var(--accent);
    }
    .mobile-menu-item svg { color:var(--accent); flex-shrink:0; }

    .mobile-menu-divider { height:1px; background:var(--border); margin:8px 0; }

    .mobile-menu-footer {
      padding:20px 24px; border-top:1px solid var(--border);
      display:flex; align-items:center; justify-content:space-between; gap:16px;
    }
    .mobile-theme-row { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--text-secondary); }
    .mobile-assoc-btn {
      padding:11px 22px; background:var(--accent); color:#fff; border:none;
      border-radius:10px; font-size:13px; font-weight:700; font-family:'DM Sans',sans-serif;
      text-decoration:none; cursor:pointer; transition:all 0.2s; white-space:nowrap;
    }
    .mobile-assoc-btn:hover { box-shadow:0 6px 20px var(--accent-glow); }

    @media (max-width:860px) {
      .hamburger { display:flex; }
      .nav-links { display:none !important; }
      .nav-right .btn-login, .nav-right .btn-assoc { display:none; }
      .theme-toggle { display:none; }
    }

    /* FOOTER MOBILE */
    @media (max-width:768px) {
      .footer-top { grid-template-columns:1fr !important; gap:28px !important; padding:36px 20px 24px !important; }
      .footer-bottom { padding:16px 20px !important; }
      .footer-brand { text-align:center; }
      .footer-socials { justify-content:center; }
    }
    @media (max-width:480px) {
      .footer-top { padding:28px 16px 20px !important; }
    }

  