:root{
  --green:#006241;
  --deep:#003b2f;
  --dark:#001f18;
  --cream:#f6f1e7;
  --gold:#d4a017;
  --gold2:#f0c84b;
  --white:#fff;
  --muted:#dbe7df;
  --red:#c0392b;
  --silver:#cdd4d8;
  --bronze:#b87333;
  --shadow:0 18px 45px rgba(0,0,0,.22);
  --radius:24px;
  font-family:"Aptos","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,var(--dark),#041f18 35%,var(--cream));color:var(--white);min-height:100vh}
body:before{content:"";position:fixed;inset:0;background:
 radial-gradient(circle at 15% 0%,rgba(240,200,75,.22),transparent 32%),
 radial-gradient(circle at 86% 4%,rgba(255,255,255,.14),transparent 28%),
 linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
 background-size:auto,auto,80px 80px;pointer-events:none;z-index:-2}
.stadium-bg{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.stadium-bg:before{content:"";position:absolute;left:-10%;right:-10%;bottom:-18%;height:48%;background:
 repeating-linear-gradient(90deg,rgba(0,98,65,.55) 0 90px,rgba(0,59,47,.8) 90px 180px);
 transform:perspective(500px) rotateX(62deg);filter:blur(.2px)}
.stadium-bg:after{content:"";position:absolute;left:5%;right:5%;top:12%;height:2px;background:linear-gradient(90deg,transparent,rgba(240,200,75,.75),transparent);box-shadow:0 35px 60px 10px rgba(240,200,75,.35)}
.floodlight{position:absolute;top:5%;width:42vw;height:30vw;background:radial-gradient(ellipse at top,rgba(255,240,170,.24),transparent 65%);filter:blur(5px);animation:lightSweep 9s ease-in-out infinite alternate}.light-left{left:-8%;transform:rotate(20deg)}.light-right{right:-8%;transform:rotate(-20deg);animation-delay:1.5s}@keyframes lightSweep{from{opacity:.35;transform:translateX(-2vw) rotate(16deg)}to{opacity:.78;transform:translateX(2vw) rotate(23deg)}}
.pitch-line{position:absolute;left:50%;bottom:3%;width:30vh;height:30vh;border:2px solid rgba(255,255,255,.2);border-radius:50%;transform:translateX(-50%) perspective(500px) rotateX(62deg)}
.ball{position:absolute;opacity:.24;filter:drop-shadow(0 0 18px rgba(240,200,75,.7));animation:shoot 12s linear infinite}
.ball-1{top:24%;left:-4%;font-size:42px}.ball-2{top:61%;left:-8%;font-size:30px;animation-delay:3.5s;animation-duration:15s}.ball-3{top:38%;left:-10%;font-size:26px;animation-delay:7s;animation-duration:18s}
@keyframes shoot{0%{transform:translateX(-80px) translateY(0) rotate(0)}45%{transform:translateX(55vw) translateY(-40px) rotate(720deg)}100%{transform:translateX(115vw) translateY(28px) rotate(1440deg)}}
.hero{min-height:640px;padding:28px 5vw 90px;position:relative;display:flex;flex-direction:column}
.topbar,.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:16px;text-transform:uppercase;letter-spacing:.08em}.brand img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 6px 20px rgba(0,0,0,.28))}.brand strong{display:block;font-size:16px}.brand span{font-size:11px;color:var(--muted)}
.actions,.toolbar-actions,.inline-controls,.template-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill,button,.download{border:0;border-radius:999px;padding:12px 18px;background:rgba(255,255,255,.12);color:var(--white);text-decoration:none;font-weight:800;cursor:pointer;transition:.25s ease;box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}.pill:hover,button:hover,.download:hover{transform:translateY(-2px);background:rgba(255,255,255,.2)}.pill.active,button,.download{background:var(--gold);color:#15110b}.pill.outline{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.hero-copy{margin:auto 0;max-width:940px}.eyebrow,.section-kicker{color:var(--gold2);text-transform:uppercase;letter-spacing:.28em;font-weight:900;font-size:12px}h1{font-size:clamp(42px,8vw,112px);line-height:.88;margin:.1em 0;text-transform:uppercase;letter-spacing:.02em}h2{font-size:clamp(26px,3vw,42px);margin:.1em 0 .5em;text-transform:uppercase}.hero-copy p:not(.eyebrow){font-size:clamp(18px,2.4vw,28px);color:var(--muted)}
.rule-ribbon{display:inline-flex;margin-top:6px;padding:10px 16px;border-radius:16px;background:rgba(0,98,65,.74);border:1px solid rgba(240,200,75,.38);color:#fff;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.2)}.demo-badge{display:inline-flex;margin-top:22px;padding:10px 18px;border-radius:999px;background:var(--gold);color:#161100;font-weight:900;letter-spacing:.12em;box-shadow:0 0 22px rgba(240,200,75,.55);animation:pulse 1.8s infinite}@keyframes pulse{50%{transform:scale(1.04)}}
main{width:min(1480px,92vw);margin:-60px auto 70px}.card,.leaderboards,.mvp-section,.podium,.week-overview{background:rgba(0,59,47,.82);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:26px}.scoreboard-controls{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(260px,1.4fr) 2fr minmax(190px,.8fr);gap:16px;align-items:end}.control-note{display:grid;gap:4px;color:var(--muted);align-self:center}.control-note strong{color:#fff}.muted{color:var(--muted)}
label{display:grid;gap:7px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}select,input,textarea{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:12px 14px;background:#fff;color:#10231d;font-size:15px}textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.kpi-card{background:linear-gradient(145deg,rgba(0,98,65,.95),rgba(0,59,47,.95));border-radius:20px;padding:22px;border:1px solid rgba(240,200,75,.25);box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;right:-20px;top:-20px;width:100px;height:100px;border-radius:50%;border:18px solid rgba(240,200,75,.12)}.kpi-card span{display:block;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.kpi-card strong{display:block;font-size:38px;color:var(--gold2);margin-top:8px}
.board-header{display:flex;justify-content:space-between;gap:16px;align-items:end;flex-wrap:wrap}.board-header p{max-width:740px;color:var(--muted)}.week-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.week-tile{border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);padding:18px;transition:.25s ease;position:relative;overflow:hidden}.week-tile:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--green),var(--gold))}.week-tile.active{background:rgba(0,98,65,.92);box-shadow:0 0 0 2px rgba(240,200,75,.45),var(--shadow);transform:translateY(-2px)}.week-tile-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.week-tile-head span{display:block;color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.week-tile-head strong{display:block;margin-top:5px}.mini-btn{padding:8px 11px;font-size:12px;white-space:nowrap}.week-tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.mini-list{background:rgba(255,255,255,.95);color:#10231d;border-radius:16px;padding:12px}.mini-list h4{margin:0 0 8px;color:var(--green);text-transform:uppercase}.mini-list ol{margin:0;padding-left:20px}.mini-list li{margin:6px 0}.mini-list li{display:flex;justify-content:space-between;gap:8px}.mini-list p{margin:0;color:#34524a}.mvp-mini{grid-column:1/-1;border-left:7px solid var(--gold)}.mvp-mini strong{color:var(--green);font-size:22px}
.country-podiums{display:grid;grid-template-columns:1fr 1fr;gap:18px}.country-podium{background:rgba(255,255,255,.06);border-radius:20px;padding:18px;border:1px solid rgba(255,255,255,.12)}.country-podium>h3,.country-board-head h3{margin:0 0 14px;text-transform:uppercase;font-size:24px}.podium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}.podium-card{min-height:170px;border-radius:22px;padding:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}.podium-card.gold{min-height:230px;background:linear-gradient(180deg,var(--gold2),#c79309);color:#15110b}.podium-card.silver{min-height:205px;background:linear-gradient(180deg,#ecf1f4,var(--silver));color:#15110b}.podium-card.bronze{background:linear-gradient(180deg,#d99a5d,var(--bronze));color:#15110b}.podium-card .rank{font-size:54px;font-weight:1000}.podium-card h3{margin:5px 0;font-size:20px}.empty{color:var(--muted)}
.country-leaderboards{display:grid;gap:24px}.country-board{background:rgba(255,255,255,.06);border-radius:22px;border:1px solid rgba(255,255,255,.12);padding:18px}.country-board-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.country-board-head span{background:rgba(240,200,75,.18);color:var(--gold2);padding:8px 12px;border-radius:999px;font-weight:900}.table-wrap{overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.12)}table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.97);color:#10231d;min-width:1100px}th,td{padding:13px 12px;border-bottom:1px solid #d8e0dc;text-align:left;vertical-align:middle}th{background:var(--green);color:#fff;position:sticky;top:0;z-index:1;text-transform:uppercase;font-size:12px;letter-spacing:.05em}tbody tr{transition:.18s ease}tbody tr:hover{background:#f9f3db}td small{display:block;color:#5d756c;margin-top:4px}.rank-cell{font-weight:1000;font-size:20px;color:var(--green)}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.badge.ok{background:#dcfce7;color:#14532d}.badge.warn{background:#fee2e2;color:#7f1d1d}.badge.mvp{background:#fef3c7;color:#713f12}.progress{height:8px;border-radius:999px;background:#dfe7e1;overflow:hidden;min-width:80px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--gold));border-radius:inherit;animation:grow 1s ease both}@keyframes grow{from{width:0}}
.mvp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.mvp-card{background:rgba(255,255,255,.95);color:#10231d;border-radius:18px;padding:16px;border-left:7px solid var(--gold);position:relative}.mvp-card.winner{box-shadow:0 0 0 2px var(--gold),0 18px 40px rgba(240,200,75,.25)}.mvp-card.winner:after{content:"🏆";position:absolute;right:14px;top:10px;font-size:26px}.mvp-card h3{margin:8px 0;color:var(--green);font-size:28px}.mvp-card small{color:#5d756c}.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.calc-result{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.calc-box{background:rgba(255,255,255,.95);color:#10231d;border-radius:16px;padding:16px}.calc-box strong{display:block;font-size:26px;color:var(--green)}footer{text-align:center;padding:40px 5vw;background:var(--dark);display:grid;gap:8px}.hidden{display:none!important}.reveal{animation:reveal .7s ease both}@keyframes reveal{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media (max-width:1050px){.scoreboard-controls,.kpi-grid,.country-podiums,.calc-grid,.calc-result{grid-template-columns:1fr}.hero{min-height:540px}.topbar{align-items:flex-start}.brand span{display:none}.podium-grid{grid-template-columns:1fr}.week-tile-grid{grid-template-columns:1fr}.mvp-mini{grid-column:auto}}
@media (max-width:540px){main{width:94vw}.week-tiles{grid-template-columns:1fr}.hero{padding-inline:4vw}.actions{justify-content:flex-end}.rule-ribbon{display:flex}}
/* v3 fixes: legacy safety, clearer week separation, cache-busted assets */
.legacy-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.week-overview{background:linear-gradient(180deg,rgba(0,59,47,.94),rgba(0,40,31,.9));border-color:rgba(240,200,75,.25)}
.week-tiles{counter-reset:week;gap:20px}.week-tile{cursor:pointer;box-shadow:0 14px 28px rgba(0,0,0,.16)}.week-tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.24)}.week-tile:after{counter-increment:week;content:"W" counter(week);position:absolute;right:18px;bottom:14px;font-weight:1000;font-size:38px;color:rgba(240,200,75,.18);letter-spacing:-.04em}.week-tile.active:after{color:rgba(240,200,75,.38)}
.week-tile-head{border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:12px}.week-tile-head strong{font-size:18px;line-height:1.25}.mini-list{min-height:118px}.mini-list li span{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mvp-mini{background:#fff8df}.country-podium>h3 small,.country-board-head small{display:block;color:var(--gold2);font-size:13px;margin-top:4px;text-transform:none;letter-spacing:.02em}.badge.missing{background:#e5e7eb;color:#374151}
@media (min-width:1200px){.week-tiles{grid-template-columns:repeat(3,1fr)}}

/* v4 fixes: unit labels and week-card alignment */
.week-tile, .week-tile-grid, .mini-list, .mini-list li, .mini-list li span { min-width:0; }
.week-tile{overflow:hidden;}
.week-tile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;}
.mini-list{overflow:hidden;}
.mini-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:10px;}
.mini-list li span{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.18;}
.mini-list li b{white-space:nowrap;text-align:right;}
.mvp-mini p{margin-bottom:6px;line-height:1.2;}
.mvp-mini strong,.mvp-card h3{white-space:nowrap;}
@media (max-width:760px){.week-tile-grid{grid-template-columns:1fr}.mini-list li{grid-template-columns:1fr;row-gap:2px}.mini-list li b{text-align:left}.mvp-mini{grid-column:auto}}
/* v4 desktop layout: two wider week cards on common laptop widths; three only on very large screens. */
.week-tile-head > div{min-width:0;}
@media (min-width:1200px){.week-tiles{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1760px){.week-tiles{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* v5 fixes: preparation weeks, clearer grouping, MVP active before competition */
.week-tiles{display:grid;gap:26px;counter-reset:week;}
.week-group{display:grid;gap:14px;}
.week-group>h3{margin:6px 0 0;padding:10px 14px;border-left:7px solid var(--gold);background:rgba(255,255,255,.08);border-radius:14px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold2);font-size:14px;}
.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.phase-badge{display:inline-flex;margin-top:9px;padding:6px 10px;border-radius:999px;background:rgba(240,200,75,.2);color:var(--gold2);font-style:normal;font-weight:1000;font-size:11px;text-transform:uppercase;letter-spacing:.08em;}
.week-tile.prep-week{border-color:rgba(240,200,75,.5);background:linear-gradient(145deg,rgba(0,59,47,.94),rgba(62,50,5,.42));}
.week-tile.prep-week:before{background:linear-gradient(90deg,var(--gold2),var(--green));}
@media (min-width:1760px){.week-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:1050px){.week-grid{grid-template-columns:1fr;}}

/* v6 alignment fix: keep week groups stacked, then align week cards inside each group. */
.week-tiles{
  display:flex !important;
  flex-direction:column !important;
  gap:34px !important;
  grid-template-columns:none !important;
  width:100%;
}
.week-group{
  display:block !important;
  width:100%;
  min-width:0;
}
.week-group>h3{
  margin:0 0 14px;
}
.week-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr)) !important;
  gap:20px !important;
  align-items:stretch;
  width:100%;
}
.week-tile{
  width:100%;
  min-width:0;
  height:100%;
}
.week-tile-head{
  align-items:flex-start;
}
.week-tile-head strong{
  word-break:normal;
  overflow-wrap:break-word;
}
.week-tile-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.mini-list{
  min-width:0;
}
@media (max-width:820px){
  .week-grid{grid-template-columns:1fr !important;}
  .week-tile-grid{grid-template-columns:1fr !important;}
}


