/* JDI v6.9.0 Premium Design Foundation
   Central visual system. Business logic and database are untouched. */
:root{
  --jdi-navy-950:#020713;
  --jdi-navy-900:#071124;
  --jdi-navy-850:#0b1830;
  --jdi-navy-800:#10213d;
  --jdi-blue-500:#2387ff;
  --jdi-blue-400:#55a5ff;
  --jdi-cyan:#63d4ff;
  --jdi-gold-500:#d9aa38;
  --jdi-gold-400:#f0c45d;
  --jdi-silver:#dce7f4;
  --jdi-white:#f8fbff;
  --jdi-text:#edf5ff;
  --jdi-muted:#9eb0c5;
  --jdi-success:#22c76a;
  --jdi-danger:#ef5666;
  --jdi-warning:#f1b848;
  --jdi-line:rgba(111,174,255,.20);
  --jdi-line-gold:rgba(240,196,93,.30);
  --jdi-panel:linear-gradient(145deg,rgba(16,34,64,.94),rgba(5,15,32,.96));
  --jdi-panel-soft:linear-gradient(145deg,rgba(18,39,72,.78),rgba(7,18,37,.88));
  --jdi-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.035);
  --jdi-shadow-blue:0 0 0 1px rgba(65,145,255,.15),0 18px 50px rgba(0,38,99,.24);
  --jdi-radius-sm:10px;
  --jdi-radius:16px;
  --jdi-radius-lg:22px;
  --jdi-space-1:6px;
  --jdi-space-2:10px;
  --jdi-space-3:14px;
  --jdi-space-4:18px;
  --jdi-space-5:24px;
  --jdi-space-6:32px;
  --jdi-space-7:44px;
}

