
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#138A63;--green-light:#E6F7F1;--green-dark:#0A5A42;
  --blue:#1B5FA8;--blue-light:#E8F1FC;--gold:#F5C96A;--silver:#D9D9D2;--bronze:#E7B7A1;
  --bg:#F3F7F4;--card:#FFFFFF;--text:#17312B;--muted:#63756F;--border:#DCE7E2;--danger:#D64545;
  --shadow:0 16px 36px rgba(14, 42, 34, 0.10);
}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:
    linear-gradient(rgba(0,0,0,0.35), rgba(0,0,0,0.35)),
    url('bg.jpg') no-repeat center center;
  background-size: cover;
  background-attachment: scroll;
}
.app{max-width:1460px;margin:0 auto}
.topbar{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.0)),
    linear-gradient(135deg,var(--green-dark),var(--green));
  color:#fff;padding:20px 22px;border-radius:24px;box-shadow:var(--shadow);margin-bottom:18px;flex-wrap:wrap;
  position:relative;overflow:hidden
}
.topbar:before{
  content:"";position:absolute;right:-40px;top:-36px;width:170px;height:170px;
  background:radial-gradient(circle, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 66%);
  border-radius:50%
}
.brand small{display:block;opacity:.82;letter-spacing:.10em;text-transform:uppercase;margin-bottom:5px}
.brand h1{font-size:26px;font-weight:800;letter-spacing:.01em}
.brand .tagline{font-size:13px;opacity:.9;margin-top:6px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{border:none;border-radius:14px;padding:10px 14px;font-size:14px;font-weight:700;cursor:pointer;transition:.18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-outline{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}
.btn-green{background:var(--green);color:#fff}
.btn-danger{background:var(--danger);color:#fff}
.tabbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.tab{background:var(--card);padding:11px 15px;border:1px solid var(--border);border-radius:14px;cursor:pointer;font-weight:700;color:var(--muted);box-shadow:0 6px 14px rgba(18,48,39,.04)}
.tab.active{background:var(--green-light);border-color:var(--green);color:var(--green-dark)}
.view{display:none}
.view.active{display:block}
.grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}
.card-header{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.card-title{font-size:18px;font-weight:800}
.card-body{padding:18px}
.avg-bold{font-weight:800;color:var(--green-dark);}
.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.stat{background:linear-gradient(180deg,#FFFFFF 0%, #F8FCFA 100%);border:1px solid var(--border);border-radius:18px;padding:16px;text-align:center;box-shadow:0 10px 24px rgba(18,48,39,.05)}
.stat .v{font-size:26px;font-weight:900;color:var(--green-dark)}
.stat .l{font-size:12px;color:var(--muted);margin-top:5px}

.leaderboard-stats-grid{
  grid-template-columns:1fr 1fr 1.35fr 1fr;
}
.seasons-card{
  margin-top:16px;
  overflow:hidden;
}

.seasons-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 10px;
}

.seasons-table thead th{
  background:transparent;
  border:none;
  padding:0 14px 6px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  position:static;
}

.seasons-table tbody tr{
  background:linear-gradient(180deg,#ffffff 0%,#f8fcfa 100%);
}

.seasons-table tbody td{
  padding:16px 14px;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  font-size:14px;
  color:var(--text);
}

.seasons-table tbody td:first-child{
  border-left:1px solid var(--border);
  border-radius:16px 0 0 16px;
}

.seasons-table tbody td:last-child{
  border-right:1px solid var(--border);
  border-radius:0 16px 16px 0;
}

.seasons-table tbody tr:hover td{
  background:var(--green-light);
}

.season-name{
  font-weight:900;
  color:var(--green-dark);
}

.season-period{
  font-weight:700;
  color:var(--text);
}

.season-winner{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 11px;
  border-radius:999px;
  background:var(--green-light);
  color:var(--green-dark);
  font-weight:900;
}

.season-current td{
  background:linear-gradient(135deg,#f4fff9,#e7f8f0 65%,#ffffff);
  border-color:rgba(19,138,99,.28) !important;
}

.current-season-badge{
  display:inline-block;
  margin-left:8px;
  padding:3px 7px;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

@media(max-width:700px){
  .seasons-table thead{
    display:none;
  }

  .seasons-table,
  .seasons-table tbody,
  .seasons-table tr,
  .seasons-table td{
    display:block;
    width:100%;
  }

  .seasons-table tbody tr{
    margin-bottom:12px;
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden;
  }

  .seasons-table tbody td{
    border:none;
    border-bottom:1px solid var(--border);
    border-radius:0 !important;
  }

  .seasons-table tbody td:last-child{
    border-bottom:none;
  }
}
.stat-featured{
  background:linear-gradient(135deg,#F4FFF9 0%, #E7F8F0 55%, #FFFFFF 100%);
  border:2px solid rgba(19,138,99,0.28);
  box-shadow:0 18px 34px rgba(19,138,99,0.14);
  padding:20px;
  transform:scale(1.02);
}
.stat-featured .v{
  font-size:32px;
  color:var(--green-dark);
}
.stat-featured .l{
  font-size:13px;
  font-weight:800;
  color:var(--green-dark);
}
.featured-kicker{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:var(--green);
  margin-bottom:8px;
}

.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:14px;white-space:nowrap}
th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#FAFCFB;position:sticky;top:0}
tr:hover td{background:#FAFCFB}
.rank-num{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}
.r1{background:var(--gold);color:#412402}.r2{background:var(--silver);color:#2C2C2A}.r3{background:var(--bronze);color:#4A1B0C}.rn{background:#EEF4F2;color:var(--muted)}
.player-cell{display:flex;align-items:center;gap:8px}
.av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;flex-shrink:0}
.badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800}
.badge-green{background:var(--green-light);color:var(--green-dark)}
.badge-gray{background:#F3F4F6;color:#4B5563}
.badge-blue{background:var(--blue-light);color:var(--blue)}
.form-circle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:12px;font-weight:800;margin-right:4px}
.form-win{background:rgba(19,138,99,0.16);color:var(--green-dark);border:1px solid rgba(19,138,99,0.18)}
.form-loss{background:rgba(214,69,69,0.14);color:var(--danger);border:1px solid rgba(214,69,69,0.16)}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.field{margin-bottom:14px}
label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}
input,select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);font-size:14px}
input:focus,select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(19,138,99,.12)}
.team-block{background:linear-gradient(180deg,#FCFEFD 0%,#F5FBF8 100%);border:1px solid var(--border);border-radius:18px;padding:14px;margin-bottom:14px}
.team-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:var(--muted);margin-bottom:10px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.type-toggle{display:flex;gap:10px;margin-bottom:14px}
.type-btn{flex:1;padding:10px;border-radius:14px;border:1px solid var(--border);background:#fff;cursor:pointer;font-weight:800;color:var(--muted)}
.type-btn.active{background:var(--green-light);border-color:var(--green);color:var(--green-dark)}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.filters input,.filters select{max-width:220px}
.note{font-size:12px;color:var(--muted);margin-top:6px}
.empty{padding:30px 16px;text-align:center;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;background:rgba(4,20,16,.42);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}
.modal{width:min(430px,100%);background:#fff;border-radius:22px;box-shadow:0 24px 44px rgba(0,0,0,.18);overflow:hidden}
.modal-header{padding:18px;border-bottom:1px solid var(--border)}
.modal-body{padding:18px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--green);color:#fff;padding:12px 16px;border-radius:14px;font-weight:800;box-shadow:var(--shadow);display:none;z-index:70}
.locked-box{padding:30px;text-align:center}
.locked-box h3{font-size:20px;margin-bottom:8px}
.locked-box p{color:var(--muted);margin-bottom:16px}
.section-sub{font-size:13px;color:var(--muted)}
.admin-banner{background:#FFF8E8;border:1px solid #F3D38B;color:#7A5B17;padding:10px 12px;border-radius:14px;margin-bottom:14px;font-size:13px}
.small{font-size:12px;color:var(--muted)}
.alert{padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:#fff;margin-bottom:14px}
.alert.warn{background:#FFF8E8;border-color:#F3D38B;color:#7A5B17}
.alert.good{background:#EAF7F1;border-color:#A6DFC7;color:#0D654F}
.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.players-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.delete-btn{background:none;border:none;color:var(--danger);font-weight:800;cursor:pointer}
.quick-note-list{display:grid;gap:10px}
.quick-note-item{padding:12px 14px;background:#F7FBF9;border:1px solid var(--border);border-radius:14px}
.shuttle-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--gold);margin-right:8px;vertical-align:middle}

body{position:relative;overflow-x:hidden}
body{position:relative;overflow-x:hidden;}
body::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 800'%3E%3Cg fill='none' stroke='%23085041' stroke-width='12'%3E%3Ccircle cx='170' cy='170' r='70'/%3E%3Cpath d='M220 220 L310 310'/%3E%3Cpath d='M320 320 L385 385'/%3E%3Cpath d='M600 160 l70 30 l-65 70 l-20-20 z' fill='%231D9E75' fill-opacity='.16'/%3E%3Cpath d='M620 230 l-80 100'/%3E%3Cpath d='M120 620 l70 30 l-65 70 l-20-20 z' fill='%231D9E75' fill-opacity='.16'/%3E%3Cpath d='M140 690 l-80 100'/%3E%3C/g%3E%3C/svg%3E");background-size:420px 420px;background-repeat:repeat;}
.topbar{position:relative;overflow:hidden}
.topbar::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 30%, rgba(255,255,255,.22), transparent 28%),radial-gradient(circle at 15% 120%, rgba(255,255,255,.18), transparent 24%);pointer-events:none}
.hero-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#f4fff9,#eef8f3 50%,#ffffff)}
.hero-card::after{content:'🏸';position:absolute;right:16px;bottom:8px;font-size:72px;opacity:.12;transform:rotate(-18deg)}
.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.hero-pill{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid rgba(8,80,65,.12);font-size:12px;font-weight:700;color:var(--green-dark)}
.hero-pill{cursor:pointer;transition:.18s ease;}
.hero-pill:hover{transform:translateY(-1px);background:var(--green-light);color:var(--green-dark);}
.section-stack{display:grid;gap:16px}
.stats-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.insight-card{border:1px solid var(--border);border-radius:16px;padding:14px;background:linear-gradient(180deg,#fff,#fbfdfc)}
.insight-card .k{font-size:12px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.insight-card .v{font-weight:800;color:var(--green-dark);font-size:16px}
.rivalry-vs{display:block;color:var(--muted);font-size:12px;margin-top:4px}
@media (max-width: 980px){.stats-panels,.insight-grid{grid-template-columns:1fr}}
@media (max-width: 980px){
  .leaderboard-stats-grid{
    grid-template-columns:1fr;
  }
  .stat-featured{
    transform:none;
  }
}
@media (max-width: 980px){.grid,.row-2,.stats-grid,.players-admin-grid{grid-template-columns:1fr}}
@media (max-width: 768px){
  body{
    background-attachment: scroll;
    background-position: center top;
  }

  body::before{
    display:none;
  }

  .topbar,
  .card,
  .stat{
    box-shadow:none;
  }

  .hero-card::after{
    font-size:48px;
    opacity:.08;
  }
}


/* ===== MODERN DARK COURT THEME OVERRIDES ===== */
:root{
  --green:#22E6BD;
  --green-light:rgba(34,230,189,.14);
  --green-dark:#72F2D5;
  --blue:#56B7E9;
  --blue-light:rgba(86,183,233,.14);
  --gold:#E7B98E;
  --silver:#C8D4D1;
  --bronze:#D99A75;
  --bg:#04191B;
  --card:rgba(7,33,35,.90);
  --text:#F4FBF9;
  --muted:#9BB9B4;
  --border:rgba(135,214,201,.17);
  --danger:#FF7474;
  --shadow:0 22px 52px rgba(0,0,0,.34);
  --glow:0 0 0 1px rgba(34,230,189,.09),0 18px 44px rgba(0,0,0,.30);
}

html{background:#031315}
body{
  min-height:100vh;
  padding:18px;
  color:var(--text);
  background:
    radial-gradient(circle at 13% 10%,rgba(34,230,189,.12),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(231,185,142,.08),transparent 24%),
    linear-gradient(rgba(2,16,18,.46),rgba(2,16,18,.68)),
    url('bg.jpg') no-repeat center center;
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
body::before{opacity:.035;filter:invert(1)}
.app{padding-bottom:28px}

.topbar{
  background:
    radial-gradient(circle at 82% 20%,rgba(34,230,189,.25),transparent 30%),
    radial-gradient(circle at 18% 120%,rgba(231,185,142,.13),transparent 25%),
    linear-gradient(135deg,#08272A,#0D5553 72%,#116B62);
  border:1px solid rgba(34,230,189,.22);
  box-shadow:0 24px 58px rgba(0,0,0,.38);
  padding:23px 25px;
}
.topbar:before{background:radial-gradient(circle,rgba(255,255,255,.17),rgba(255,255,255,0) 68%)}
.brand small{color:#8FF7DF;opacity:1}
.brand h1{color:#FFF}
.brand .tagline{color:#C6DED9}

.card{
  background:linear-gradient(180deg,rgba(13,58,60,.93),rgba(5,27,29,.95));
  border:1px solid var(--border);
  box-shadow:var(--glow);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.card-header{
  background:linear-gradient(90deg,rgba(34,230,189,.075),transparent 72%);
  border-bottom:1px solid var(--border);
}
.card-title{color:#F7FCFB;letter-spacing:.01em}
.card-body{color:var(--text)}
.section-sub,.small,.note{color:var(--muted)}

.tab{
  background:rgba(5,29,31,.90);
  border:1px solid var(--border);
  color:var(--muted);
  box-shadow:0 9px 22px rgba(0,0,0,.16);
  transition:.18s ease;
}
.tab:hover{color:#FFF;border-color:rgba(34,230,189,.42);transform:translateY(-1px)}
.tab.active{
  background:linear-gradient(135deg,#128779,#22E6BD);
  border-color:transparent;
  color:#03211D;
  box-shadow:0 12px 28px rgba(34,230,189,.23);
}

.btn-outline{background:rgba(255,255,255,.06);color:#FFF;border:1px solid rgba(255,255,255,.30)}
.btn-secondary{background:rgba(255,255,255,.055);color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{background:rgba(34,230,189,.10);border-color:rgba(34,230,189,.35)}
.btn-green{
  background:linear-gradient(135deg,#22E6BD,#74F4D8);
  color:#03211D;
  box-shadow:0 9px 24px rgba(34,230,189,.22);
}
.btn-danger{background:linear-gradient(135deg,#D94E5A,#FF7474)}

.stat{
  background:linear-gradient(180deg,rgba(14,66,68,.78),rgba(5,31,33,.90));
  border:1px solid var(--border);
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}
.stat .v{color:#67EBCF;text-shadow:0 0 20px rgba(34,230,189,.10)}
.stat .l{color:var(--muted)}
.stat-featured{
  background:
    radial-gradient(circle at 85% 20%,rgba(231,185,142,.12),transparent 35%),
    linear-gradient(135deg,rgba(18,104,95,.92),rgba(7,51,53,.96));
  border:1px solid rgba(34,230,189,.40);
  box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 24px rgba(34,230,189,.08);
}
.stat-featured .v,.stat-featured .l{color:#8AF7DF}

.hero-card{
  background:
    radial-gradient(circle at 82% 22%,rgba(231,185,142,.10),transparent 34%),
    linear-gradient(135deg,rgba(16,79,79,.93),rgba(5,32,34,.95));
}
.hero-card .card-body>div:first-child{color:#76EFD4!important}
.hero-pill{
  background:rgba(255,255,255,.055);
  border:1px solid var(--border);
  color:#BFE3DC;
}
.hero-pill:hover{background:rgba(34,230,189,.13);color:#7FF3D8;border-color:rgba(34,230,189,.34)}

.quick-note-item,.team-block{
  background:linear-gradient(180deg,rgba(13,58,60,.62),rgba(5,29,31,.70));
  border-color:var(--border);
  color:#DDEBE8;
}
.shuttle-dot{background:var(--gold);box-shadow:0 0 12px rgba(231,185,142,.35)}

input,select{
  background:rgba(2,20,22,.80);
  color:var(--text);
  border:1px solid var(--border);
  color-scheme:dark;
}
input::placeholder{color:#708E89}
input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(34,230,189,.13)}
option{background:#082426;color:#F4FBF9}
.type-btn{background:rgba(4,25,27,.86);border-color:var(--border);color:var(--muted)}
.type-btn.active{background:rgba(34,230,189,.15);border-color:rgba(34,230,189,.48);color:#79F2D7}

th{
  background:rgba(3,24,26,.97);
  color:#8FB5AE;
  border-bottom-color:var(--border);
}
td{color:#E9F3F1;border-bottom-color:var(--border)}
tr:hover td{background:rgba(34,230,189,.055)}
.avg-bold{color:#77F0D5}
.rn{background:rgba(255,255,255,.08);color:#A8C0BC}

.badge-green{background:rgba(34,230,189,.15);color:#76F0D4;border:1px solid rgba(34,230,189,.18)}
.badge-gray{background:rgba(255,255,255,.07);color:#B9CBC8;border:1px solid rgba(255,255,255,.07)}
.badge-blue{background:rgba(86,183,233,.15);color:#83D1F6;border:1px solid rgba(86,183,233,.18)}
.form-win{background:rgba(34,230,189,.15);color:#79F2D7;border-color:rgba(34,230,189,.22)}
.form-loss{background:rgba(255,116,116,.14);color:#FF9696;border-color:rgba(255,116,116,.19)}

.insight-card{
  background:linear-gradient(180deg,rgba(15,68,70,.68),rgba(5,29,31,.80));
  border:1px solid var(--border);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.insight-card .k{color:#94B5AF}
.insight-card .v{color:#6DEDD1}
.biggest-defeat-card{grid-column:1 / -1}
.biggest-defeat-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:10px}
.biggest-defeat-side{padding:4px 16px 4px 0;min-width:0}
.biggest-defeat-side + .biggest-defeat-side{padding:4px 0 4px 16px;border-left:1px solid var(--border)}
.biggest-defeat-type{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.biggest-defeat-team{font-size:17px;font-weight:900;color:#6DEDD1;overflow-wrap:anywhere}
.biggest-defeat-vs{font-size:12px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}
.biggest-defeat-score{font-size:13px;color:var(--text);margin-top:7px}
.biggest-defeat-margin{font-size:13px;font-weight:900;color:var(--danger);margin-top:3px}
.biggest-defeat-date{font-size:11px;color:var(--muted);margin-top:4px}
@media(max-width:700px){
  .biggest-defeat-grid{grid-template-columns:1fr}
  .biggest-defeat-side{padding:4px 0 14px}
  .biggest-defeat-side + .biggest-defeat-side{padding:14px 0 4px;border-left:none;border-top:1px solid var(--border)}
}
.rivalry-vs{color:var(--muted)}

.seasons-table tbody tr{background:linear-gradient(180deg,rgba(14,62,64,.72),rgba(5,30,32,.82))}
.seasons-table tbody td{color:var(--text);border-color:var(--border)}
.seasons-table tbody tr:hover td{background:rgba(34,230,189,.075)}
.season-name{color:#76EED3}
.season-period{color:#DCEAE7}
.season-winner{
  background:linear-gradient(135deg,rgba(34,230,189,.18),rgba(34,230,189,.075));
  border:1px solid rgba(34,230,189,.23);
  color:#76F0D4;
}
.season-current td{
  background:linear-gradient(90deg,rgba(34,230,189,.13),rgba(231,185,142,.045));
  border-color:rgba(34,230,189,.31)!important;
}
.current-season-badge{background:linear-gradient(135deg,#138B7C,#22E6BD);color:#04201D}

.modal{background:linear-gradient(180deg,#0D3A3C,#061F21);border:1px solid var(--border);color:var(--text)}
.modal-header{border-bottom-color:var(--border)}
.modal-backdrop{background:rgba(0,8,9,.72);backdrop-filter:blur(7px)}
.alert{background:rgba(8,38,40,.94);border-color:var(--border);color:var(--text)}
.alert.warn{background:rgba(94,65,20,.80);border-color:rgba(231,185,142,.38);color:#FFE0B9}
.alert.good{background:rgba(7,73,62,.82);border-color:rgba(34,230,189,.30);color:#A2F5E2}
.admin-banner{background:rgba(94,65,20,.66);border-color:rgba(231,185,142,.34);color:#FFE0B9}
.locked-box p{color:var(--muted)}
.delete-btn{color:#FF8A8A}
.toast{background:linear-gradient(135deg,#138B7C,#22E6BD);color:#03211D}

@media(max-width:768px){
  body{padding:10px;background-attachment:scroll}
  .topbar{padding:18px;border-radius:19px}
  .card{border-radius:18px}
  .tabbar{gap:7px}
  .tab{padding:9px 11px;font-size:13px}
}


/* ===== PHONE-FRIENDLY LEADERBOARD ===== */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
.app,.view,.grid,.section-stack,.card,.table-wrap{
  min-width:0;
  max-width:100%;
}

@media(max-width:768px){
  body{
    padding:6px;
    width:100%;
    overflow-x:hidden;
    background-attachment:scroll;
    background-position:center top;
  }

  .app{
    width:100%;
    max-width:100%;
    margin:0;
  }

  .topbar{
    width:100%;
    padding:16px;
    border-radius:18px;
  }

  .brand h1{font-size:22px}
  .brand .tagline{font-size:11px}

  .tabbar{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    width:100%;
  }

  .tab{
    width:100%;
    min-width:0;
    padding:8px 2px;
    border-radius:9px;
    font-size:9px;
    line-height:1.15;
    text-align:center;
    white-space:nowrap;
  }

  .leaderboard-stats-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    width:100%;
  }

  .stat,.stat-featured{
    width:100%;
    min-width:0;
    padding:13px 6px;
    border-radius:15px;
    transform:none;
  }

  .stat .v,.stat-featured .v{
    font-size:22px;
    overflow-wrap:anywhere;
  }

  .stat .l,.stat-featured .l{
    font-size:9px;
    line-height:1.25;
  }

  .grid,.row-2,.stats-panels,.players-admin-grid{
    grid-template-columns:minmax(0,1fr);
    width:100%;
  }

  .card{
    width:100%;
    max-width:100%;
    border-radius:17px;
  }

  .card-header{padding:13px}
  .card-body{padding:10px}
  .card-title{font-size:16px}
  .section-sub,.small{font-size:10px;line-height:1.35}

  .filters{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
  }

  .filters input,.filters select,.filters .btn{
    width:100%;
    max-width:none;
    min-width:0;
    font-size:10px;
    padding:9px 7px;
  }

  /* Other wide tables may scroll inside their own cards, never the full page. */
  #stats-view .table-wrap,#admin-view .table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* ===== PHONE-FRIENDLY ALL MATCHES ===== */
.winner-side-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(34,230,189,.16);
  border:1px solid rgba(34,230,189,.30);
  color:#77F0D5;
  font-weight:900;
  font-size:11px;
}

@media(max-width:768px){
  #matches-view{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  #matches-view .table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    padding:0;
  }

  #matches-view table{
    width:100%;
    min-width:0;
    table-layout:fixed;
  }

  #matches-view th,
  #matches-view td{
    padding:8px 2px;
    font-size:8px;
    line-height:1.2;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    text-align:center;
  }

  #matches-view th:nth-child(1),
  #matches-view td:nth-child(1){width:16%}

  #matches-view th:nth-child(2),
  #matches-view td:nth-child(2){width:10%}

  #matches-view th:nth-child(3),
  #matches-view td:nth-child(3){width:25%;text-align:left}

  #matches-view th:nth-child(4),
  #matches-view td:nth-child(4){width:25%;text-align:left}

  #matches-view th:nth-child(5),
  #matches-view td:nth-child(5){width:7%}

  #matches-view th:nth-child(6),
  #matches-view td:nth-child(6){width:10%}

  #matches-view th:nth-child(7),
  #matches-view td:nth-child(7){width:7%}

  #matches-view .winner-side-badge{
    width:19px;
    height:19px;
    font-size:8px;
  }

  #matches-view .delete-btn{
    font-size:7px;
    padding:0;
  }

  #matches-view .filters{
    grid-template-columns:1fr 1fr;
  }

  #matches-view #match-search{
    grid-column:1 / -1;
  }
}
/* ===== END PHONE-FRIENDLY ALL MATCHES ===== */

/* ===== END PHONE-FRIENDLY LEADERBOARD ===== */

/* ===== END MODERN DARK COURT THEME ===== */