/* v10 podium sizing: make winner cards clearly sized by place (1st > 2nd > 3rd). */
.podium-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) minmax(0,.92fr);
  align-items:end;
  gap:18px;
}
.podium-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-width:0;
  transition:transform .25s ease, box-shadow .25s ease;
}
.podium-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 50px rgba(0,0,0,.28);
}
.podium-card.place-1{
  min-height:285px;
  padding:28px 22px 24px;
  box-shadow:0 22px 48px rgba(212,160,23,.22), var(--shadow);
}
.podium-card.place-2{
  min-height:245px;
  padding:24px 20px 22px;
}
.podium-card.place-3{
  min-height:210px;
  padding:21px 18px 20px;
}
.podium-card.place-1 .rank{font-size:76px;line-height:.85;}
.podium-card.place-2 .rank{font-size:64px;line-height:.88;}
.podium-card.place-3 .rank{font-size:54px;line-height:.9;}
.podium-card.place-1 h3{font-size:24px;line-height:1.08;}
.podium-card.place-2 h3{font-size:21px;line-height:1.1;}
.podium-card.place-3 h3{font-size:19px;line-height:1.12;}
.podium-card.place-1 strong{font-size:18px;}
.podium-card.place-2 strong{font-size:16px;}
.podium-card.place-3 strong{font-size:15px;}
@media (max-width:1050px){
  .podium-grid{grid-template-columns:1fr;align-items:stretch;}
  .podium-card.place-1,.podium-card.place-2,.podium-card.place-3{min-height:0;}
}

