  :root {
    --bg: #090909;
    --bg2: #0f0f0f;
    --bg3: #181818;
    --card: #141414;
    --border: #2a2a2a;
    --accent: #00c853;
    --gold: #ffffff;
    --green: #00e676;
    --blue: #69f0ae;
    --purple: #b9f6ca;
    --text: #f0f0f0;
    --muted: #888888;
    --ice: #e8f5e9;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  body {
    background: var(--bg);
    color: var(--text);
    font-family: 'Barlow', sans-serif;
    min-height: 100vh;
    overflow-x: hidden;
  }

  header {
    background: linear-gradient(135deg, #090909 0%, #0d1a0d 50%, #090909 100%);
    border-bottom: 2px solid var(--accent);
    padding: 0 24px;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 4px 40px rgba(0,200,83,0.25);
  }

  .header-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    flex-wrap: nowrap;
    gap: 8px;
  }

  .logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    text-decoration: none;
  }
  .logo-brand {
    font-family: 'Barlow Condensed', 'Barlow', sans-serif;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 1;
    white-space: nowrap;
    text-shadow: 0 0 18px rgba(0,200,83,0.4);
  }
  .logo-comps {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
  }
  .logo-comp {
    position: relative;
    color: #555;
    line-height: 1;
    white-space: nowrap;
    cursor: default;
    transition: color 0.2s;
  }
  .logo-comp-active {
    color: #ffffff;
    cursor: pointer;
  }
  .logo-comp-selected {
    transform: scale(1.08);
    filter: drop-shadow(0 0 10px rgba(255,255,255,0.45));
    transition: transform 0.2s, filter 0.2s;
  }
  .logo-comp-dingerz {
    font-family: 'Dancing Script', cursive;
    font-size: 2.4rem;
    font-weight: 700;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.9), 0 0 20px rgba(255,255,255,0.15);
  }
  .logo-comp-tries {
    font-family: 'Permanent Marker', cursive;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.01em;
  }
  .logo-comp-bombs {
    font-family: 'Pacifico', cursive;
    font-size: 1.4rem;
    font-weight: 400;
  }
  .logo-comp-tuddies {
    font-family: 'Boogaloo', cursive;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.02em;
  }
  .comp-tbd {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.48rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #444;
    text-align: center;
    margin-top: -2px;
  }

  nav { display: flex; gap: 4px; flex-wrap: nowrap; overflow-x: auto; }

  nav button {
    background: none;
    border: none;
    color: var(--muted);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 8px 14px;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.2s;
  }

  nav button:hover, nav button.active {
    background: rgba(0,200,83,0.12);
    color: var(--accent);
  }

  main { max-width: 1400px; margin: 0 auto; padding: 24px; }

  .page { display: none; }
  .page.active { display: block; }

  .section-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 2rem;
    letter-spacing: 3px;
    color: var(--text);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .section-title span { color: var(--accent); }

  /* Compact standings table */
  .compact-standings {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 32px;
  }
  .compact-standings-header {
    display: grid;
    grid-template-columns: 40px 1fr 1fr 80px;
    padding: 10px 16px;
    background: rgba(255,255,255,0.04);
    border-bottom: 1px solid var(--border);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--muted);
    text-transform: uppercase;
  }
  .compact-standings-row {
    display: grid;
    grid-template-columns: 40px 1fr 1fr 80px;
    padding: 14px 16px;
    align-items: center;
    border-bottom: 1px solid var(--border);
    transition: background 0.15s;
  }
  .compact-standings-row:last-child { border-bottom: none; }
  .compact-standings-row:hover { background: rgba(255,255,255,0.03); }
  .compact-standings-row.cs-first { border-left: 3px solid #ffffff; }
  .compact-standings-row.cs-second { border-left: 3px solid #C0C0C0; }
  .compact-standings-row.cs-third { border-left: 3px solid #CD7F32; }
  .compact-standings-row.my-team { background: rgba(0,200,83,0.08); border-left: 3px solid var(--accent) !important; }
  .compact-standings-row.my-team .cs-team::after { content: " ⭐"; color: var(--accent); font-size: 0.8rem; }
  .team-card.my-team { border-color: var(--accent) !important; box-shadow: 0 0 0 2px rgba(0,200,83,0.3), 0 4px 16px rgba(0,200,83,0.15) !important; }
  .team-card.my-team .team-name::after { content: " — MY TEAM"; font-size: 0.7rem; color: var(--accent); font-weight: 600; letter-spacing: 0.05em; }
  .cs-rank { font-size: 1.1rem; }
  .cs-team { font-weight: 700; font-size: 0.95rem; color: var(--text); }
  .cs-manager { font-size: 0.8rem; color: var(--muted); }
  .cs-players { font-size: 0.85rem; color: var(--muted); text-align: center; }
  .cs-pts { font-size: 1rem; font-weight: 700; color: var(--accent); text-align: right; }
  .cs-pts small { font-size: 0.65rem; color: var(--muted); font-weight: 400; }
  .league-rosters-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
  }
  .league-rosters-header input { width: auto; max-width: 240px; padding: 7px 12px; }

  .standings-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    margin-bottom: 32px;
  }

  .standing-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s;
    position: relative;
    overflow: hidden;
  }

  .standing-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--accent); transform:scaleX(0); transition:transform 0.2s; }
  .standing-card:hover::before { transform:scaleX(1); }
  .standing-card:hover { border-color: var(--accent); transform: translateY(-2px); }

  .standing-rank { font-family:'Bebas Neue',sans-serif; font-size:2.5rem; color:var(--muted); line-height:1; }
  .standing-rank.gold { color:var(--gold); text-shadow:0 0 12px rgba(255,255,255,0.3); }
  .standing-rank.silver { color:#c0c0c0; }
  .standing-rank.bronze { color:#cd7f32; }
  .standing-team { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.1rem; margin-top:4px; }
  .standing-pts { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; color:var(--accent); margin-top:2px; }

  .teams-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:20px; }

  .team-card { background:var(--card); border:1px solid var(--border); border-radius:12px; overflow:hidden; transition:all 0.2s; }
  .team-card:hover { border-color:rgba(0,200,83,0.4); }

  .team-header { background:linear-gradient(135deg, var(--bg3), var(--bg2)); padding:14px 18px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--border); }

  .team-name { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:2px; }
  .team-score { font-family:'Bebas Neue',sans-serif; font-size:1.8rem; color:var(--accent); }
  .team-score-label { font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:1px; text-align:right; line-height:1; }

  .player-list { padding:8px 0; }

  .player-row.live-game { border: 2px solid #00c853 !important; border-radius: 8px; box-shadow: 0 0 14px rgba(0,200,83,0.5); animation: liveGlow 2s ease-in-out infinite; background: rgba(0,200,83,0.06) !important; color: var(--text) !important; }
  @keyframes liveGlow { 0%,100%{ box-shadow:0 0 8px rgba(0,200,83,0.3); } 50%{ box-shadow:0 0 20px rgba(0,200,83,0.8); } }
  .in-game-badge { font-size:0.58rem; font-weight:800; color:#00e676; background:rgba(0,200,83,0.12); border:1px solid rgba(0,200,83,0.5); border-radius:4px; padding:1px 6px; letter-spacing:0.8px; animation:badgePulse 1.2s ease-in-out infinite; white-space:nowrap; margin-left:4px; }
  @keyframes badgePulse { 0%,100%{ opacity:1; } 50%{ opacity:0.5; } }
  .auto-sync-bar { display:flex; align-items:center; gap:8px; font-size:0.72rem; color:var(--muted); margin-bottom:14px; padding:8px 12px; background:var(--bg2); border-radius:8px; border:1px solid var(--border); }
  .auto-sync-dot { width:8px; height:8px; border-radius:50%; background:#44dd44; flex-shrink:0; animation:sDotPulse 2s ease-in-out infinite; }
  .auto-sync-dot.syncing { background:#ffcc00; animation:none; }
  .auto-sync-dot.off { background:#555; animation:none; }
  .team-logo { width:15px; height:15px; object-fit:contain; margin-left:5px; vertical-align:middle; flex-shrink:0; display:inline-block; opacity:0.85; }
  .player-row.live-game .team-logo { opacity:1; }
  .player-logo-sm { width:28px; height:28px; object-fit:contain; flex-shrink:0; border-radius:4px; }
  .log-logo-fb { font-size:1.2rem; width:28px; height:28px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  @keyframes sDotPulse { 0%,100%{ opacity:1; } 50%{ opacity:0.4; } }

  .bench-divider { display:flex; align-items:center; gap:8px; padding:4px 18px; }
  .bench-divider-line { flex:1; height:1px; background:var(--border); }
  .bench-divider-label { font-family:'Barlow Condensed',sans-serif; font-size:0.65rem; font-weight:700; letter-spacing:2px; color:var(--muted); text-transform:uppercase; }

  .player-name-wrap { flex:1; display:flex; align-items:center; gap:6px; }
  .player-name { font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:0.95rem; white-space:nowrap; }

  .cold-indicator { font-size:0.85rem; animation:iceShake 0.5s ease-in-out infinite alternate; }

  @keyframes iceShake { from { transform:rotate(-5deg); } to { transform:rotate(5deg); } }

  /* ── PLAYER ROW LAYOUT ── */
  .player-row { display:flex; align-items:center; padding:7px 14px; gap:0; transition:background 0.15s; min-height:44px; }
  .player-row:hover { background:rgba(255,255,255,0.035); }
  .player-row.bench { opacity:0.65; }
  .player-col-player { display:flex; align-items:center; gap:7px; flex:1; min-width:0; overflow:visible; }
  .player-col-last5 { display:flex; gap:4px; align-items:center; margin:0 10px; flex-shrink:0; height:26px; overflow:hidden; }
  .player-col-season { font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:700; color:var(--text); min-width:48px; text-align:right; flex-shrink:0; line-height:1; }
  .player-col-season span { display:block; font-size:0.6rem; font-weight:400; color:var(--muted); letter-spacing:0.5px; }

  /* Column header row */
  .player-row-header { display:flex; align-items:center; padding:5px 14px; gap:0; border-bottom:1px solid var(--border); margin-bottom:2px; }
  .player-row-header .ph-player { flex:1; font-size:0.62rem; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted); }
  .player-row-header .ph-last5 { font-size:0.62rem; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted); margin:0 10px; min-width:108px; text-align:center; }
  .player-row-header .ph-season { font-size:0.62rem; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted); min-width:48px; text-align:right; }

  /* Position badge — inline with name */
  .tag { font-family:'Barlow Condensed',sans-serif; font-size:0.65rem; font-weight:700; letter-spacing:1px; padding:1px 5px; border-radius:3px; text-transform:uppercase; flex-shrink:0; }
  .tag-pos { background:rgba(64,196,255,0.12); color:var(--blue); border:1px solid rgba(64,196,255,0.25); }

  /* Last-5 squares */
  .g5-sq { width:20px; height:24px; min-width:20px; max-width:20px; min-height:24px; max-height:24px; border-radius:4px; display:flex; align-items:center; justify-content:center; font-family:'Barlow Condensed',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:0; flex-shrink:0; align-self:center; }
  .g5-sq.empty { background:transparent; border:1px dashed rgba(255,255,255,0.07); }
  .g5-sq.dnp  { background:var(--bg3); color:var(--muted); border:1px solid var(--border); font-size:0.55rem; }
  .g5-sq.none { background:rgba(255,255,255,0.05); color:#666; border:1px solid rgba(255,255,255,0.08); }
  .g5-sq.hr1  { background:rgba(0,200,83,0.15); color:#00e676; border:1px solid rgba(0,200,83,0.4); }
  .g5-sq.hr2  { background:rgba(255,255,255,0.12); color:var(--gold); border:1px solid rgba(255,255,255,0.35); }
  .g5-sq.hr3p { background:rgba(0,200,83,0.25); color:#00e676; border:1px solid rgba(0,200,83,0.55); }
  .g5-sq.slam { background:rgba(206,147,216,0.22); color:var(--purple); border:1px solid rgba(206,147,216,0.5); }
  @keyframes slamPulse { 0%,100% { box-shadow:0 0 0 0 rgba(206,147,216,0.5); } 50% { box-shadow:0 0 0 6px rgba(206,147,216,0); } }
  .g5-sq.slam { animation:slamPulse 2s ease-in-out infinite; }

  /* Season HR stat */
  .season-hr { font-family:'Barlow Condensed',sans-serif; font-size:0.85rem; color:var(--muted); min-width:36px; text-align:right; }
  .season-hr strong { color:var(--text); font-weight:700; }

  /* Old dots — keep for any legacy refs */
  .game-dots { display:flex; gap:3px; }
  .game-dot { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
  .game-dot.played { background:var(--border); }
  .game-dot.hr { background:var(--accent); }
  .game-dot.multi { background:var(--gold); }
  .game-dot.slam { background:var(--purple); }

  .manage-layout { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  @media(max-width:768px) { .manage-layout { grid-template-columns:1fr; } }

  .panel { background:var(--card); border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:0; }
  .panel-header { background:var(--bg3); padding:14px 18px; font-family:'Bebas Neue',sans-serif; font-size:1.2rem; letter-spacing:2px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
  .panel-content { padding:14px; }

  .input-group { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
  .input-group label { font-family:'Barlow Condensed',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }

  input, select { background:var(--bg3); border:1px solid var(--border); border-radius:6px; color:var(--text); padding:9px 12px; font-family:'Barlow',sans-serif; font-size:0.95rem; width:100%; transition:border-color 0.2s; }
  input:focus, select:focus { outline:none; border-color:var(--accent); }
  select option { background:var(--bg3); }

  .btn { background:var(--accent); color:#fff; border:none; border-radius:6px; padding:10px 20px; font-family:'Barlow Condensed',sans-serif; font-size:0.95rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; transition:all 0.2s; width:100%; }
  .btn:hover { background:#00b846; transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,200,83,0.4); }
  .btn:active { transform:translateY(0); }
  .btn:disabled { opacity:0.5; cursor:not-allowed; transform:none; box-shadow:none; }

  .btn-ghost { background:transparent; border:1px solid var(--border); color:var(--muted); }
  .btn-ghost:hover { border-color:var(--accent); color:var(--accent); background:transparent; box-shadow:none; }

  .btn-sm { padding:5px 12px; font-size:0.75rem; width:auto; }

  .btn-danger { background:transparent; border:1px solid rgba(0,200,83,0.4); color:var(--accent); }
  .btn-danger:hover { background:rgba(0,200,83,0.12); box-shadow:none; }

  .btn-success { background:var(--green); color:var(--bg); }
  .btn-success:hover { background:#33eb91; box-shadow:0 4px 12px rgba(0,230,118,0.4); }

  .btn-blue { background:var(--blue); color:var(--bg); }
  .btn-blue:hover { background:#70d4ff; box-shadow:0 4px 12px rgba(64,196,255,0.4); }

  .player-table { width:100%; border-collapse:collapse; font-size:0.9rem; }
  .player-table th { font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); padding:8px 10px; border-bottom:1px solid var(--border); text-align:left; }
  .player-table td { padding:8px 10px; border-bottom:1px solid rgba(42,42,58,0.5); }
  .player-table tr:hover td { background:rgba(255,255,255,0.02); }
  .player-table tr:last-child td { border-bottom:none; }

  .fa-row { display:flex; align-items:center; padding:8px 10px; gap:10px; border-radius:6px; transition:background 0.15s; }
  .fa-row:hover { background:rgba(255,255,255,0.04); }
  .fa-name { flex:1; font-weight:600; }

  .log-entry { padding:10px 14px; border-radius:6px; margin-bottom:6px; display:flex; align-items:center; gap:12px; font-size:0.9rem; }
  .log-entry.hr-event { background:rgba(0,200,83,0.07); border-left:3px solid var(--accent); }
  .log-entry.multi-event { background:rgba(255,255,255,0.04); border-left:3px solid var(--gold); }
  .log-entry.slam-event { background:rgba(206,147,216,0.08); border-left:3px solid var(--purple); }

  .hr-type-btns { display:flex; gap:8px; margin-top:6px; }
  .hr-type-btn { flex:1; background:var(--bg3); border:1px solid var(--border); border-radius:6px; padding:10px 6px; font-family:'Barlow Condensed',sans-serif; font-size:0.85rem; font-weight:700; color:var(--muted); cursor:pointer; text-align:center; transition:all 0.2s; line-height:1.4; }
  .hr-type-btn.selected-hr { border-color:var(--accent); color:var(--accent); background:rgba(0,200,83,0.1); }
  .hr-type-btn.selected-multi { border-color:var(--gold); color:var(--gold); background:rgba(255,255,255,0.07); }
  .hr-type-btn.selected-slam { border-color:var(--purple); color:var(--purple); background:rgba(206,147,216,0.1); }
  .hr-type-btn.selected-none { border-color:var(--border); color:var(--text); background:var(--bg2); }

  .streak-badge { font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; font-weight:700; padding:2px 6px; border-radius:4px; }
  .streak-cold { background:rgba(168,230,255,0.15); color:var(--ice); border:1px solid rgba(168,230,255,0.3); }
  .streak-hot { background:rgba(0,200,83,0.12); color:var(--accent); border:1px solid rgba(0,200,83,0.3); }


  /* ── Activity Feed ── */
  .feed-item { display:flex; gap:14px; align-items:flex-start; padding:14px 18px; border-bottom:1px solid var(--border); }
  .feed-item:last-child { border-bottom:none; }
  .feed-icon { font-size:1.4rem; flex-shrink:0; margin-top:2px; }
  .feed-body { flex:1; min-width:0; }
  .feed-msg { font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:600; letter-spacing:0.5px; color:var(--text); margin-bottom:4px; }
  .feed-meta { display:flex; align-items:center; gap:6px; font-size:0.72rem; color:var(--muted); flex-wrap:wrap; }
  .feed-team { font-weight:700; color:var(--text); }
  .feed-dot { color:var(--border); }
  .feed-type { font-weight:700; letter-spacing:1px; }
  .feed-time { color:var(--muted); }

  #toast { position:fixed; bottom:24px; right:24px; background:var(--bg3); border:1px solid var(--accent); border-radius:10px; padding:14px 20px; font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:600; box-shadow:0 8px 32px rgba(0,0,0,0.5),0 0 20px rgba(0,200,83,0.15); transform:translateY(80px); opacity:0; transition:all 0.3s; z-index:1000; max-width:320px; }
  #toast.show { transform:translateY(0); opacity:1; }

  .modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.8); z-index:500; display:none; align-items:center; justify-content:center; padding:20px; }
  .modal-overlay.open { display:flex; }
  .modal { background:var(--card); border:1px solid var(--border); border-radius:14px; padding:28px; max-width:560px; width:100%; box-shadow:0 20px 80px rgba(0,0,0,0.6); max-height:90vh; overflow-y:auto; }
  .modal-title { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:2px; margin-bottom:16px; color:var(--accent); }
  .modal-actions { display:flex; gap:10px; margin-top:20px; }
  /* NRL League Modal styles */
  .modal-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
  .modal-header h3 { font-family:'Bebas Neue',sans-serif; font-size:1.5rem; letter-spacing:2px; color:var(--accent); margin:0; }
  .modal-close { background:none; border:none; color:var(--muted); font-size:1.2rem; cursor:pointer; padding:4px 8px; border-radius:6px; transition:color 0.2s; }
  .modal-close:hover { color:#fff; }
  .modal-tabs { display:flex; gap:0; margin-bottom:22px; border-bottom:2px solid var(--border); }
  .modal-tab { background:none; border:none; color:var(--muted); font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:600; letter-spacing:1px; text-transform:uppercase; padding:10px 22px; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all 0.2s; }
  .modal-tab.active { color:#fff; border-bottom-color:var(--accent); }
  .modal-tab:hover { color:#ddd; }
  .modal-field { margin-bottom:16px; }
  .modal-field label { display:block; font-family:'Barlow Condensed',sans-serif; font-size:0.85rem; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
  .modal-hint { font-size:0.82rem; color:var(--muted); margin:10px 0 16px; line-height:1.5; font-style:italic; }
  .form-error { color:#ff6b6b; font-size:0.83rem; margin:8px 0; min-height:16px; }
  .btn-accent { background:var(--accent); color:#000; border:none; border-radius:8px; padding:11px 22px; font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; cursor:pointer; width:100%; transition:opacity 0.2s; margin-top:4px; }
  .btn-accent:hover { opacity:0.88; }
  .nrl-cta-box { text-align:center; padding:40px 24px; }
  .nrl-cta-box .nrl-cta-icon { font-size:3.5rem; display:block; margin-bottom:12px; }
  .nrl-cta-box h3 { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:2px; color:#fff; margin-bottom:8px; }
  .nrl-cta-box p { color:var(--muted); margin-bottom:24px; font-size:0.95rem; line-height:1.6; }
  .nrl-cta-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
  .nrl-cta-btns .btn { min-width:140px; }

  .info-bar { background:rgba(0,200,83,0.05); border:1px solid rgba(0,200,83,0.2); border-radius:8px; padding:10px 16px; font-size:0.85rem; color:var(--blue); margin-bottom:16px; display:flex; align-items:flex-start; gap:8px; }

  .sync-panel { background:linear-gradient(135deg, rgba(64,196,255,0.08), rgba(0,230,118,0.05)); border:1px solid rgba(64,196,255,0.25); border-radius:12px; padding:20px; margin-bottom:28px; }
  .sync-title { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:2px; color:var(--blue); margin-bottom:4px; }
  .sync-subtitle { font-size:0.85rem; color:var(--muted); margin-bottom:14px; line-height:1.5; }
  .sync-status { font-family:'Barlow Condensed',sans-serif; font-size:0.9rem; margin-top:10px; min-height:20px; }

  .sync-result-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid rgba(42,42,58,0.5); font-size:0.88rem; }
  .sync-result-row:last-child { border-bottom:none; }

  .top-bar { display:flex; gap:12px; align-items:center; margin-bottom:24px; flex-wrap:wrap; }
  .top-bar input { width:auto; max-width:240px; padding:7px 12px; }

  .row-flex { display:flex; gap:10px; }
  .row-flex > * { flex:1; }

  .empty { text-align:center; padding:40px 20px; color:var(--muted); }
  .empty-icon { font-size:3rem; margin-bottom:12px; }
  .empty p { font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; letter-spacing:1px; }

  ::-webkit-scrollbar { width:6px; }
  ::-webkit-scrollbar-track { background:var(--bg); }
  ::-webkit-scrollbar-thumb { background:var(--border); border-radius:3px; }

  @keyframes spin { to { transform:rotate(360deg); } }
  .spinner { display:inline-block; width:14px; height:14px; border:2px solid rgba(255,255,255,0.2); border-top-color:var(--blue); border-radius:50%; animation:spin 0.6s linear infinite; vertical-align:middle; margin-right:6px; }

  .penalty-badge { font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; color:var(--ice); background:rgba(168,230,255,0.1); border:1px solid rgba(168,230,255,0.2); border-radius:4px; padding:1px 5px; margin-left:2px; }

  .spacer { height:16px; }

  /* ═══════════════════════════════════════════
     MOBILE RESPONSIVE  (max-width: 768px)
     Desktop layout is completely untouched.
  ═══════════════════════════════════════════ */
  @media (max-width: 768px) {

    /* ── Header: logo left, nav scrolls horizontally below ── */
    header { padding: 0 10px; }
    .header-inner {
      height: auto;
      flex-direction: column;
      align-items: flex-start;
      padding: 8px 0;
      gap: 4px;
    }
    .logo { font-size: 1.5rem; letter-spacing: 2px; }
    nav {
      display: flex;
      flex-wrap: nowrap;
      overflow-x: auto;
      gap: 2px;
      width: 100%;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      padding-bottom: 2px;
    }
    nav::-webkit-scrollbar { display: none; }
    nav button {
      font-size: 0.7rem;
      padding: 5px 10px;
      letter-spacing: 0.8px;
      white-space: nowrap;
      flex-shrink: 0;
    }

    /* ── Page container ── */
    .container { padding: 10px 10px; }
    main { padding: 10px 10px; padding-top: 100px; }

    /* ── Scoring key: horizontal scroll ── */    .auto-sync-bar { font-size: 0.65rem; padding: 5px 8px; }

    /* ── Standings cards: single column ── */
    .standings-grid { grid-template-columns: 1fr; gap: 8px; }

    /* ── Teams grid: single column ── */
    .teams-grid { grid-template-columns: 1fr; gap: 10px; }
    .team-name { font-size: 0.95rem; }
    .team-score { font-size: 1.5rem; }

    /* ── Column header row ── */
    .player-row-header { padding: 4px 8px; }
    .player-row-header .ph-player { font-size: 0.58rem; }
    .player-row-header .ph-last5 { font-size: 0.58rem; min-width: 90px; margin: 0 6px; }
    .player-row-header .ph-season { font-size: 0.58rem; min-width: 30px; }

    /* ── Player rows: compact ── */
    .player-row { padding: 5px 8px; min-height: 34px; }

    /* Player col: flex:1 takes remaining space, name truncates with ellipsis */
    .player-col-player {
      gap: 4px;
      min-width: 0;
      flex: 1;
      overflow: visible;
    }
    .player-name {
      font-size: 0.78rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      flex: 1;
      min-width: 0;
    }
    .team-logo { width: 12px; height: 12px; }
    .tag { font-size: 0.58rem; padding: 1px 3px; letter-spacing: 0.5px; }

    /* Last 5 squares */
    .player-col-last5 { gap: 2px; margin: 0 5px; height: 20px; }
    .g5-sq {
      width: 16px;
      height: 18px;
      font-size: 0.6rem;
      border-radius: 3px;
      min-width: 16px;
      max-width: 16px;
      min-height: 18px;
      max-height: 18px;
    }

    /* Season column */
    .player-col-season { font-size: 0.82rem; min-width: 30px; }
    .player-col-season span { font-size: 0.5rem; }

    /* Cold streak + penalty */
    .cold-indicator { font-size: 0.65rem; }
    .penalty-badge { font-size: 0.58rem; padding: 1px 3px; }
    .in-game-badge { font-size: 0.5rem; padding: 1px 3px; }

    /* Bench divider */
    .bench-divider-label { font-size: 0.6rem; }

    /* Manage, Today's Dingerz, Admin pages */
    .manage-layout { grid-template-columns: 1fr !important; }
    .manage-card { padding: 12px; }
    .log-table { font-size: 0.72rem; }
    .admin-grid { grid-template-columns: 1fr !important; }

    /* Page headings */
    .page-heading { font-size: 1.4rem; }
  }


  /* ── COMMISSIONER AUTH ─────────────────────────────── */
  .login-btn {
    background: none; border: none;
    color: var(--muted); font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.8rem; font-weight: 600; letter-spacing: 1px;
    text-transform: uppercase; padding: 6px 12px; border-radius: 6px;
    cursor: pointer; transition: all 0.2s; white-space: nowrap;
  }
  .login-btn:hover { color: var(--accent); }
  .logout-btn { color: var(--muted) !important; font-size: 0.75rem !important; padding: 4px 8px !important; }
  .logout-btn:hover { color: #ff4444 !important; }

  #admin-nav-btn { display: none; }
  #admin-nav-btn.comm-visible { display: inline-block !important; }
  /* Commissioner action gating */
  body:not(.comm-mode) .comm-action { display: none !important; }
  .comm-lock-notice { display: none; }
  body:not(.comm-mode) .comm-lock-notice { display: block !important; }

.season-summary { padding: 10px 0 18px; border-bottom: 1px solid #2a2a2a; margin-bottom: 18px; }
  .season-label { color: #888; font-size: 11px; letter-spacing: 2px; font-weight: 700; text-transform: uppercase; margin-right: 8px; }
  .season-hr-count { color: #f97316; font-size: 14px; font-weight: 700; letter-spacing: 1px; }
  .log-date-group { margin-bottom: 22px; }
  .log-date-header { display: flex; align-items: center; gap: 10px; padding: 6px 0 10px; border-bottom: 1px solid #2a2a2a; margin-bottom: 8px; }
  .log-date-label { color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
  .log-date-count { color: #f97316; font-size: 12px; font-weight: 600; }
  .log-no-hr { color: #444; font-size: 13px; padding: 8px 0; font-style: italic; }
  .log-empty { color: #666; font-size: 14px; padding: 20px 0; text-align: center; }
  .log-hr-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid #1a1a1a; }
  .log-hr-row:last-child { border-bottom: none; }
  .log-player-name { flex: 1; color: #fff; font-size: 14px; font-weight: 600; }
  .log-team-tag { color: #888; font-size: 11px; background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: 4px; padding: 2px 6px; white-space: nowrap; }
.log-team-fa { color: #666; background: #111; border-color: #333; }
  .log-player-info { flex: 1; display: flex; flex-direction: column; gap: 3px; }
  .hr-badge { color: #00c853; font-size: 12px; font-weight: 700; background: #001a0e; border: 1px solid #00c853; border-radius: 4px; padding: 3px 8px; white-space: nowrap; flex-shrink: 0; }
  .log-logo-fb { font-size: 22px; flex-shrink: 0; width: 32px; text-align: center; }

  /* ── RULES PAGE ─────────────────────────────────────────── */
  /* ── PORTAL COUNTDOWN BANNER ──────────────────────────── */
  .portal-banner { margin: 0 0 24px 0; border-radius: 12px; padding: 20px 28px; text-align: center; font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; letter-spacing: 0.04em; }
  .portal-banner.portal-closed { background: linear-gradient(135deg, #141414, #1a1a1a); border: 2px solid var(--accent); color: var(--text); }
  .portal-banner.portal-open { background: linear-gradient(135deg, #0a1a0a, #0d2a0d); border: 2px solid var(--green); color: var(--green); }
  .portal-banner-label { font-size: 0.75rem; letter-spacing: 0.12em; opacity: 0.7; margin-bottom: 6px; text-transform: uppercase; }
  .portal-banner-status { font-size: 1.6rem; font-weight: 700; margin-bottom: 4px; }
  .portal-banner-timer { font-size: 2.4rem; font-weight: 900; letter-spacing: 0.06em; }
  .portal-banner-timer span { font-size: 0.85rem; opacity: 0.6; margin: 0 2px; font-family: 'Barlow', sans-serif; }
  /* Portal Activity Feed */
  .portal-feed-section { margin-top: 8px; }
  .portal-feed-wrap {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    max-height: 280px;
    overflow-y: auto;
  }
  .portal-feed-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 9px 14px;
    border-bottom: 1px solid var(--border);
  }
  .portal-feed-item:last-child { border-bottom: none; }
  .portal-feed-item:hover { background: rgba(255,255,255,0.02); }
  .portal-feed-empty {
    padding: 20px;
    text-align: center;
    color: var(--muted);
    font-size: 0.85rem;
    font-family: 'Barlow Condensed', sans-serif;
    letter-spacing: 0.5px;
  }

  .rules-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 1000px;
  }
  @media (max-width: 700px) { .rules-grid { grid-template-columns: 1fr; } }

  .rules-section {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 28px 32px;
  }

  .rules-section-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.5rem;
    letter-spacing: 2px;
    color: var(--accent);
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
  }

  .rules-table { display: flex; flex-direction: column; gap: 0; }

  .rules-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
    gap: 16px;
  }
  .rules-row:last-child { border-bottom: none; }
  .rules-row.highlight { background: rgba(255,255,255,0.03); margin: 0 -8px; padding: 14px 8px; border-radius: 6px; }
  .rules-row.penalty { background: rgba(255,60,60,0.04); margin: 0 -8px; padding: 14px 8px; border-radius: 6px; }

  .rules-event {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--text);
    letter-spacing: 0.3px;
  }

  .rules-pts {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.1rem;
    letter-spacing: 1.5px;
    white-space: nowrap;
  }
  .rules-pts.plus { color: #4fc97e; }
  .rules-pts.minus { color: #ff4c4c; }

  .rules-body { display: flex; flex-direction: column; gap: 14px; }
  .rules-item {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: var(--muted);
    letter-spacing: 0.3px;
    line-height: 1.4;
    padding-left: 12px;
    border-left: 2px solid var(--border);
  }
  .rules-item strong { color: var(--text); }

  .cold-one { color: #87ceeb; font-weight: 700; }
  .cold-two { color: #4fa8d8; font-weight: 700; }
  .cold-three { color: #1e6fa8; font-weight: 700; }
.fa-grid-section { margin: 24px 0 32px; }
  .fa-grid-header-row { display:flex; align-items:baseline; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
  .fa-grid-subtitle { color:var(--muted); font-size:0.82rem; letter-spacing:0.04em; text-transform:uppercase; }
  #fa-grid-pool { display:grid; grid-template-columns:repeat(auto-fill, minmax(110px, 1fr)); gap:10px; }
  .fa-grid-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:14px 8px 10px; display:flex; flex-direction:column; align-items:center; gap:5px; position:relative; text-align:center; transition:border-color 0.15s,background 0.15s; }
  .fa-grid-card:hover { border-color:var(--accent); background:var(--bg3); }
  .fa-grid-rank { position:absolute; top:5px; left:7px; font-size:0.6rem; font-weight:700; color:var(--muted); }
  .fa-grid-logo { width:40px; height:40px; object-fit:contain; display:block; }
  .fa-grid-logo-fallback { font-size:1.5rem; line-height:1; width:40px; height:40px; display:flex; align-items:center; justify-content:center; }
  .fa-grid-hr { font-size:1.5rem; font-weight:800; color:var(--green); line-height:1; }
  .fa-grid-hr-label { font-size:0.58rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.07em; margin-top:-3px; }
  .fa-grid-name { font-size:0.7rem; font-weight:600; color:var(--text); line-height:1.25; }
  .fa-grid-pos { font-size:0.58rem; color:var(--muted); background:var(--bg3); border:1px solid var(--border); border-radius:4px; padding:1px 5px; text-transform:uppercase; letter-spacing:0.05em; }
  .portal-manage-section { margin:24px 0; padding-top:28px; border-top:1px solid var(--border); }
  .portal-info-section { margin:24px 0; padding-top:28px; border-top:1px solid var(--border); }
  @media (max-width:768px) {
    #fa-grid-pool { grid-template-columns:repeat(auto-fill, minmax(85px, 1fr)); gap:7px; }
    .fa-grid-logo { width:32px; height:32px; }
    .fa-grid-hr { font-size:1.2rem; }
    .fa-grid-name { font-size:0.65rem; }
  }

  /* ===== USER AUTH & LANDING ===== */
  .landing-page { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:85vh; padding:2rem 1rem; position:relative; overflow:hidden; width:100vw; margin-left:calc(-50vw + 50%); }
  .landing-page::before { content:''; position:absolute; top:50%; left:50%; width:700px; height:700px; background:radial-gradient(circle, rgba(0,200,83,0.10) 0%, rgba(0,200,83,0.03) 40%, transparent 70%); transform:translate(-50%,-50%); pointer-events:none; z-index:0; }
  .landing-hero { text-align:center; margin-bottom:2.5rem; position:relative; z-index:1; }
  .landing-season { font-family:'Barlow Condensed',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.3em; text-transform:uppercase; color:var(--muted); margin-bottom:1.2rem; }
  .landing-title { font-family:'Oswald',sans-serif; font-size:clamp(3.2rem,10vw,6.5rem); line-height:0.85; letter-spacing:3px; color:#fff; text-transform:uppercase; margin-bottom:0.2rem; }
  .landing-title-league { display:block; color:var(--accent); font-size:0.55em; letter-spacing:0.35em; margin-top:0.1em; }
  .landing-desc { color:var(--muted); max-width:520px; line-height:1.7; font-size:0.95rem; margin:1rem auto 0; letter-spacing:0.02em; }
  .landing-cta-row { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:2rem; flex-wrap:wrap; }
  .landing-cta-primary { display:inline-flex; align-items:center; gap:8px; padding:12px 32px; background:var(--accent); color:#000; border:none; border-radius:8px; font-size:0.9rem; font-weight:700; cursor:pointer; transition:all 0.2s; text-decoration:none; letter-spacing:0.02em; }
  .landing-cta-primary:hover { opacity:0.9; transform:translateY(-1px); box-shadow:0 4px 20px rgba(0,200,83,0.3); }
  .landing-cta-secondary { display:inline-flex; align-items:center; gap:6px; padding:12px 24px; background:transparent; color:var(--muted); border:1px solid var(--border); border-radius:8px; font-size:0.85rem; font-weight:600; cursor:pointer; transition:all 0.2s; text-decoration:none; letter-spacing:0.02em; }
  .landing-cta-secondary:hover { border-color:var(--accent); color:var(--accent); }
  .landing-stats { display:flex; justify-content:center; gap:32px; margin-top:2.5rem; flex-wrap:wrap; }
  .landing-stat { text-align:center; }
  .landing-stat-num { font-family:'Bebas Neue',sans-serif; font-size:2rem; color:var(--text); line-height:1; }
  .landing-stat-label { font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); margin-top:4px; }
  .landing-auth-panel { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:1.8rem; width:100%; max-width:380px; position:relative; z-index:1; margin:0 auto; align-self:center; }
  .landing-tabs { display:flex; gap:0; margin-bottom:1.2rem; border-bottom:1px solid var(--border); }
  .landing-tab { flex:1; background:none; border:none; color:var(--muted); padding:0.6rem; font-size:0.85rem; cursor:pointer; font-weight:600; border-bottom:2px solid transparent; margin-bottom:-1px; transition:all 0.2s; letter-spacing:0.02em; }
  .landing-tab.active { color:var(--accent); border-bottom-color:var(--accent); }
  .landing-input-group { margin-bottom:0.9rem; }
  .landing-input-group label { display:block; font-size:0.7rem; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:0.3rem; }
  .landing-input-group input { width:100%; padding:0.65rem 0.9rem; background:var(--bg); border:1px solid var(--border); border-radius:6px; color:var(--text); font-size:0.9rem; box-sizing:border-box; transition:border-color 0.2s; }
  .landing-input-group input:focus { outline:none; border-color:var(--accent); }
  .landing-submit-btn { width:100%; padding:0.75rem; background:var(--accent); color:#000; border:none; border-radius:8px; font-size:0.9rem; font-weight:700; cursor:pointer; margin-top:0.6rem; transition:all 0.2s; }
  .landing-submit-btn:hover { opacity:0.9; }
  .landing-error { color:#ff6b6b; font-size:0.8rem; margin-bottom:0.8rem; padding:0.4rem 0.6rem; background:rgba(255,107,107,0.1); border-radius:6px; }
  .user-badge { font-size:0.8rem; font-weight:600; color:var(--text); padding:0; }
  #user-header-area { display:flex; align-items:center; gap:4px; }

/* ===== MY LEAGUES PAGE ===== */
/* ── MY LEAGUES PAGE ─────────────────────────────────── */
.my-leagues-wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 12px 0 40px;
}
.my-leagues-heading {
  text-align: center;
  margin-bottom: 32px;
}
.my-leagues-heading h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 6px;
}
.my-leagues-heading h2 span { color: var(--accent); }
.my-leagues-heading p {
  font-size: 0.82rem;
  color: var(--muted);
  margin: 0;
}
.my-leagues-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
}
.my-league-card {
  background: linear-gradient(145deg, #0f1f0f 0%, #111 100%);
  border: 1px solid rgba(0,200,83,0.18);
  border-radius: 16px;
  padding: 28px 24px 22px;
  cursor: pointer;
  transition: border-color 0.2s, transform 0.18s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.my-league-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at top, rgba(0,200,83,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.my-league-card:hover {
  border-color: var(--accent);
  transform: translateY(-3px);
  box-shadow: 0 10px 32px rgba(0,198,102,0.18);
}
.mlc-logo-wrap {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
}
.mlc-logo-wrap img { width: 100%; height: 100%; object-fit: contain; }
.mlc-sport-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 8px;
}
.mlc-league-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 6px;
  line-height: 1.1;
}
.mlc-team-name {
  font-size: 0.82rem;
  color: var(--muted);
  margin-bottom: 14px;
}
.mlc-team-name strong { color: #ddd; font-weight: 600; }
.mlc-divider {
  width: 40px;
  height: 1px;
  background: rgba(0,200,83,0.25);
  margin: 0 auto 14px;
}
.mlc-position {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  color: var(--accent);
  line-height: 1;
  margin-bottom: 4px;
  letter-spacing: 0.02em;
}
.mlc-position-sub {
  font-size: 0.72rem;
  color: var(--muted);
  letter-spacing: 0.04em;
}
.mlc-not-started {
  font-size: 0.72rem;
  color: var(--muted);
  font-style: italic;
  letter-spacing: 0.04em;
}
.ml-cj-bar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px 16px;
  margin-top: 8px;
  border-top: 1px solid var(--border);
}
.ml-cj-label {
  font-size: 0.85rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ml-cj-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: center;
}
.ml-cj-sport {
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  font-size: 0.9rem;
}
.ml-cj-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
.ml-cj-btn {
  padding: 10px 22px;
  font-size: 0.9rem;
  border-radius: 6px;
  cursor: pointer;
  border: none;
  font-weight: 600;
}
#my-leagues-empty {
  color: var(--muted);
  text-align: center;
  padding: 60px 20px;
  font-size: 1rem;
}
#nav-my-leagues { display: none; }
body.user-logged-in #nav-my-leagues { display: inline; }

  /* Hide sport nav tabs when on My Leagues */
  body.on-my-leagues #nav-baseball { display: none !important; }
  body.on-my-leagues #nav-nrl { display: none !important; }

  /* Players page sections */
  .players-section { margin-bottom: 36px; }
  .players-section-header { margin-bottom: 12px; }
  .players-section-sub { font-size: 0.82rem; color: var(--muted); margin-top: 2px; }
  .fa-grid-mini { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px,1fr)); gap: 10px; }
  .fa-grid-team-tag { font-size: 0.62rem; color: var(--accent); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; }
