:root{
    --bg:#141f1a;
    --baize:#1b3a2f;
    --baize-light:#213f33;
    --panel:#1e3229;
    --chalk:#f2efe9;
    --chalk-dim:#b9c4bc;
    --brass:#c9a24b;
    --brass-soft:#e0c184;
    --dart-red:#b8442e;
    --wire:#5f7267;
    --line:rgba(242,239,233,0.14);
  }
  *{box-sizing:border-box;}
  body{
    background:
      radial-gradient(ellipse at top right, rgba(201,162,75,0.07), transparent 45%),
      radial-gradient(ellipse at bottom left, rgba(184,68,46,0.06), transparent 45%),
      var(--bg);
    color:var(--chalk);
    font-family:'Inter',sans-serif;
    min-height:100vh;
  }
  .display{font-family:'Bebas Neue',sans-serif; letter-spacing:0.03em;}
  .mono{font-family:'IBM Plex Mono',monospace;}
  .dim{color:var(--chalk-dim);}
  .brass{color:var(--brass-soft);}

  .club-nav{
    background:linear-gradient(180deg, var(--baize) 0%, var(--baize-light) 100%);
    border-bottom:2px solid var(--brass);
    box-shadow:0 4px 20px rgba(0,0,0,0.35);
  }
  .club-nav .brand{
    font-family:'Bebas Neue',sans-serif;
    font-size:1.7rem;
    letter-spacing:0.06em;
    color:var(--chalk);
  }
  .club-nav .brand .dot{color:var(--dart-red);}
  #navLogoImg{max-height:100px; width:auto; display:block;}

  .logo-preview{
    width:100px; height:100px; border:1px dashed var(--wire); border-radius:4px;
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    background:var(--baize-light);
  }
  .logo-preview img{max-width:100%; max-height:100%;}
  .color-row{display:flex; align-items:center; gap:0.75rem;}
  .color-row input[type="color"]{
    width:48px; height:36px; padding:2px; border:1px solid var(--line); border-radius:4px; background:var(--baize-light);
  }
  .nav-pill{
    color:var(--chalk-dim)!important;
    font-weight:600;
    font-size:0.85rem;
    letter-spacing:0.05em;
    text-transform:uppercase;
    padding:0.5rem 0.9rem!important;
    border-radius:0;
    border-bottom:2px solid transparent;
    transition:all .15s;
  }
  .nav-pill:hover{color:var(--chalk)!important;}
  .nav-pill.active{color:var(--chalk)!important; border-bottom:2px solid var(--brass);}

  .scorehero{
    position:relative; overflow:hidden;
    border-bottom:1px solid var(--line);
    padding:3rem 0 2.2rem;
  }
  .wire-bg{ position:absolute; top:-40%; right:-8%; width:520px; height:520px; opacity:0.10; pointer-events:none; }
  .scorehero h1{
    font-family:'Bebas Neue',sans-serif; font-size:clamp(2.4rem, 6vw, 4.2rem);
    letter-spacing:0.04em; margin:0; color:var(--chalk); line-height:0.95;
  }
  .scorehero .eyebrow{ font-size:0.78rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--brass-soft); font-weight:600; margin-bottom:0.4rem; }
  .scorehero .sub{color:var(--chalk-dim); max-width:560px;}

  .panel{ background:var(--panel); border:1px solid var(--line); border-radius:4px; }
  .panel-head{ display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid var(--line); }
  .panel-head h2{ font-family:'Bebas Neue',sans-serif; letter-spacing:0.03em; font-size:1.35rem; margin:0; color:var(--chalk); }

  table.scoreboard{ width:100%; border-collapse:collapse; margin:0; }
  table.scoreboard thead th{
    font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--brass-soft); font-weight:600;
    border-bottom:2px solid var(--brass); padding:0.6rem 0.9rem; text-align:left; white-space:nowrap;
  }
  table.scoreboard tbody td{ padding:0.6rem 0.2rem; border-bottom:1px solid var(--line); color:var(--chalk); vertical-align:middle; }

  table.scoreboard1 tbody td{ padding:0.6rem 0.9rem; border-bottom:1px solid var(--line); color:var(--chalk); vertical-align:middle; }
  table.scoreboard tbody tr:hover{background:rgba(242,239,233,0.03);}
  table.scoreboard td.num, table.scoreboard th.num{font-family:'IBM Plex Mono',monospace; text-align:center;}
  .rank-1{color:var(--brass-soft); font-weight:700;}
  .total-pill{ font-family:'IBM Plex Mono',monospace; font-weight:600; background:rgba(201,162,75,0.15); border:1px solid rgba(201,162,75,0.4); padding:0.15rem 0.55rem; border-radius:2px; color:var(--brass-soft); }

  .btn-brass{ background:var(--brass); border:1px solid var(--brass); color:#1b1408; font-weight:600; letter-spacing:0.02em; }
  .btn-brass:hover{ background:var(--brass-soft); border-color:var(--brass-soft); color:#1b1408; }
  .btn-outline-chalk{ border:1px solid var(--wire); color:var(--chalk-dim); }
  .btn-outline-chalk:hover{ border-color:var(--brass); color:var(--chalk); background:transparent; }

  .form-control, .form-select{ background:var(--baize-light); border:1px solid var(--line); color:var(--chalk); }
  .form-control:focus, .form-select:focus{ background:var(--baize-light); border-color:var(--brass); color:var(--chalk); box-shadow:0 0 0 0.2rem rgba(201,162,75,0.18); }
  .form-label{font-size:0.8rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--chalk-dim);}
  ::placeholder{color:rgba(242,239,233,0.35)!important;}

  .modal-content{background:var(--panel); color:var(--chalk); border:1px solid var(--brass);}
  .modal-header{border-bottom:1px solid var(--line);}
  .modal-footer{border-top:1px solid var(--line);}
  .btn-close{filter:invert(1);}

  .badge-phase{ font-size:0.7rem; text-transform:uppercase; letter-spacing:0.05em; background:rgba(95,114,103,0.3); border:1px solid var(--wire); color:var(--chalk-dim); padding:0.25rem 0.5rem; border-radius:2px; }
  .badge-played{background:rgba(95,114,103,0.25); border:1px solid var(--wire); color:var(--chalk-dim);}
  .badge-open{background:rgba(201,162,75,0.15); border:1px solid var(--brass); color:var(--brass-soft);}

  .tab-pane-inner{padding:1.75rem 0;}
  .empty-state{ text-align:center; padding:3rem 1rem; color:var(--chalk-dim); }
  .empty-state i{ font-size:2rem; color:var(--wire); margin-bottom:0.75rem; display:block; }
  .footer-note{text-align:center; color:var(--chalk-dim); font-size:0.78rem; padding:2rem 0 1rem;}

  .player-link{color:var(--chalk); text-decoration:none; border-bottom:1px dotted var(--brass-soft);}
  .player-link:hover{color:var(--brass-soft);}
  .detail-header{display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:0.5rem; margin-bottom:1.5rem;}
  .detail-header h1{font-family:'Bebas Neue',sans-serif; font-size:2.6rem; letter-spacing:0.03em; margin:0;}
  .stat-card{ background:var(--panel); border:1px solid var(--line); border-radius:4px; padding:1rem 1.1rem; text-align:center; }
  .stat-card .val{font-family:'IBM Plex Mono',monospace; font-size:1.6rem; color:var(--brass-soft); font-weight:600;}
  .stat-card .lbl{font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--chalk-dim); margin-top:0.15rem;}
  .result-w{color:#7fbf8a; font-weight:600;}
  .result-l{color:var(--dart-red); font-weight:600;}
  .result-g{color:var(--brass-soft); font-weight:600;}
  .match-row-admin{cursor:pointer;}
  .match-row-admin:hover{background:rgba(201,162,75,0.08);}

  ::-webkit-scrollbar{width:10px; height:10px;}
  ::-webkit-scrollbar-track{background:var(--bg);}
  ::-webkit-scrollbar-thumb{background:var(--wire); border-radius:5px;}

  .loading-screen{ position:fixed; inset:0; background:var(--bg); z-index:2000; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1rem; }
  .toast-container{ z-index:3000; }
  .form-err{color:var(--dart-red); font-size:0.85rem; margin-top:0.4rem; display:none;}