/* v11 Base AT section: July/August base values by store. Preparation weeks use July Base AT. */
.base-at-section{background:rgba(0,59,47,.82);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:26px}
.base-at-tables{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}
.base-at-country{background:rgba(255,255,255,.06);border-radius:22px;border:1px solid rgba(255,255,255,.12);padding:18px;min-width:0}
.base-at-country h3{margin:0 0 14px;text-transform:uppercase;font-size:24px}
.base-at-country .table-wrap table{min-width:680px}
.base-at-country td strong{white-space:nowrap}
.base-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;background:#fef3c7;color:#713f12;font-weight:1000}
.base-pill.august{background:#e0f2fe;color:#075985}
@media (max-width:1050px){.base-at-tables{grid-template-columns:1fr}}


/* v21: MVP per country, clearer wins/goals labels, and weekly AT column. */
.country-mvp-mini{grid-column:auto;}
.country-mvp-mini h4{display:flex;align-items:center;gap:6px;}
.current-at-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#dcfce7;color:#14532d;font-weight:1000;white-space:nowrap;}
.mvp-grid{grid-template-columns:1fr 1fr;align-items:start;}
.mvp-country-board{min-width:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:16px;}
.mvp-country-board>h3{margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em;color:var(--gold2);}
.mvp-country-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;}
@media (max-width:1050px){.mvp-grid{grid-template-columns:1fr;}.country-mvp-mini{grid-column:1/-1;}}