*{scrollbar-color:rgba(89,151,230,.65) rgba(4,12,25,.75)}
html{background:var(--jdi-navy-950)}
body{
  color:var(--jdi-text);
  background:
    radial-gradient(circle at 18% 0%,rgba(25,104,220,.20),transparent 34%),
    radial-gradient(circle at 86% 22%,rgba(217,170,56,.08),transparent 26%),
    linear-gradient(180deg,var(--jdi-navy-950),#050c1a 58%,#071225);
  min-height:100vh;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.34;
  background-image:linear-gradient(rgba(64,133,230,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(64,133,230,.035) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,black,transparent 86%);
}
main{width:min(1880px,100%);margin:0 auto;padding:30px clamp(16px,2vw,36px) 70px}

/* Header / navigation */
.site-header{
  min-height:86px;padding:10px clamp(14px,1.6vw,28px);gap:18px;flex-wrap:nowrap;
  background:rgba(2,7,19,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--jdi-line-gold);
  box-shadow:0 12px 36px rgba(0,0,0,.36);z-index:50;
}
.brand-link{width:66px;height:66px;filter:drop-shadow(0 0 15px rgba(54,145,255,.24))}
.jdi-header-logo{width:66px;height:66px;border:2px solid rgba(248,251,255,.92);box-shadow:0 0 0 4px rgba(44,128,238,.12),0 0 24px rgba(47,139,255,.22)}
.main-nav{flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{
  min-height:44px;padding:10px 14px;border-radius:11px;border:1px solid rgba(150,190,245,.32);
  color:var(--jdi-white);background:linear-gradient(180deg,rgba(21,39,67,.70),rgba(7,17,34,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);font-size:15px;letter-spacing:.01em;flex:0 0 auto;
}
.main-nav a:hover{color:#fff;border-color:rgba(94,170,255,.75);background:linear-gradient(180deg,rgba(29,67,117,.86),rgba(8,26,54,.92));box-shadow:0 0 22px rgba(39,126,246,.18);transform:translateY(-1px)}
.main-nav .support-top{background:linear-gradient(135deg,#176cff,#2397ff);border:1px solid rgba(112,188,255,.7);box-shadow:0 10px 25px rgba(12,101,235,.26);padding-inline:20px}
.main-nav .social{width:44px;height:44px;min-width:44px;flex-basis:44px;border:1px solid rgba(255,255,255,.18)}
.nav-icon{width:18px;height:18px;color:var(--jdi-gold-400);stroke-width:1.9}

/* Typography */
h1,h2,h3{color:var(--jdi-white);letter-spacing:-.025em}
h1{font-size:clamp(32px,3vw,48px);font-weight:900}
h2{font-size:clamp(23px,2vw,31px);font-weight:850}
h3{font-weight:800}
p,.muted{color:var(--jdi-muted)}
a,a:visited{color:#73b4ff;text-decoration-color:rgba(115,180,255,.46)}
a:hover{color:#fff;text-decoration-color:var(--jdi-gold-400)}

/* Core component library */
.card,.event-section,.home-rank-card,.home-active,.player-stat-section,.registration-event-group,.registration-event{
  color:var(--jdi-text);background:var(--jdi-panel);border:1px solid var(--jdi-line);border-radius:var(--jdi-radius-lg);box-shadow:var(--jdi-shadow);
}
.card{padding:clamp(18px,2vw,30px)}
.card:hover,.event-section:hover{border-color:rgba(73,151,255,.34)}

button,.btn,input,select,textarea{font-family:inherit}
button,.btn{
  border-radius:11px;background:linear-gradient(135deg,#152c50,#0a1830);border:1px solid rgba(111,174,255,.38);
  color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 20px rgba(0,0,0,.18);transition:.18s ease;
}
button:hover,.btn:hover{transform:translateY(-1px);border-color:var(--jdi-blue-400);background:linear-gradient(135deg,#1c4c8d,#0b2752)}
input,select,textarea{background:#071326;color:var(--jdi-text);border:1px solid rgba(116,164,225,.30);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--jdi-blue-400);box-shadow:0 0 0 3px rgba(35,135,255,.15)}
option{background:#071326;color:#fff}

/* Tables */
.table-scroll{border-radius:14px;overflow:visible}
table{color:var(--jdi-text);background:rgba(5,15,31,.74);border:1px solid var(--jdi-line);border-collapse:separate;border-spacing:0;border-radius:14px;overflow:hidden}
th{background:linear-gradient(180deg,#132946,#0a192d);color:var(--jdi-white);border-bottom:1px solid var(--jdi-line-gold);font-size:14px;text-transform:uppercase;letter-spacing:.055em}
td{color:var(--jdi-text);background:rgba(8,19,38,.78);border-bottom:1px solid rgba(103,155,222,.14)}
tr:last-child td{border-bottom:0}
tbody tr:hover td{background:rgba(20,50,90,.68)}

/* Badges */
.badge,.status-badge,.event-count-badge,.status-pill{border:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.status-planned{background:rgba(55,113,215,.18);color:#9fc7ff;border-color:rgba(87,148,255,.32)}
.status-open{background:rgba(34,199,106,.14);color:#7ce9aa;border-color:rgba(34,199,106,.28)}
.status-completed{background:rgba(175,192,214,.12);color:#d6e1ee;border-color:rgba(175,192,214,.21)}
.status-cancelled{background:rgba(239,86,102,.14);color:#ff9da8;border-color:rgba(239,86,102,.28)}
.event-count-badge{background:rgba(217,170,56,.14);color:var(--jdi-gold-400);border-color:rgba(217,170,56,.28)}

/* Events */
.event-section{padding:20px 22px 8px;position:relative;overflow:hidden}
.event-section:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--jdi-blue-400),transparent)}
.event-section-grand_slam:before{background:linear-gradient(var(--jdi-gold-400),transparent)}
.event-section h2{font-size:25px;text-transform:uppercase;letter-spacing:.035em}
.section-svg-icon,.event-svg-icon{color:var(--jdi-gold-400);filter:drop-shadow(0 0 8px rgba(217,170,56,.22))}
.event-section-main .section-svg-icon{color:#75b7ff}
.event-section-daily .section-svg-icon{color:#68d7ff}

/* Home */
.home-hero{background:linear-gradient(135deg,rgba(15,37,72,.97),rgba(4,13,29,.98));border-color:rgba(78,156,255,.27);position:relative;overflow:hidden}
.home-hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-250px;top:-300px;background:radial-gradient(circle,rgba(35,135,255,.22),transparent 68%);pointer-events:none}
.home-player-count{color:#fff!important;background:linear-gradient(135deg,rgba(217,170,56,.18),rgba(35,135,255,.16));border:1px solid var(--jdi-line-gold);box-shadow:0 12px 30px rgba(0,0,0,.24)}
.home-rank-card,.home-active{background:var(--jdi-panel-soft)}
.rank-mini-row,.active-player{background:linear-gradient(145deg,rgba(18,39,72,.92),rgba(6,18,38,.95));border:1px solid rgba(111,174,255,.18);color:var(--jdi-text)}
.rank-mini-row:hover,.active-player:hover{border-color:rgba(111,174,255,.48);box-shadow:0 12px 30px rgba(0,35,88,.28);transform:translateY(-2px)}
.active-player span,.rank-mini-info small{color:var(--jdi-muted)}

/* Player profile */
.player-profile-v2{background:linear-gradient(145deg,rgba(13,31,60,.98),rgba(4,13,29,.98));border:1px solid rgba(89,161,255,.26)}
.player-identity .photo{border:1px solid rgba(111,174,255,.34);box-shadow:0 18px 44px rgba(0,0,0,.42),0 0 30px rgba(35,135,255,.10)}
.player-meta{border-color:var(--jdi-line);background:rgba(4,14,29,.68)}
.player-meta>div{border-color:rgba(111,174,255,.13)}
.player-meta span{color:var(--jdi-muted)}
.player-meta strong{color:var(--jdi-white)}
.player-stat-section{padding:20px;background:linear-gradient(145deg,rgba(13,29,55,.86),rgba(5,15,31,.92))}
.player-stat-section h2{color:var(--jdi-gold-400);text-transform:uppercase;letter-spacing:.05em;font-size:16px}
.player-stat{background:linear-gradient(145deg,#102541,#071426);border:1px solid rgba(97,162,244,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);min-height:116px}
.player-stat:hover{border-color:rgba(92,170,255,.52);transform:translateY(-2px);box-shadow:0 15px 32px rgba(0,30,80,.28)}
.player-stat.featured{border-color:rgba(240,196,93,.56);background:linear-gradient(145deg,rgba(85,61,12,.46),rgba(13,25,44,.97))}
.player-stat .stat-icon{color:var(--jdi-blue-400);opacity:1}
.player-stat.featured .stat-icon{color:var(--jdi-gold-400)}
.stat-svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.player-stat small{color:var(--jdi-muted)}
.player-stat strong{color:var(--jdi-white)}
.nine-dart-achievement{background:linear-gradient(145deg,rgba(13,29,55,.88),rgba(5,15,31,.96));border-color:rgba(240,196,93,.30);box-shadow:var(--jdi-shadow)}
.nine-dart-achievement small{color:var(--jdi-muted)}
.nine-dart-achievement strong{color:var(--jdi-white)}
.nine-dart-symbol{background:linear-gradient(145deg,#1a3150,#071325);color:var(--jdi-gold-400);border:1px solid rgba(240,196,93,.35)}
.nine-dart-svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nine-dart-achievement.achieved{background:linear-gradient(135deg,rgba(105,75,12,.92),rgba(25,20,12,.96));border-color:var(--jdi-gold-400)}

/* Hall of fame and players */
.hofcard,.leader,.active-player{background:var(--jdi-panel-soft);border:1px solid var(--jdi-line);box-shadow:var(--jdi-shadow)}
.hofphoto{background:#071326;border:1px solid rgba(111,174,255,.24)}
.players-stats .kpi,.kpi,.mini-kpi{background:linear-gradient(145deg,#112642,#071426);border:1px solid rgba(111,174,255,.19);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.kpi span,.mini-kpi span{color:var(--jdi-muted)}
.kpi strong,.mini-kpi strong{color:var(--jdi-white)}

/* Rules and details */
details{background:rgba(8,21,41,.76);border:1px solid var(--jdi-line);color:var(--jdi-text)}
.rule-section{background:var(--jdi-panel);border:1px solid var(--jdi-line)}
.rule-section summary{background:linear-gradient(180deg,#132946,#08182c);color:var(--jdi-white);border-bottom:1px solid var(--jdi-line-gold)}

/* WhatsApp remains the only strong green element */
.whatsapp{box-shadow:0 12px 30px rgba(0,0,0,.40),0 0 0 4px rgba(37,211,102,.10)}

/* Desktop tables should not scroll; mobile may scroll safely */
@media(min-width:901px){
  .table-scroll{overflow:visible}
  .table-scroll table{min-width:0!important;width:100%}
  .recap-grid .table-scroll{overflow:visible}
}
@media(max-width:1420px){
  .main-nav a{padding-inline:11px;font-size:14px}
  .main-nav{gap:6px}
  .brand-link,.jdi-header-logo{width:60px;height:60px}
}
@media(max-width:1050px){
  .site-header{align-items:center}
  .main-nav{overflow-x:auto;overscroll-behavior-inline:contain}
  main{padding-top:24px}
}
@media(max-width:900px){
  .table-scroll{overflow-x:auto;border:1px solid var(--jdi-line)}
  .table-scroll table{min-width:760px;margin:0}
  .recap-grid .table-scroll table{min-width:520px}
  .event-section{padding-inline:14px}
}
@media(max-width:760px){
  .site-header{min-height:74px;padding:8px 12px;gap:10px}
  .brand-link,.jdi-header-logo{width:54px;height:54px}
  .main-nav a{min-height:40px;padding:8px 11px;font-size:13px}
  .main-nav .social{width:40px;height:40px;min-width:40px}
  main{padding-inline:12px}
  .card{border-radius:17px}
  h1{font-size:32px}
}

/* v6.9.1 Players Analytics — approved JDI component system */
.players-page{display:flex;flex-direction:column;gap:28px}
.players-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}
.players-heading h1{margin:4px 0 8px}
.players-heading p{margin:0;max-width:760px;color:#c6d1df;font-size:17px;line-height:1.65}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--jdi-gold-400);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.eyebrow:before{content:"";width:28px;height:1px;background:var(--jdi-gold-400)}
.players-kpi-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:18px}
.players-kpi{min-height:132px;padding:24px 26px;border-radius:var(--jdi-radius);border:1px solid rgba(112,171,238,.23);background:linear-gradient(145deg,#111d2e,#091322);box-shadow:0 15px 34px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);display:flex;align-items:center;gap:18px;position:relative;overflow:hidden}
.players-kpi:after{content:"";position:absolute;width:120px;height:120px;right:-45px;top:-55px;border-radius:50%;background:radial-gradient(circle,rgba(36,130,245,.14),transparent 70%)}
.players-kpi small{display:block;color:#aab8c9;font-size:14px;margin-bottom:8px}
.players-kpi strong{display:block;color:#fff;font-size:38px;line-height:1}
.kpi-icon{width:52px;height:52px;border-radius:14px;border:1px solid rgba(240,196,93,.28);background:#0a1525;display:grid;place-items:center;color:var(--jdi-gold-400);flex:0 0 auto}
.kpi-svg{width:26px;height:26px}
.countries-kpi{justify-content:space-between;align-items:center}
.countries-copy{min-width:88px}
.country-flags{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;position:relative;z-index:1}
.country-flag-wrap{display:inline-flex;align-items:center;gap:8px;color:#dce6f2;white-space:nowrap}
.country-flag{width:44px;height:29px;object-fit:cover;border-radius:7px;border:1px solid rgba(255,255,255,.24);box-shadow:0 7px 16px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.06)}
.country-flag-fallback{display:inline-grid;place-items:center;width:44px;height:29px;border-radius:7px;border:1px solid rgba(255,255,255,.2);background:#14233a;color:#fff;font-size:11px;font-weight:900}
.alltime-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.alltime-card{border-radius:var(--jdi-radius-lg);border:1px solid rgba(111,174,255,.20);background:linear-gradient(145deg,#111d2e,#08121f);box-shadow:0 18px 38px rgba(0,0,0,.26);overflow:hidden}
.alltime-card>header{min-height:88px;padding:19px 20px;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:13px;align-items:center;border-bottom:1px solid rgba(111,174,255,.15);background:linear-gradient(180deg,rgba(27,51,84,.55),rgba(10,22,40,.2))}
.alltime-card>header h2{font-size:20px;margin:0;letter-spacing:-.015em}
.alltime-card>header small{grid-column:2;color:var(--jdi-gold-400);font-size:10px;font-weight:900;letter-spacing:.15em}
.alltime-icon{grid-row:1/3;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--jdi-gold-400);background:#081322;border:1px solid rgba(240,196,93,.25)}
.alltime-svg{width:24px;height:24px}
.alltime-list{padding:10px}
.alltime-row{display:grid;grid-template-columns:42px 48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border-radius:12px;color:#fff!important;text-decoration:none;border:1px solid transparent;transition:.16s ease}
.alltime-row+.alltime-row{border-top-color:rgba(255,255,255,.055);border-radius:0}
.alltime-row:hover{background:rgba(43,91,151,.20);border-color:rgba(88,157,246,.25);transform:translateX(2px)}
.alltime-medal{display:grid;place-items:center}
.jdi-medal{width:34px;height:34px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.28))}
.alltime-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;border:2px solid rgba(240,246,255,.88);background:#07101d;box-shadow:0 6px 14px rgba(0,0,0,.3)}
.alltime-avatar img{width:100%;height:100%;object-fit:cover}
.alltime-player{min-width:0}
.alltime-player strong{display:block;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}
.alltime-player small{display:block;color:#8fa2b9;font-size:12px;margin-top:3px}
.alltime-row>b{font-size:25px;color:var(--jdi-gold-400);font-variant-numeric:tabular-nums}
.alltime-empty{padding:22px;color:#92a2b6}
.records-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.record-card{min-height:170px;padding:26px;border-radius:var(--jdi-radius-lg);border:1px solid rgba(240,196,93,.24);background:linear-gradient(135deg,rgba(56,42,13,.34),#0c1726 43%,#07111e);box-shadow:0 18px 38px rgba(0,0,0,.24);display:flex;align-items:center;gap:20px;position:relative;overflow:hidden}
.record-card:after{content:"";position:absolute;width:220px;height:220px;right:-100px;top:-125px;border-radius:50%;background:radial-gradient(circle,rgba(240,196,93,.14),transparent 68%)}
.record-icon{width:68px;height:68px;border-radius:18px;display:grid;place-items:center;color:var(--jdi-gold-400);border:1px solid rgba(240,196,93,.30);background:#0a1524;flex:0 0 auto}
.record-svg{width:34px;height:34px}
.record-card small{color:var(--jdi-gold-400);font-size:10px;font-weight:900;letter-spacing:.14em}
.record-card h2{margin:4px 0 2px;font-size:18px}
.record-card strong{display:block;color:#fff;font-size:42px;line-height:1.05}
.record-card p{margin:7px 0 0;color:#cbd6e3;position:relative;z-index:1}
.record-card p a{color:#dfeeff;text-decoration:none;border-bottom:1px solid rgba(114,180,255,.38)}
.players-directory{border-radius:var(--jdi-radius-lg);border:1px solid rgba(111,174,255,.18);background:linear-gradient(145deg,#0d192a,#07111e);padding:22px;box-shadow:0 18px 38px rgba(0,0,0,.24)}
.directory-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 18px}
.directory-title h2{margin:4px 0 0}
.directory-count{padding:8px 13px;border-radius:999px;color:#dce8f7;background:#0b1727;border:1px solid rgba(111,174,255,.22);font-size:13px;font-weight:800}
.directory-player{display:inline-flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;font-weight:800}
.directory-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.78);background:#07111e}
.players-directory table{margin:0}
.players-directory td{vertical-align:middle}
.players-directory .country-flag{width:32px;height:21px;border-radius:5px}
.players-directory .country-flag-wrap span{font-size:13px;color:#cbd7e5}

@media(max-width:1150px){
  .players-kpi-grid{grid-template-columns:1fr 1fr}.countries-kpi{grid-column:1/-1}
  .alltime-grid{grid-template-columns:1fr}.alltime-card{max-width:none}
}
@media(max-width:760px){
  .players-page{gap:20px}.players-heading p{font-size:15px}
  .players-kpi-grid,.records-grid{grid-template-columns:1fr}.countries-kpi{grid-column:auto;align-items:flex-start;flex-direction:column}
  .country-flags{justify-content:flex-start}.country-flag{width:38px;height:25px}
  .alltime-row{grid-template-columns:38px 44px minmax(0,1fr) auto;padding:10px 6px}.jdi-medal{width:31px;height:31px}
  .record-card{min-height:145px;padding:20px}.record-icon{width:56px;height:56px}.record-card strong{font-size:34px}
  .players-directory{padding:16px}.directory-title{align-items:flex-start;flex-direction:column}.directory-count{align-self:flex-start}
}


/* v6.9.1c Players compact hierarchy */
.players-page-compact{gap:24px}
.players-page-compact .players-heading{margin-bottom:2px}
.players-page-compact .players-heading h1{margin:0 0 8px}
.alltime-grid-featured{gap:22px}
.alltime-grid-featured .alltime-card{
  border-color:rgba(125,184,255,.34);
  background:linear-gradient(145deg,#14243a 0%,#0b1728 58%,#07111e 100%);
  box-shadow:0 20px 44px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.055);
}
.alltime-grid-featured .alltime-card>header{
  background:linear-gradient(180deg,rgba(37,73,119,.60),rgba(12,28,49,.30));
  border-bottom-color:rgba(125,184,255,.24);
}
.alltime-grid-featured .alltime-card:hover{
  border-color:rgba(240,196,93,.44);
  box-shadow:0 24px 50px rgba(0,0,0,.36),0 0 0 1px rgba(240,196,93,.08);
  transform:translateY(-2px);
}
.players-directory{padding-top:24px}
.players-directory .directory-title{margin-bottom:14px}
.players-directory .directory-title h2{margin:0}
.directory-column-stats{
  display:grid;
  grid-template-columns:6% 35% 22% 27% 10%;
  align-items:center;
  gap:0;
  margin:0 0 10px;
  padding:0 14px;
}
.directory-stat{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:34px;
  padding:7px 13px;
  border-radius:999px;
  color:#e8f2ff;
  background:#0b1727;
  border:1px solid rgba(111,174,255,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  font-size:13px;
  font-weight:900;
  letter-spacing:.01em;
  white-space:nowrap;
}
.directory-stat-player{grid-column:2;justify-self:start}
.directory-stat-city{grid-column:3;justify-self:start}
.directory-stat-country{grid-column:4;justify-self:start}
@media(max-width:900px){
  .directory-column-stats{grid-template-columns:1fr 1fr 1fr;padding:0;gap:8px}
  .directory-stat-player,.directory-stat-city,.directory-stat-country{grid-column:auto;justify-self:stretch;width:auto}
}
@media(max-width:560px){
  .directory-column-stats{grid-template-columns:1fr}
  .directory-stat{justify-content:flex-start}
}


/* v6.9.2 Events polish + external tournament link */
.event-section{
  border-width:1px;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.event-section:before{display:none}
.event-section-grand_slam{
  border-color:rgba(244,197,66,.58);
  box-shadow:0 0 0 1px rgba(244,197,66,.10),0 0 22px rgba(244,197,66,.15),0 18px 42px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.045);
}
.event-section-main{
  border-color:rgba(58,145,255,.62);
  box-shadow:0 0 0 1px rgba(58,145,255,.10),0 0 22px rgba(35,135,255,.16),0 18px 42px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.045);
}
.event-section-daily{
  border-color:rgba(45,211,224,.60);
  box-shadow:0 0 0 1px rgba(45,211,224,.09),0 0 22px rgba(45,211,224,.14),0 18px 42px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.045);
}
.event-section-grand_slam:hover{border-color:rgba(255,211,83,.82);box-shadow:0 0 0 1px rgba(244,197,66,.16),0 0 28px rgba(244,197,66,.20),0 20px 46px rgba(0,0,0,.34)}
.event-section-main:hover{border-color:rgba(90,169,255,.82);box-shadow:0 0 0 1px rgba(58,145,255,.15),0 0 28px rgba(35,135,255,.22),0 20px 46px rgba(0,0,0,.34)}
.event-section-daily:hover{border-color:rgba(83,229,239,.82);box-shadow:0 0 0 1px rgba(45,211,224,.14),0 0 28px rgba(45,211,224,.20),0 20px 46px rgba(0,0,0,.34)}
.event-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.play-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 15px;background:linear-gradient(135deg,#123c70,#0b2447);border-color:rgba(86,164,255,.55);text-decoration:none!important;white-space:nowrap}
.play-btn:hover{background:linear-gradient(135deg,#18549a,#0c3265);border-color:#73b4ff;color:#fff}
.play-btn-icon{width:17px;height:17px;color:var(--jdi-gold-400);flex:0 0 auto}
.event-detail-actions{display:flex;justify-content:flex-end;margin-top:16px}
.directory-stat{gap:5px}
.directory-stat strong{color:var(--jdi-gold-400);font-size:14px}
.directory-stat span{color:#e8f2ff}
@media(max-width:900px){
  .event-section{padding:15px 12px 6px}
  .event-section .table-scroll{border:0}
  .event-actions{min-width:120px;flex-direction:column;align-items:stretch}
  .event-actions .btn{width:100%;min-width:104px;padding-inline:12px}
}
@media(max-width:560px){
  .event-section{border-radius:16px;box-shadow:0 0 0 1px rgba(73,151,255,.08),0 10px 26px rgba(0,0,0,.30)}
  .event-section-grand_slam{box-shadow:0 0 0 1px rgba(244,197,66,.11),0 0 16px rgba(244,197,66,.12),0 10px 26px rgba(0,0,0,.30)}
  .event-section-main{box-shadow:0 0 0 1px rgba(58,145,255,.10),0 0 16px rgba(35,135,255,.13),0 10px 26px rgba(0,0,0,.30)}
  .event-section-daily{box-shadow:0 0 0 1px rgba(45,211,224,.09),0 0 16px rgba(45,211,224,.11),0 10px 26px rgba(0,0,0,.30)}
  .event-detail-actions{justify-content:stretch}
  .event-detail-actions .play-btn{width:100%}
}

/* v6.9.2b — contrast correction only. No layout or business logic changes. */
:root{
  --jdi-carbon-1000:#080a0e;
  --jdi-carbon-950:#0b0e13;
  --jdi-carbon-900:#10141b;
  --jdi-panel-solid:#111c2b;
  --jdi-panel-raised:#16243a;
  --jdi-text-strong:#ffffff;
  --jdi-text-body:#eef2f7;
  --jdi-text-muted:#b8c2cf;
  --jdi-border-strong:rgba(112,145,190,.44);
}

html{background:var(--jdi-carbon-1000)}
body{
  color:var(--jdi-text-body);
  background:
    radial-gradient(circle at 16% 0%,rgba(20,58,108,.18),transparent 34%),
    linear-gradient(180deg,var(--jdi-carbon-950),#090d14 56%,#08111f);
}
body:before{opacity:.14}

h1,h2,h3,th{color:var(--jdi-text-strong)}
p,.muted{color:var(--jdi-text-muted)}
a,a:visited{color:#62b0ff;text-decoration-color:rgba(98,176,255,.58)}
a:hover{color:#fff}

.card,.home-rank-card,.home-active,.player-stat-section,.registration-event-group,.registration-event{
  background:linear-gradient(145deg,var(--jdi-panel-raised),var(--jdi-panel-solid));
  border-color:var(--jdi-border-strong);
}

/* Tables: stronger separation and readable content */
table{background:#0d1521;border-color:rgba(119,151,193,.42)}
th{
  background:linear-gradient(180deg,#1b304d,#13243a);
  color:#fff;
  border-bottom-color:rgba(240,196,93,.46);
}
td{color:#f3f6fa;background:#0d1828;border-bottom-color:rgba(139,163,196,.20)}
tbody tr:nth-child(even) td{background:#101d2f}
tbody tr:hover td{background:#172b46}

/* Admin cards must be visible as controls, not black holes */
.admin-card{
  color:#fff!important;
  background:linear-gradient(145deg,#1b2c43,#121c2b)!important;
  border:1px solid rgba(104,153,218,.58)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 28px rgba(0,0,0,.30)!important;
}
.admin-card:hover{
  color:#fff!important;
  border-color:rgba(240,196,93,.72)!important;
  background:linear-gradient(145deg,#223b5d,#15263d)!important;
  box-shadow:0 0 0 1px rgba(240,196,93,.12),0 16px 34px rgba(0,0,0,.36)!important;
}

/* Grand Slam qualification source badges: explicit foreground/background contrast */
.badge.source-stage{
  color:#f4f8ff!important;
  background:#244a82!important;
  border-color:#5e91d8!important;
}
.badge.source-daily{
  color:#effffb!important;
  background:#12664f!important;
  border-color:#39b58f!important;
}
.badge.source-main{
  color:#241800!important;
  background:#f1c95c!important;
  border-color:#ffe49a!important;
}
.badge.source-women{
  color:#fff5fb!important;
  background:#8a3564!important;
  border-color:#d875ad!important;
}

/* Ranking and dashboard readability */
.kpi,.mini-kpi,.players-stats .kpi{
  background:linear-gradient(145deg,#182a42,#101a29);
  border-color:rgba(105,151,211,.48);
}
.kpi span,.mini-kpi span{color:#c5cfdb}
.kpi strong,.mini-kpi strong{color:#f4c75d}

.rank-mini-row{
  background:linear-gradient(145deg,#172a45,#101b2c);
  border-color:rgba(104,158,226,.46);
}
.rank-mini-info strong{color:#fff}
.rank-mini-info small{color:#c2ccd8}

/* Most Active: visible premium separation without layout changes */
.home-active .active-player{
  background:linear-gradient(145deg,#171b22,#101319);
  border-color:rgba(240,196,93,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 24px rgba(0,0,0,.30);
}
.home-active .active-player:hover{
  border-color:rgba(240,196,93,.82);
  box-shadow:0 0 0 1px rgba(240,196,93,.10),0 14px 30px rgba(0,0,0,.38);
}
.home-active .active-player strong{color:#fff}
.home-active .active-player span{color:#d5dde7}

/* Form controls remain readable in Admin */
input,select,textarea{background:#101a29;color:#fff;border-color:rgba(116,157,211,.48)}
option{background:#101a29;color:#fff}

/* Existing event category identities stay intact, but panels separate from the page */
.event-section{background:linear-gradient(145deg,#15253b,#0d1725)}
.event-section table{border-color:rgba(127,155,193,.42)}

/* Rules/details: improve text contrast without changing structure */
details{background:#111c2c;border-color:rgba(112,151,202,.45);color:#eef3f8}
.rule-section summary{background:linear-gradient(180deg,#1d3454,#14253d);color:#fff}

/* v6.9.3 — qualification zones and ranking movement (scoped only to ranking pages) */
.badge.source-stage{
  color:#211500!important;
  background:#f1c95c!important;
  border-color:#ffe49a!important;
}
.badge.source-main{
  color:#f4f8ff!important;
  background:#244a82!important;
  border-color:#5e91d8!important;
}

.rank-move{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.25rem;
  margin-left:.35rem;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
  vertical-align:middle;
}
.rank-up{color:#35d07f}
.rank-down{color:#ff5f68}
.rank-same{color:#93a0b3}
.rank-new{color:#f1c95c;font-size:.66rem}
.rank-position{font-weight:800;color:#f7f9fc}

.qualification-legend{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1.15rem;
  align-items:center;
  margin:.75rem 0 1rem;
  color:#dce3ec;
  font-size:.88rem;
}
.qualification-legend span{display:inline-flex;align-items:center;gap:.45rem}
.legend-dot{width:.62rem;height:.62rem;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.legend-stage{background:#f1c95c}
.legend-main{background:#3677ca}
.legend-daily{background:#15916d}
.legend-women{background:#a53c78}

.ranking-table tr.qualification-stage td{
  background:linear-gradient(90deg,rgba(241,201,92,.13),rgba(241,201,92,.035));
}
.ranking-table tr.qualification-main td{
  background:linear-gradient(90deg,rgba(54,119,202,.14),rgba(54,119,202,.035));
}
.ranking-table tr.qualification-daily td{
  background:linear-gradient(90deg,rgba(21,145,109,.13),rgba(21,145,109,.03));
}
.ranking-table tr.qualification-women td{
  background:linear-gradient(90deg,rgba(165,60,120,.14),rgba(165,60,120,.035));
}
.ranking-table tr.daily-qualification-zone td{
  background:linear-gradient(90deg,rgba(21,145,109,.13),rgba(54,119,202,.045));
}
.ranking-table tr.qualification-stage td:first-child{box-shadow:inset 3px 0 #f1c95c}
.ranking-table tr.qualification-main td:first-child{box-shadow:inset 3px 0 #3677ca}
.ranking-table tr.qualification-daily td:first-child,
.ranking-table tr.daily-qualification-zone td:first-child{box-shadow:inset 3px 0 #15916d}
.ranking-table tr.qualification-women td:first-child{box-shadow:inset 3px 0 #a53c78}

@media (max-width:760px){
  .qualification-legend{font-size:.78rem;gap:.5rem .8rem}
  .rank-move{min-width:1.85rem;margin-left:.2rem;font-size:.7rem}
}


/* v6.9.4 — Just Support seasonal dartboard (SVG + CMS, no generated imagery) */
.support-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:30px;align-items:center;padding:36px;margin-bottom:28px;background:linear-gradient(135deg,#111b2a,#0c1119);border:1px solid rgba(212,175,82,.36)}
.support-copy h1{margin:.3rem 0 1rem;font-size:clamp(2.25rem,4vw,4.2rem)}
.support-copy p{max-width:780px;color:#e6e9ee;font-size:1.04rem;line-height:1.7}
.support-eyebrow{display:inline-block;color:#f1c95c;font-size:.76rem;font-weight:900;letter-spacing:.16em}
.support-primary{margin-top:.75rem;background:linear-gradient(180deg,#f2ca63,#d7a937)!important;color:#171108!important;border-color:#ffe49a!important}
.support-season-note{padding:24px;border-radius:16px;background:#090d13;border:1px solid rgba(212,175,82,.42);box-shadow:inset 0 1px rgba(255,255,255,.035)}
.support-season-note strong{display:block;color:#fff;font-size:1.25rem;margin-bottom:.65rem}
.support-season-note p{margin:.6rem 0;color:#cbd2dc;line-height:1.55}
.support-board-section{padding:28px;border-radius:22px;background:radial-gradient(circle at center,#18263a 0%,#0f1724 45%,#090d13 100%);border:1px solid rgba(212,175,82,.28)}
.support-board-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:20px}
.support-board-heading h2{margin:.35rem 0 0}
.support-board-prices{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.support-board-prices span{padding:8px 12px;border-radius:999px;background:#131d2b;border:1px solid rgba(212,175,82,.4);color:#dce2ea}
.support-board-prices b{color:#f1c95c}
.support-board-frame{max-width:900px;margin:0 auto;padding:18px;border-radius:50%;background:radial-gradient(circle,#121820 0,#080b10 70%);box-shadow:0 24px 60px rgba(0,0,0,.48)}
.support-dartboard{display:block;width:100%;height:auto;overflow:visible}
.board-number{fill:#f5f6f8;font-size:18px;font-weight:800;font-family:inherit}
.sponsor-logo-ring,.bull-logo-ring{fill:#080b10;stroke:#f1c95c;stroke-width:2.2}
.sponsor-logo-empty{fill:#182334;stroke:#f1c95c;stroke-width:1.5}
.sponsor-initials,.support-plus{fill:#f1c95c;font-size:13px;font-weight:900;text-anchor:middle;dominant-baseline:middle}
.sponsor-sector-name,.support-price{fill:#f7f8fa;font-size:9.6px;font-weight:900;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#07090c;stroke-width:2.5px;stroke-linejoin:round}
.sponsor-sector-name{font-size:9px}
.support-price{fill:#f3f5f8;font-size:9px}
.support-slot-open{fill:#0b111a;stroke:#f1c95c;stroke-width:2.8;stroke-dasharray:4 2;cursor:pointer}
.support-slot-hit{fill:transparent;stroke:none;cursor:pointer;pointer-events:all}
.support-dartboard a:hover .support-slot-open,.support-dartboard a:focus .support-slot-open{fill:#182334;stroke:#ffd76a;stroke-width:3.4}
.support-dartboard a:hover .support-plus,.support-dartboard a:focus .support-plus{fill:#fff}
.bull-label,.bull-price,.bull-supporter-name{fill:#fff;font-weight:900;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#071009;stroke-width:2px}
.bull-label{font-size:14px;stroke-width:2.4px}.bull-price{font-size:11px;fill:#f7d675;stroke-width:2.4px}.bull-supporter-name{font-size:12px;fill:#f7f8fa;stroke-width:2.4px}
.support-board-help{text-align:center;color:#aeb8c6;margin:18px auto 0;max-width:760px;line-height:1.55}
.support-admin-form label{display:flex;flex-direction:column;gap:7px;color:#dce3ec;font-weight:700}
.support-admin-form textarea{width:100%}
.current-upload{display:flex;align-items:center;gap:12px;color:#cbd3de}
.current-upload img,.admin-support-logo{width:48px;height:48px;object-fit:contain;border-radius:50%;background:#fff;padding:3px;border:1px solid rgba(212,175,82,.45)}
.admin-error{margin-bottom:14px;padding:12px 14px;border-radius:10px;background:#551b24;color:#fff;border:1px solid #d26070}

@media(max-width:900px){
  .support-hero{grid-template-columns:1fr;padding:26px}
  .support-board-heading{align-items:flex-start;flex-direction:column}
  .support-board-prices{justify-content:flex-start}
}
@media(max-width:620px){
  .support-hero{padding:20px;gap:20px}
  .support-board-section{padding:16px 10px}
  .support-board-frame{padding:6px}
  .support-board-prices span{font-size:.78rem;padding:6px 9px}
  .sponsor-sector-name{font-size:8.2px}
  .support-price{font-size:8px}
  .board-number{font-size:16px}
}


/* v7.0 Admin & Security Foundation */
.admin-auth-card{max-width:520px;margin:72px auto;padding:34px;background:#111a2b;border:1px solid #314867;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.42)}
.admin-auth-card h1{margin:6px 0 10px}
.admin-auth-card p{color:#c7d0dd}
.admin-auth-card form{display:grid;gap:16px;margin-top:24px}
.admin-auth-card label{display:grid;gap:7px;color:#f7f9fc;font-weight:800}
.admin-auth-card input{width:100%;box-sizing:border-box;background:#0a101b;color:#fff;border:1px solid #405777}
.admin-auth-card button{min-height:48px;background:#1769e0;color:#fff;font-weight:900}
.admin-auth-eyebrow{font-size:12px;letter-spacing:.16em;color:#f2c45a;font-weight:900}
.admin-auth-error,.admin-auth-success{padding:12px 14px;border-radius:10px;margin:14px 0}
.admin-auth-error{background:#481d25;border:1px solid #a84858;color:#ffdbe0}
.admin-auth-success{background:#123b2c;border:1px solid #2c8d65;color:#d7ffed}
.admin-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.admin-page-heading h1{margin-bottom:4px}
.admin-page-heading p{margin:0;color:#bdc8d8}
.admin-logout-form{margin:0}
.admin-logout{background:#371d25;border:1px solid #874051;color:#ffdce3}
.admin-card-wrap{position:relative;display:flex;min-width:0;border:1px solid #344e70;border-radius:15px;background:#111c2e;box-shadow:0 8px 24px rgba(0,0,0,.24);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}
.admin-card-wrap:hover{border-color:#5e83b5;box-shadow:0 10px 28px rgba(0,0,0,.32)}
.admin-card-wrap.dragging{opacity:.48;border-color:#e2b84f}
.admin-card-wrap .admin-card{flex:1;display:flex;align-items:center;justify-content:center;min-height:82px;background:transparent!important;border:0!important;box-shadow:none!important;padding:22px 42px 22px 20px}
.admin-drag-handle{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:2;width:30px;height:42px;padding:0;background:transparent;color:#93a9c6;border:0;cursor:grab;font-size:24px;line-height:1}
.admin-drag-handle:active{cursor:grabbing;color:#f2c45a}
@media(max-width:720px){.admin-page-heading{align-items:flex-start}.admin-auth-card{margin:36px 14px}.admin-drag-handle{display:none}.admin-card-wrap{draggable:false}}


/* v7.2.5 Players header totals + Database Manager */
.players-heading{align-items:flex-start}
.players-heading-stats{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:2px}
.players-heading-count{pointer-events:none;margin:0;min-height:54px}
.players-heading-count strong{color:var(--jdi-gold-400)}
.players-heading-count .player-count-icon{width:22px;height:22px;color:var(--jdi-gold-400)}
.database-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 22px}
.database-kpi{min-height:112px;padding:20px 22px;border-radius:16px;background:linear-gradient(145deg,#14243a,#091421);border:1px solid rgba(111,174,255,.28);box-shadow:0 16px 34px rgba(0,0,0,.26)}
.database-kpi span{display:block;color:#aebdd0;font-size:14px;margin-bottom:10px}
.database-kpi strong{display:block;color:var(--jdi-gold-400);font-size:28px;line-height:1.15}
.database-kpi .database-date{font-size:20px;color:#fff}
.database-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.database-actions .card{margin:0}
.database-actions form{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.admin-success,.admin-error{padding:13px 16px;border-radius:12px;margin:0 0 18px;font-weight:800}
.admin-success{color:#caffdf;background:rgba(16,129,78,.22);border:1px solid rgba(45,211,139,.35)}
.admin-error{color:#ffd4d4;background:rgba(154,37,52,.22);border:1px solid rgba(255,89,110,.35)}
@media(max-width:1050px){.players-heading{flex-direction:column}.players-heading-stats{justify-content:flex-start}.database-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.players-heading-stats{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}.players-heading-count{justify-content:center;padding:9px 10px}.players-heading-count small{font-size:11px}.players-heading-count strong{font-size:21px}.database-kpis,.database-actions{grid-template-columns:1fr}}

/* v7.5 Mobile navigation + clickable ranking preview titles */
.mobile-menu-toggle{display:none}
.home-ranking-title-link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.home-ranking-title-link::after{content:"›";color:var(--jdi-gold-400);font-size:1.15em;line-height:1;transform:translateY(-1px)}
.home-ranking-title-link:hover,.home-ranking-title-link:focus-visible{color:var(--jdi-gold-400)}

@media(max-width:700px){
  .site-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center!important;justify-content:space-between;min-height:70px;padding:8px 14px!important;gap:12px!important;overflow:visible}
  .site-header .brand-link{width:54px!important;min-width:54px!important;height:54px!important;flex:0 0 54px}
  .site-header .jdi-header-logo{width:54px!important;height:54px!important}
  .mobile-menu-toggle{display:flex;width:46px;height:46px;flex:0 0 46px;border:1px solid rgba(111,174,255,.38);border-radius:12px;background:linear-gradient(180deg,#142844,#08172a);align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
  .mobile-menu-toggle span{display:block;width:22px;height:2px;border-radius:2px;background:#fff;transition:transform .18s ease,opacity .18s ease}
  .mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-toggle.is-open span:nth-child(2){opacity:0}
  .mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-header .main-nav{display:none;position:absolute;top:calc(100% + 1px);left:8px;right:8px;width:auto!important;max-height:calc(100vh - 86px);overflow-y:auto!important;overflow-x:hidden!important;padding:12px!important;gap:8px!important;flex-direction:column;align-items:stretch;background:linear-gradient(180deg,#0d1b2e,#060d18);border:1px solid rgba(111,174,255,.3);border-top-color:rgba(240,196,93,.32);border-radius:0 0 16px 16px;box-shadow:0 20px 45px rgba(0,0,0,.55)}
  .site-header .main-nav.is-open{display:flex}
  .site-header .main-nav a{display:flex;width:100%;min-height:44px!important;justify-content:flex-start;padding:10px 13px!important;font-size:14px!important;border-radius:10px!important}
  .site-header .main-nav .social{width:100%!important;height:44px!important;min-height:44px!important;font-size:18px!important;border-radius:10px!important}
  .site-header .main-nav .fb::after{content:"Facebook";font-size:14px;font-weight:800;margin-left:9px}
  .site-header .main-nav .wa-link::after{content:"WhatsApp";font-size:14px;font-weight:800;margin-left:9px}
  .site-header .main-nav .support-top{justify-content:center}
}

/* v7.7 UX Polish
   Interaction consistency only. No layout, business logic, database or content changes. */
:root{
  --jdi-motion-fast:160ms;
  --jdi-motion-standard:200ms;
  --jdi-focus-ring:0 0 0 3px rgba(35,135,255,.22),0 0 0 1px rgba(120,190,255,.9);
}

/* Consistent interaction timing */
a,button,.btn,input,select,textarea,summary,
.card,.event-section,.home-rank-card,.home-active,.rank-mini-row,.active-player,
.player-stat,.footer-partner,.support-top,.home-player-count,.admin-card-wrap{
  transition-property:color,background-color,border-color,box-shadow,transform,opacity,filter;
  transition-duration:var(--jdi-motion-standard);
  transition-timing-function:ease;
}

/* Clear keyboard focus without changing mouse appearance */
a:focus-visible,button:focus-visible,.btn:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:none;
  box-shadow:var(--jdi-focus-ring);
}

/* Uniform button feedback */
button,.btn,.main-nav a,.footer-nav a,.footer-socials a,.home-ranking-title-link,
.home-player-count,.footer-partner,summary{
  -webkit-tap-highlight-color:transparent;
}
button:not(:disabled),.btn:not([aria-disabled="true"]),summary{cursor:pointer}
button:active,.btn:active,.main-nav a:active,.support-top:active,.home-player-count:active{
  transform:translateY(0) scale(.985);
  transition-duration:var(--jdi-motion-fast);
}
button:disabled,.btn[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.58;
  filter:saturate(.55);
  transform:none!important;
}

/* More consistent actionable cards */
a.card,a.event-section,a.home-rank-card,a.home-active,
.rank-mini-row,.active-player,a.footer-partner{
  text-decoration:none;
}
a.card:hover,a.event-section:hover,a.home-rank-card:hover,a.home-active:hover,
.rank-mini-row:hover,.active-player:hover{
  border-color:rgba(111,174,255,.48);
  box-shadow:0 18px 44px rgba(0,24,65,.34),inset 0 1px 0 rgba(255,255,255,.045);
}

/* Form readability and feedback */
input,select,textarea{
  min-height:44px;
  accent-color:var(--jdi-blue-500);
}
textarea{min-height:110px;resize:vertical}
input::placeholder,textarea::placeholder{color:#7588a0;opacity:1}
label:has(input:focus-visible),label:has(select:focus-visible),label:has(textarea:focus-visible){
  color:var(--jdi-white);
}

/* Tables: subtle row tracking, no layout changes */
tbody tr td{transition:background-color var(--jdi-motion-fast) ease}
tbody tr:focus-within td{background:rgba(20,50,90,.72)}

/* Footer links and partner logos */
.footer-nav a,.footer-socials a{
  border-radius:7px;
  text-underline-offset:4px;
}
.footer-nav a:hover,.footer-socials a:hover{
  color:var(--jdi-white);
  transform:translateX(2px);
}
.footer-partner:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
}

/* Mobile menu interaction polish */
.mobile-menu-toggle:hover{border-color:rgba(94,170,255,.72);background:linear-gradient(180deg,#1a365b,#0a1e37)}
.mobile-menu-toggle:active{transform:scale(.97)}
.site-header .main-nav.is-open{animation:jdi-menu-in var(--jdi-motion-standard) ease both}
@keyframes jdi-menu-in{
  from{opacity:0;transform:translateY(-7px)}
  to{opacity:1;transform:translateY(0)}
}

/* Respect reduced-motion preferences */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* v7.8.2 Community Update: birthday spotlight and instant player search */
.birthday-today{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 22px;border:1px solid rgba(240,196,93,.38);border-radius:18px;background:linear-gradient(135deg,rgba(240,196,93,.11),rgba(12,29,51,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.birthday-heading{display:flex;align-items:center;gap:13px;min-width:max-content}.birthday-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(240,196,93,.14);font-size:23px}.birthday-heading small{display:block;color:var(--jdi-gold-400);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.birthday-heading h2{margin:2px 0 0;font-size:21px}.birthday-list{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.birthday-player{display:flex;align-items:center;gap:11px;min-width:190px;padding:8px 14px 8px 8px;border:1px solid rgba(111,174,255,.2);border-radius:999px;background:rgba(5,17,31,.72);text-decoration:none}.birthday-player:hover{border-color:rgba(240,196,93,.55);transform:translateY(-1px)}.birthday-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;object-fit:cover;border:2px solid rgba(240,196,93,.65);background:#0b1727}.birthday-player span{display:flex;flex-direction:column;min-width:0}.birthday-player small{color:#aebdd0;font-size:11px}.birthday-player strong{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.directory-title-search{display:flex;align-items:center;justify-content:space-between;gap:18px}.directory-title-search p{margin:4px 0 0;color:#90a2b8;font-size:13px}.player-search{display:flex;align-items:center;gap:10px;width:min(100%,330px);padding:0 13px;border:1px solid rgba(111,174,255,.28);border-radius:12px;background:#071322}.player-search:focus-within{border-color:rgba(111,174,255,.78);box-shadow:var(--jdi-focus-ring)}.player-search span{font-size:24px;line-height:1;color:var(--jdi-gold-400);transform:rotate(-20deg)}.player-search input{width:100%;min-height:44px;padding:8px 0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;color:#fff}.player-search input::-webkit-search-cancel-button{filter:invert(1);opacity:.72}.player-search-empty{margin:18px 0 4px;padding:20px;text-align:center;color:#aebdd0;border:1px dashed rgba(111,174,255,.25);border-radius:12px}
@media(max-width:760px){.birthday-today{align-items:flex-start;flex-direction:column}.birthday-list{justify-content:flex-start;width:100%}.birthday-player{width:100%}.directory-title-search{align-items:stretch;flex-direction:column}.player-search{width:100%}}


/* v7.9 Accounts Foundation */
.account-auth-card,.account-state-card,.account-dashboard{width:min(100% - 28px,720px);margin:52px auto;padding:28px;border:1px solid rgba(111,174,255,.24);border-radius:20px;background:linear-gradient(180deg,rgba(12,31,55,.97),rgba(5,16,30,.98));box-shadow:0 22px 60px rgba(0,0,0,.28)}
.account-auth-card h1,.account-state-card h1,.account-dashboard h1{margin:6px 0 8px}.account-auth-card>p,.account-state-card>p,.account-dashboard-head p{color:#9fb0c5}.account-auth-card form{display:grid;gap:15px;margin-top:22px}.account-auth-card label,.admin-form-card label{display:grid;gap:7px;color:#dbe6f2;font-weight:700}.account-auth-card label small{color:#8497ad;font-weight:400}.account-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-auth-card input{width:100%}.account-auth-card button,.button-link,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:10px;font-weight:900;text-decoration:none}.account-auth-switch{margin:18px 0 0!important;text-align:center}.account-auth-switch a,.account-state-card a,.account-dev-note a{color:var(--jdi-gold-400)}.account-dev-note{margin:16px 0;padding:14px;border:1px dashed rgba(240,196,93,.45);border-radius:12px;background:rgba(240,196,93,.08);word-break:break-word}.account-dev-note small{display:block;margin-top:7px;color:#9fb0c5}.account-inline-form{margin:10px 0!important}.account-inline-form button{min-height:36px!important}.account-dashboard{width:min(100% - 28px,940px)}.account-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.account-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.account-info-grid>div{padding:18px;border:1px solid rgba(111,174,255,.18);border-radius:13px;background:rgba(4,15,29,.62)}.account-info-grid small{display:block;margin-bottom:7px;color:#8497ad;text-transform:uppercase;letter-spacing:.08em}.permission-pills{display:flex;gap:7px;flex-wrap:wrap}.permission-pills span{padding:5px 9px;border-radius:999px;background:rgba(240,196,93,.12);color:var(--jdi-gold-400);font-size:12px;font-weight:800}.admin-form-card{max-width:700px;padding:24px;border:1px solid rgba(111,174,255,.2);border-radius:16px;background:rgba(6,20,37,.9)}.admin-form-card form{display:grid;gap:18px}.permission-checks{display:grid;gap:10px;padding:15px;border:1px solid rgba(111,174,255,.16);border-radius:12px}.permission-checks label{display:flex;align-items:center;gap:10px}.permission-checks input{width:auto}.form-help{color:#91a4ba}.secondary-button{border:1px solid rgba(111,174,255,.35);background:rgba(10,31,54,.9);color:#fff}
@media(max-width:700px){.account-form-grid,.account-info-grid{grid-template-columns:1fr}.account-dashboard-head{flex-direction:column}.account-dashboard-head form,.account-dashboard-head button{width:100%}}

/* v7.9 Platform Owner + Users management */
.owner-pill,.user-access.owner{background:rgba(240,196,93,.16)!important;color:var(--jdi-gold-400)!important;border:1px solid rgba(240,196,93,.35)}
.account-admin-button{margin-top:22px}.admin-user-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}.admin-user-tools .player-search-box{flex:1;max-width:560px}.user-status,.user-access{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.user-status-pending_approval{background:rgba(240,196,93,.14);color:#f0c45d}.user-status-active{background:rgba(52,211,153,.14);color:#6ee7b7}.user-status-rejected,.user-status-suspended{background:rgba(248,113,113,.14);color:#fca5a5}.user-access{background:rgba(111,174,255,.12);color:#9bc6ff}.owner-protection-card{padding:18px;border:1px solid rgba(240,196,93,.35);border-radius:14px;background:rgba(240,196,93,.08)}.owner-protection-card strong{color:var(--jdi-gold-400);font-size:18px}.owner-protection-card p{margin-bottom:0;color:#b7c4d3}.manage-user-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:22px}.manage-user-facts>div{padding:14px;border:1px solid rgba(111,174,255,.16);border-radius:12px;background:rgba(4,15,29,.55)}.manage-user-facts small{display:block;color:#8497ad;text-transform:uppercase;letter-spacing:.07em}.manage-user-facts strong{display:block;margin-top:5px}.players-search-empty{padding:24px;text-align:center;color:#91a4ba}
@media(max-width:760px){.admin-user-tools{align-items:stretch;flex-direction:column}.admin-user-tools .player-search-box{max-width:none}.manage-user-facts{grid-template-columns:1fr}}