.mvp-country-board h3 small{display:block;margin-top:4px;font-size:12px;font-weight:600;color:var(--muted);line-height:1.35;}

/* v27 mobile leaderboard fix: turn the leaderboard table into readable mobile cards. */
@media (max-width: 760px){
  main{
    width:100%;
    padding:0 12px;
    margin:-42px auto 48px;
    overflow:hidden;
  }
  .card,.leaderboards,.mvp-section,.podium,.week-overview,.base-at-section{
    padding:18px;
    border-radius:22px;
  }
  .board-header{
    display:block;
  }
  .board-header p{
    font-size:15px;
    line-height:1.4;
    max-width:100%;
  }
  .country-board{
    padding:12px;
    border-radius:20px;
    overflow:hidden;
  }
  .country-board-head{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    align-items:start;
  }
  .country-board-head h3{
    margin-bottom:6px;
    font-size:26px;
  }
  .country-board-head small{
    display:block;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.35;
  }
  .country-board-head span{
    justify-self:start;
  }
  .country-board .table-wrap{
    margin-top:12px;
    border:0;
    border-radius:0;
    overflow:visible;
  }
  .country-board table,
  .country-board thead,
  .country-board tbody,
  .country-board tr,
  .country-board th,
  .country-board td{
    display:block;
  }
  .country-board table{
    width:100%;
    min-width:0;
    background:transparent;
  }
  .country-board thead{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
  }
  .country-board tbody{
    display:grid;
    gap:12px;
  }
  .country-board tr{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    column-gap:12px;
    background:rgba(255,255,255,.98);
    color:#10231d;
    border:1px solid #d7e2de;
    border-radius:18px;
    padding:14px;
    box-shadow:0 10px 24px rgba(0,0,0,.10);
  }
  .country-board td{
    min-width:0;
    padding:9px 0;
    border:0;
    border-bottom:1px dashed #d4dfdb;
    text-align:left;
  }
  .country-board td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    font-size:10px;
    line-height:1.2;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:1000;
    color:#60756d;
  }
  .country-board .rank-cell{
    grid-column:1;
    grid-row:1 / span 3;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding-top:4px;
    border-bottom:0;
    font-size:30px;
    line-height:1;
  }
  .country-board .rank-cell::before,
  .country-board .store-cell::before{
    display:none;
  }
  .country-board .store-cell{
    grid-column:2;
    padding-top:0;
  }
  .country-board td:not(.rank-cell):not(.store-cell){
    grid-column:2;
  }
  .country-board td:last-child{
    border-bottom:0;
    padding-bottom:0;
  }
  .country-board td strong,
  .country-board td small{
    overflow-wrap:anywhere;
  }
  .country-board .store-cell strong{
    font-size:18px;
    line-height:1.15;
  }
  .country-board .store-cell small{
    font-size:13px;
    line-height:1.25;
  }
  .country-board .base-pill,
  .country-board .current-at-pill,
  .country-board .badge{
    max-width:100%;
    white-space:normal;
    text-align:left;
  }
  .country-board .progress{
    min-width:0;
    width:100%;
    margin-top:6px;
  }
}

@media (max-width: 420px){
  main{padding:0 10px;}
  .leaderboards{padding:14px;}
  .country-board{padding:10px;}
  .country-board tr{
    grid-template-columns:36px minmax(0,1fr);
    column-gap:10px;
    padding:12px;
  }
  .country-board .rank-cell{font-size:26px;}
  .country-board .store-cell strong{font-size:17px;}
}


/* v31 results-per-week fix: keep store code/name and wins/goals separated in weekly cards. */
.mini-top-list{padding:13px 12px;}
.mini-top-list h4{font-size:14px;letter-spacing:.02em;}
.mini-standings{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.mini-top-list .mini-standings li{
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr);
  grid-template-areas:
    "rank store"
    "rank score";
  column-gap:9px;
  row-gap:3px;
  align-items:start;
  margin:0;
  padding:8px 0;
  border-bottom:1px solid rgba(0,98,65,.12);
}
.mini-top-list .mini-standings li:last-child{border-bottom:0;}
.mini-rank{
  grid-area:rank;
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(0,98,65,.12);
  color:var(--green);
  font-weight:1000;
  font-size:12px;
}
.mini-store{
  grid-area:store;
  min-width:0;
  display:block;
  line-height:1.16;
  color:#10231d;
}
.mini-store strong,
.mini-store em{
  display:inline;
  max-width:100%;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.mini-store strong{font-weight:1000;margin-right:4px;}
.mini-store em{font-style:normal;font-weight:800;overflow-wrap:anywhere;}
.mini-score{
  grid-area:score;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  max-width:100%;
  white-space:normal !important;
  text-align:left !important;
  line-height:1.15;
  padding:4px 8px;
  border-radius:999px;
  background:#fef3c7;
  color:#713f12;
  font-size:12px;
  font-weight:1000;
}
.week-tile-grid{align-items:stretch;}
.week-tile-grid .mini-list{height:auto;}
@media (min-width:1200px){
  .mini-top-list .mini-standings li{grid-template-columns:26px minmax(0,1fr);}
}
@media (max-width:540px){
  .mini-top-list .mini-standings li{grid-template-columns:22px minmax(0,1fr);column-gap:8px;}
  .mini-rank{width:22px;height:22px;font-size:11px;}
  .mini-store{font-size:14px;}
  .mini-score{font-size:11px;}
}
