:root{
  --bg:#07080c;
  --surface:#0f1118;
  --surface-2:#141823;
  --surface-3:#1b2130;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,210,0,.2);
  --text:#f7f7f8;
  --muted:#aeb4c2;
  --yellow:#ffd200;
  --yellow-soft:rgba(255,210,0,.12);
  --green:#35d07f;
  --red:#ff7e7e;
  --radius:20px;
  --radius-sm:14px;
  --shadow:0 18px 50px rgba(0,0,0,.35);
  --max:1100px;
  --narrow:720px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(circle at top,#151822 0,#0a0b10 40%,#050609 100%);color:var(--text);font-family:Inter,system-ui,sans-serif}
body{min-height:100vh}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 28px),var(--max));margin:0 auto}
.narrow-shell{max-width:var(--narrow)}
main{padding:0 0 64px}
.section{padding:20px 0}
.muted{color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--yellow-soft);color:var(--yellow);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;border-radius:999px;min-height:48px;padding:12px 18px;font-weight:800;cursor:pointer;transition:.18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--yellow);color:#111}
.btn-secondary{background:rgba(255,255,255,.03);color:#fff;border:1px solid var(--line)}
.btn-danger{background:#2a1111;color:#ffb3b3;border:1px solid rgba(255,126,126,.25)}
.site-header{position:sticky;top:0;z-index:40;background:rgba(7,8,12,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.05)}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;position:relative}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{width:42px;height:42px;border-radius:12px;overflow:hidden;flex:0 0 auto;border:1px solid rgba(255,255,255,.08);background:#111}
.brand-title{font-size:19px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-toggle{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#10131b;border:1px solid var(--line);padding:0;flex:0 0 auto}
.menu-toggle span{display:block;width:18px;height:2px;background:#fff;border-radius:999px;transition:.2s ease}
.menu-toggle span+span{margin-top:4px}
.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-open .menu-toggle span:nth-child(2){opacity:0}
.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-drawer{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;gap:14px;padding:16px;border-bottom-left-radius:22px;border-bottom-right-radius:22px;background:#0b0d13;border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow)}
.menu-open .nav-drawer{display:flex}
.nav-list{display:grid;gap:8px}
.nav-link{display:flex;align-items:center;padding:12px 14px;border-radius:14px;background:#11141c;border:1px solid rgba(255,255,255,.05);font-weight:700}
.nav-link.active{background:var(--yellow-soft);color:var(--yellow);border-color:var(--line-strong)}
.nav-actions{display:grid;gap:10px}
.user-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#11141c;border:1px solid var(--line);font-weight:700}
.dot{width:10px;height:10px;border-radius:50%;background:var(--yellow)}
.dot--good{background:var(--green)}
.dot--warn{background:var(--yellow)}
.hero{position:relative;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:#111;min-height:420px;box-shadow:var(--shadow)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.82)),linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25))}
.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:420px;padding:28px 24px 24px;gap:16px;max-width:860px}
.hero-content h1{margin:0;font-size:clamp(32px,4.4vw,64px);line-height:1.02;white-space:nowrap;max-width:100%}
.hero-content p{margin:0;color:#e6e7ec;line-height:1.55}
.page-actions{display:flex;flex-wrap:wrap;gap:10px}
.home-grid,.dashboard-stack,.admin-stack{display:grid;gap:16px}
.card{background:linear-gradient(180deg,#11141c,#0c0f16);border:1px solid rgba(255,255,255,.06);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.card--highlight{background:linear-gradient(180deg,#16160f,#0c0f16);border-color:var(--line-strong)}
.page-title{display:grid;gap:8px;margin-bottom:16px}
.page-title h1{margin:0;font-size:30px;line-height:1.06}
.page-title p{margin:0}
.page-title--compact h1{font-size:24px}
.steps-list,.points-list,.mini-leaderboard,.list,.admin-list{display:grid;gap:12px}
.step-item,.points-item,.mini-rank,.list-row,.standing-row,.top-card,.stat-box,.admin-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;background:#11141c;border:1px solid rgba(255,255,255,.05)}
.step-item{align-items:flex-start;justify-content:flex-start}
.step-no{width:32px;height:32px;border-radius:999px;background:var(--yellow-soft);color:var(--yellow);display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.countdown-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.count-pill{padding:14px;border-radius:16px;background:#0d1017;border:1px solid rgba(255,255,255,.05);text-align:center}
.count-pill strong{display:block;font-size:28px;color:var(--yellow)}
.top-three{display:grid;gap:12px;margin-bottom:16px}
.top-card{background:linear-gradient(180deg,#1a160c,#12141c);border-color:var(--line-strong)}
.standings-card{padding:10px}
.standing-row{background:transparent;border:none;border-radius:14px;padding:14px 10px;border-bottom:1px solid rgba(255,255,255,.05)}
.standing-row:last-child{border-bottom:none}
.standing-rank{width:38px;height:38px;border-radius:12px;background:#171b27;display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stat-box{display:grid;justify-content:flex-start}
.stat-box strong{font-size:30px;color:var(--yellow)}
.progress-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.progress-bar{height:12px;border-radius:999px;background:#181d29;border:1px solid rgba(255,255,255,.05);overflow:hidden;margin-bottom:12px}
.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),#ffb703);border-radius:inherit}
.notice{padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.05);background:#10131b}
.notice.good{background:rgba(53,208,127,.08);border-color:rgba(53,208,127,.2);color:#bff1d6}
.notice.warn{background:rgba(255,210,0,.08);border-color:rgba(255,210,0,.2);color:#ffe695}
.notice-card code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.prediction-groups{display:grid;gap:18px;margin-top:14px}
.day-group{display:grid;gap:10px}
.day-group-title{margin:0;font-size:20px}
.day-group-list{display:grid;gap:10px}
.prediction-card{display:grid;gap:12px;padding:14px 16px;border-radius:22px;background:linear-gradient(180deg,#11141c,#0d1017);border:1px solid rgba(255,255,255,.06)}
.prediction-main{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px}
.prediction-time{font-size:22px;font-weight:800;color:#d8dbe3}
.prediction-teams{display:grid;gap:10px;min-width:0}
.team-line{display:flex;align-items:center;gap:10px;min-width:0}
.team-flag{width:30px;height:22px;border-radius:6px;overflow:hidden;background:#161a24;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;flex:0 0 auto;font-size:10px;font-weight:900;color:#fff}
.team-flag img{width:100%;height:100%;object-fit:cover}
.team-name{font-weight:800;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.score-pair{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:16px;background:#171b26;border:1px solid rgba(255,210,0,.14)}
.score-input{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#11141c;color:#fff;text-align:center;font-size:22px;font-weight:900}
.score-dash{color:#7f8798;font-size:20px;font-weight:900}
.prediction-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}
.status-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#11141c;border:1px solid rgba(255,255,255,.06);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.status-pill--saved{color:#bff1d6;border-color:rgba(53,208,127,.22);background:rgba(53,208,127,.08)}
.status-pill--locked{color:#ffd699;border-color:rgba(255,210,0,.2);background:rgba(255,210,0,.08)}
.is-locked .score-pair{opacity:.72}
.bonus-card,.activation-card,.auth-card{display:grid;gap:14px}
.field{display:grid;gap:8px}
.field label{font-size:14px;font-weight:700}
.field input,.field textarea,.field select{width:100%;min-height:50px;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#11141c;color:#fff}
.empty-state{padding:20px;color:var(--muted);text-align:center}
.admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.admin-score{width:60px}
.auth-shell{max-width:520px;margin:0 auto}
.footer{padding:24px 0 40px;border-top:1px solid rgba(255,255,255,.05)}
.footer-bar{display:grid;gap:12px}
.footer-links{display:flex;flex-wrap:wrap;gap:14px;color:#d2d5de}
.toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%) translateY(10px);background:#12151d;border:1px solid rgba(255,255,255,.08);padding:12px 16px;border-radius:999px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.18s ease;z-index:100}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.home-layout{display:grid;gap:16px}
.home-main,.home-side{display:grid;gap:16px}
.home-card{padding:20px}
.hero-content--wide{max-width:960px}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.hero-stat{padding:12px 14px;border-radius:18px;background:rgba(9,10,16,.64);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px)}
.hero-stat strong{display:block;font-size:22px;color:var(--yellow)}
.hero-stat span{display:block;color:#d9dce5;font-size:13px;margin-top:4px}
.updates-strip,.faq-mini-list,.faq-grid{display:grid;gap:12px}
.faq-mini-item p,.updates-strip p{margin:6px 0 0}
.faq-item h2{margin:0 0 10px;font-size:20px;line-height:1.2}
.faq-item p{margin:0;line-height:1.6}
.faq-contact-card{display:grid;gap:12px}
.notice.good,.notice.warn{margin-top:12px}
.list-row{align-items:flex-start}
@media (max-width:759px){
  .hero{min-height:380px}
  .hero-content{min-height:380px;padding:22px 20px 20px}
  .hero-content h1{font-size:32px}
  .page-actions .btn{flex:1 1 100%}
}
@media (min-width:760px){
  .nav-shell{padding:16px 0;gap:18px}
  .menu-toggle{display:none}
  .nav-drawer{position:static;display:flex !important;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;padding:0;border:none;background:transparent;box-shadow:none}
  .nav-list{display:flex;flex-wrap:wrap;gap:8px}
  .nav-actions{display:flex;align-items:center}
  .home-grid{grid-template-columns:1.1fr .9fr}
  .home-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start}
  .hero-content h1{font-size:54px}
  .countdown-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .top-three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .prediction-main{grid-template-columns:72px minmax(0,1fr) auto}
  .prediction-card{padding:16px 18px}
}
@media (min-width:980px){
  .container{width:min(calc(100% - 40px),var(--max))}
  .narrow-shell{max-width:820px}
  .home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-content--wide{max-width:640px}
  .hero{min-height:500px}
  .hero-content{min-height:500px;padding-top:34px}
}


/* --- polish update --- */
.home-shell{display:grid;gap:18px}
.section-hero--clean{padding-top:14px}
.home-hero--split{min-height:360px}
.home-hero--split img{object-position:center center}
.home-hero-copy .page-actions{align-items:center}
.home-hero-copy{max-width:960px}
.home-grid-clean{display:grid;gap:16px}
.home-card--main{grid-column:1/-1}
.countdown-card h2{margin:10px 0 0;font-size:24px}
.points-list--hero .points-item{align-items:flex-start;flex-direction:column;gap:4px}
.leaderboard-teaser .mini-rank{display:grid;grid-template-columns:auto 1fr auto;align-items:center}
.matches-shell{max-width:760px}
.notice--compact{padding:12px 14px;font-size:14px}
.prediction-groups--compact{gap:14px}
.day-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.day-group-count{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.prediction-card{padding:12px 14px;border-radius:18px;gap:10px}
.prediction-main{grid-template-columns:56px minmax(0,1fr) 104px;gap:10px;align-items:center}
.prediction-time-wrap{display:grid;gap:2px;align-content:start}
.prediction-time{font-size:18px;line-height:1;font-weight:900;color:#eef0f5}
.prediction-date{font-size:11px;line-height:1.2}
.prediction-teams{gap:8px}
.team-line{gap:8px}
.team-flag{width:26px;height:18px;border-radius:5px}
.team-name{font-size:15px;line-height:1.15}
.score-pair{gap:6px;padding:6px 8px;border-radius:14px;justify-self:end}
.score-input{width:36px;height:36px;font-size:18px;border-radius:10px}
.score-dash{font-size:16px}
.prediction-meta{padding-top:6px}
.prediction-meta--rich{display:grid;grid-template-columns:auto 1fr;align-items:center}
.result-summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.meta-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#121723;border:1px solid rgba(255,255,255,.06);font-size:12px;font-weight:700;color:#dce1ea}
.meta-chip--points{background:rgba(255,210,0,.1);border-color:rgba(255,210,0,.2);color:#ffe27a}
.meta-note{font-size:12px;text-align:right}
.faq-grid{grid-template-columns:1fr}

@media (max-width: 540px){
  .container{width:min(calc(100% - 20px),var(--max))}
  .site-header{position:sticky}
  .brand-title{font-size:16px}
  .hero{min-height:340px;border-radius:22px}
  .home-hero--split img{object-position:center center}
  .hero-content{min-height:340px;padding:22px 18px 18px;gap:12px;justify-content:center;align-items:center;text-align:center;max-width:none;width:100%}
  .hero-content h1{font-size:28px;line-height:1.06;white-space:normal;max-width:12ch;margin-inline:auto}
  .hero-content p{font-size:14px;line-height:1.45;max-width:30ch;margin-inline:auto}
  .hero-content .badge{margin-inline:auto}
  .hero-content .page-actions{width:100%;justify-content:center}
  .hero-content .btn{min-width:0}
  .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-stat{padding:10px 10px;border-radius:14px}
  .hero-stat strong{font-size:18px}
  .home-grid-clean{gap:14px}
  .card{padding:16px;border-radius:20px}
  .page-title{gap:6px;margin-bottom:12px}
  .page-title h1{font-size:24px}
  .page-title--compact h1{font-size:20px}
  .page-title p{font-size:14px;line-height:1.45}
  .steps-list,.points-list,.mini-leaderboard,.faq-grid{gap:10px}
  .step-item,.points-item,.mini-rank{padding:12px 14px;border-radius:16px}
  .countdown-row--home{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .count-pill{padding:10px 8px;border-radius:14px}
  .count-pill strong{font-size:20px}
  .matches-shell{max-width:460px}
  .prediction-card{padding:10px 12px;border-radius:16px}
  .prediction-main{grid-template-columns:48px minmax(0,1fr) 92px;gap:8px}
  .prediction-time{font-size:16px}
  .prediction-date{font-size:10px}
  .team-name{font-size:14px}
  .team-flag{width:24px;height:17px}
  .score-pair{padding:5px 6px;gap:5px}
  .score-input{width:32px;height:32px;font-size:16px}
  .prediction-meta--rich{grid-template-columns:1fr;gap:8px}
  .result-summary{justify-content:flex-start}
  .meta-note{text-align:left}
  .nav-drawer{padding:14px}
  .btn{min-height:44px;padding:11px 16px}
}

@media (min-width: 760px){
  .home-grid-clean{grid-template-columns:1.25fr .95fr}
  .home-card--main{grid-column:1/2}
  .countdown-card{grid-column:1/2}
  .leaderboard-teaser{grid-column:2/3;grid-row:1/span 2}
  .points-list--hero{grid-template-columns:repeat(3,minmax(0,1fr))}
  .points-list--hero .points-item{height:100%}
  .faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width: 980px){
  .matches-shell{max-width:820px}
  .prediction-main{grid-template-columns:72px minmax(0,1fr) 118px}
  .prediction-time{font-size:20px}
  .team-name{font-size:16px}
}


/* standings refresh */
.standings-shell{display:grid;gap:14px}
.standings-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
.summary-pill{display:grid;gap:4px;padding:12px 14px;border-radius:18px;background:#11141c;border:1px solid rgba(255,255,255,.05)}
.summary-pill strong{font-size:24px;line-height:1;color:var(--yellow)}
.podium-grid{display:grid;gap:12px}
.podium-card{display:grid;gap:6px;padding:16px 18px;border-radius:22px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#121722,#0d1017)}
.podium-card strong{font-size:18px;line-height:1.15}
.podium-card em{font-style:normal;color:var(--yellow);font-weight:800}
.podium-label{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.podium-card--1{background:linear-gradient(180deg,#251f06,#11141c);border-color:rgba(255,210,0,.25)}
.podium-card--1 strong{font-size:20px}
.podium-card--2,.podium-card--3{background:linear-gradient(180deg,#151923,#0d1017)}
.standings-card--clean{padding:8px 10px;border-radius:24px}
.standings-head{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;padding:10px 8px 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.standing-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 8px;background:transparent;border:none;border-radius:16px;border-bottom:1px solid rgba(255,255,255,.05)}
.standing-row:last-child{border-bottom:none}
.standing-main{display:grid;gap:3px;min-width:0}
.standing-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.standing-points{font-weight:900;color:#fff;background:#141925;border:1px solid rgba(255,255,255,.05);padding:10px 12px;border-radius:14px}
.standing-row--me{background:rgba(255,210,0,.06);border-radius:18px;border:1px solid rgba(255,210,0,.12);margin:4px 0}
.standing-row--me .standing-rank{background:var(--yellow-soft);color:var(--yellow)}
.pager--clean{margin-top:4px}

@media (max-width:540px){
  .standings-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px;gap:8px}
  .summary-pill{padding:10px 10px;border-radius:16px}
  .summary-pill strong{font-size:18px}
  .podium-grid{gap:10px}
  .podium-card{padding:14px 14px;border-radius:18px}
  .standings-head{grid-template-columns:48px minmax(0,1fr) auto;gap:10px;padding:8px 6px 6px;font-size:11px}
  .standing-row{grid-template-columns:48px minmax(0,1fr) auto;gap:10px;padding:12px 6px}
  .standing-rank{width:34px;height:34px;font-size:14px;border-radius:10px}
  .standing-main strong{font-size:15px}
  .standing-main .muted{font-size:12px}
  .standing-points{padding:8px 10px;border-radius:12px;font-size:13px}
  .pager--clean{flex-wrap:wrap}
  .pager--clean .btn{flex:1 1 145px}
}

@media (min-width:760px){
  .podium-grid{grid-template-columns:1fr 1.08fr 1fr;align-items:end}
  .podium-card--1{min-height:142px}
  .podium-card--2,.podium-card--3{min-height:124px}
}


/* --- groups page --- */
.groups-shell{max-width:1100px}
.groups-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.groups-grid{display:grid;gap:16px}
.group-card{padding:18px;display:grid;gap:14px}
.group-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.group-card__head h2{margin:10px 0 0;font-size:22px;line-height:1.1}
.group-table-wrap{overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#0d1017}
.group-table{width:100%;border-collapse:collapse;min-width:640px}
.group-table th,.group-table td{padding:12px 10px;text-align:center;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px}
.group-table th:nth-child(2),.group-table td:nth-child(2){text-align:left}
.group-table thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#121722;position:sticky;top:0;z-index:1}
.group-team{display:flex;align-items:center;gap:10px;font-weight:800;min-width:180px}
.group-pos{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#161d2a;font-weight:900}
.group-row--qualified .group-pos{background:rgba(53,208,127,.14);color:#9bf0c3}
.group-row--playoff .group-pos{background:rgba(255,210,0,.14);color:#ffe27a}
.group-row--out .group-pos{background:#161d2a;color:#c5cad5}
.group-card__note{margin:0;font-size:13px}
@media (min-width:760px){
  .groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:540px){
  .groups-shell{max-width:480px}
  .groups-summary{grid-template-columns:1fr;gap:10px}
  .group-card{padding:14px;border-radius:18px}
  .group-card__head{align-items:flex-start;flex-direction:column}
  .group-card__head h2{font-size:18px;margin-top:8px}
  .group-table{min-width:560px}
  .group-table th,.group-table td{padding:10px 8px;font-size:13px}
  .group-team{min-width:160px;gap:8px}
}

/* --- knockout + qualifiers --- */
.btn-sm{min-height:40px;padding:9px 14px;font-size:14px}
.team-flag--pending{background:#1b2130;color:#8891a4;border-style:dashed}
.is-pending .score-pair{opacity:.45}
.qualified-card,.best-third-card{display:grid;gap:16px}
.qualified-grid{display:grid;gap:14px}
.qualified-block{display:grid;gap:10px}
.qualified-block h3,.best-third-card h3{margin:0;font-size:18px}
.qualified-list,.best-third-list,.knockout-list{display:grid;gap:10px}
.qualified-chip,.best-third-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#11141c;border:1px solid rgba(255,255,255,.05)}
.qualified-chip span,.best-third-row .muted{font-size:14px}
.best-third-row{justify-content:space-between;flex-wrap:wrap}
.best-third-rank{width:34px;height:34px;border-radius:12px;background:rgba(255,210,0,.12);color:var(--yellow);display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.knockout-grid{display:grid;gap:16px}
.knockout-column{display:grid;gap:10px}
.knockout-card{display:grid;gap:12px;padding:16px;border-radius:22px}
.knockout-card--pending{opacity:.9}
.knockout-card__meta{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.knockout-team{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;min-width:0}
.knockout-team strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.knockout-card__actions{display:grid;grid-template-columns:1fr;gap:8px}
.advance-btn{min-height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#11141c;color:#fff;font-weight:800;padding:10px 12px;text-align:left;cursor:pointer}
.advance-btn.is-active{background:rgba(255,210,0,.12);border-color:rgba(255,210,0,.22);color:var(--yellow)}
.advance-btn:disabled{opacity:.5;cursor:not-allowed}
.knockout-card__note{font-size:13px;line-height:1.45}
.knockout-preview{display:grid;gap:12px;margin-top:18px}
.best-third-card--tight{margin-bottom:16px}
@media (min-width:760px){
  .qualified-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .knockout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .knockout-card__actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1100px){
  .knockout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:540px){
  .qualified-chip,.best-third-row{padding:10px 12px;border-radius:14px}
  .knockout-card{padding:14px;border-radius:18px}
  .knockout-team{font-size:15px}
  .advance-btn{min-height:42px;padding:10px}
}


.group-card__head--compact h2{font-size:18px;margin-top:8px}
.best-third-card--compact{gap:12px;margin-bottom:16px}
.best-third-compact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.best-third-chip{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#11141c;border:1px solid rgba(255,255,255,.05);min-width:0}
.best-third-chip__name{font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.best-third-chip strong{margin-left:auto;color:#fff;font-size:14px}
.advance-picker{display:grid;gap:8px;width:100%}
.advance-picker__label{font-size:12px;font-weight:700;color:#d8dde7}
.advance-picker__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.advance-option{min-height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#11141c;color:#fff;font-weight:700;padding:8px 10px;text-align:center;cursor:pointer;font-size:13px}
.advance-option.is-active{background:rgba(255,210,0,.12);border-color:rgba(255,210,0,.24);color:var(--yellow)}
.advance-option:disabled{opacity:.5;cursor:not-allowed}
.advance-picker__note{font-size:12px;line-height:1.4}
@media (max-width:540px){
  .best-third-compact-list{grid-template-columns:1fr 1fr}
  .best-third-chip{padding:8px 10px;gap:6px}
  .best-third-rank{width:28px;height:28px;border-radius:10px;font-size:12px}
  .best-third-chip__name{font-size:13px}
  .best-third-chip strong,.best-third-chip .muted{font-size:12px}
  .advance-picker__buttons{gap:6px}
  .advance-option{min-height:36px;padding:8px 6px;font-size:12px}
}


/* --- merged bonus + team modal --- */
.bonus-inline-section{display:grid;gap:10px;margin-top:18px}
.bonus-inline-card{display:grid;gap:14px}
.bonus-inline-intro{margin:0}
.bonus-inline-grid{display:grid;gap:12px}
.group-team-btn{appearance:none;border:none;padding:0;background:transparent;color:inherit;cursor:pointer;text-align:left;width:100%}
.group-team-btn span:last-child{text-decoration:underline;text-decoration-color:transparent;transition:.18s ease}
.group-team-btn:hover span:last-child,.group-team-btn:focus-visible span:last-child{text-decoration-color:rgba(255,210,0,.5)}
.group-team-btn:focus-visible{outline:2px solid rgba(255,210,0,.35);outline-offset:4px;border-radius:10px}
.team-modal{position:fixed;inset:0;display:none;z-index:120}
.team-modal.show{display:block}
.team-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.team-modal__panel{position:relative;width:min(calc(100% - 24px),720px);max-height:min(84vh,860px);overflow:auto;margin:40px auto;background:linear-gradient(180deg,#11141c,#0c0f16);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.team-modal__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#121723;color:#fff;font-size:22px;cursor:pointer}
.team-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:44px;margin-bottom:14px}
.group-team--modal{font-size:20px;font-weight:800}
.team-modal__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.stat-box--mini{padding:12px 14px;border-radius:16px}
.stat-box--mini strong{font-size:20px}
.team-modal__program h3{margin:0 0 12px;font-size:18px}
.team-program-list{display:grid;gap:10px}
.team-program-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:#11141c;border:1px solid rgba(255,255,255,.05)}
.team-program-row strong{display:block}
.faq-intro-card p{margin:0;line-height:1.7}
@media (min-width:760px){.bonus-inline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:540px){
  .bonus-inline-section{margin-top:16px}
  .bonus-inline-card{padding:14px;border-radius:18px}
  .team-modal__panel{margin:16px auto;width:min(calc(100% - 16px),720px);padding:16px;border-radius:20px}
  .team-modal__head{align-items:flex-start;flex-direction:column;padding-right:0}
  .team-modal__close{top:10px;right:10px;width:36px;height:36px;font-size:20px}
  .group-team--modal{font-size:18px}
  .team-modal__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .team-program-row{padding:10px 12px;gap:10px;flex-direction:column;align-items:flex-start}
}


/* --- app-like predictions refresh --- */
.section--matches-app{padding-top:14px}
.matches-shell{max-width:540px;display:grid;gap:16px}
.predictions-header-app{display:grid;gap:12px}
.predictions-header-copy h1{margin:8px 0 0;font-size:24px;line-height:1.04}
.predictions-header-copy p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.predictions-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:sticky;top:72px;z-index:12}
.toolbar-chip{display:grid;gap:4px;padding:12px 10px;border-radius:16px;background:rgba(14,17,25,.92);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.toolbar-chip strong{font-size:18px;color:var(--yellow);line-height:1}
.toolbar-chip span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.stage-panel{display:grid;gap:12px;padding:14px;border-radius:24px;background:linear-gradient(180deg,rgba(17,20,28,.96),rgba(10,12,18,.96));border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow)}
.stage-panel__head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:2px}
.stage-panel__head h2{margin:0;font-size:18px;line-height:1.1}
.stage-panel__head p{margin:4px 0 0;font-size:13px;color:var(--muted)}
.stage-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#e7ebf3;white-space:nowrap}
.day-group--panel{gap:8px}
.day-group--panel + .day-group--panel{padding-top:2px}
.day-group-title{font-size:16px}
.prediction-card{background:linear-gradient(180deg,#121722,#0f131d);border:1px solid rgba(255,255,255,.05)}
.prediction-card.is-pending{opacity:.86}
.prediction-main{grid-template-columns:44px minmax(0,1fr) 90px;gap:8px}
.prediction-time-wrap{padding-top:2px}
.prediction-time{font-size:15px}
.prediction-date{font-size:10px}
.team-line{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center}
.team-flag{width:24px;height:17px;border-radius:4px}
.team-name{font-size:14px;font-weight:800}
.score-pair{width:90px;justify-content:center}
.score-input{width:30px;height:30px;font-size:15px}
.prediction-meta--rich{grid-template-columns:1fr;gap:8px}
.status-pill{justify-self:start}
.result-summary{justify-content:flex-start}
.meta-chip{font-size:11px;padding:5px 9px}
.advance-picker{display:grid;gap:8px}
.advance-picker__label{font-size:12px;font-weight:800;color:var(--muted)}
.advance-picker__buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.advance-option{min-height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#141926;color:#fff;font-weight:800;padding:0 10px}
.advance-option.is-active{background:rgba(255,210,0,.12);border-color:rgba(255,210,0,.28);color:var(--yellow)}
.bonus-inline-section{margin-top:0}
.bonus-inline-card{padding:16px;border-radius:22px}
.bonus-inline-grid{gap:10px}
.bonus-inline-field input,.bonus-inline-field select,.bonus-inline-field textarea{min-height:46px;padding:12px 14px;border-radius:14px}

@media (min-width: 760px){
  .matches-shell{max-width:860px}
  .predictions-header-app{grid-template-columns:minmax(0,1fr) 320px;align-items:end}
  .predictions-toolbar{top:88px}
  .predictions-header-copy h1{font-size:30px}
  .stage-panel{padding:18px}
  .prediction-main{grid-template-columns:56px minmax(0,1fr) 104px}
  .prediction-time{font-size:17px}
  .team-name{font-size:15px}
  .score-pair{width:104px}
  .score-input{width:34px;height:34px;font-size:17px}
}

@media (min-width: 1024px){
  .matches-shell{max-width:980px}
  .predictions-header-app{grid-template-columns:minmax(0,1fr) 360px}
  .predictions-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* --- ops & mobile refinement update --- */
.status-banner-section{padding:10px 0 0}
.status-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:20px;background:linear-gradient(180deg,#121722,#0d1017);border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow)}
.status-banner strong{display:block;margin:8px 0 4px;font-size:18px;line-height:1.1}
.status-banner p{margin:0;max-width:700px}
.quick-jumps{display:flex;gap:8px;overflow:auto;padding-bottom:2px;scrollbar-width:none}
.quick-jumps::-webkit-scrollbar{display:none}
.jump-chip{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#11141c;border:1px solid rgba(255,255,255,.06);font-size:13px;font-weight:800;color:#eef1f8}
.mobile-tabbar{position:fixed;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;border-radius:20px;background:rgba(10,12,18,.94);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(0,0,0,.35);z-index:60}
.mobile-tab{display:grid;place-items:center;min-height:44px;padding:8px 6px;border-radius:14px;font-size:12px;font-weight:800;color:#cfd5e2}
.mobile-tab.active{background:rgba(255,210,0,.12);color:var(--yellow)}
.standings-info-card{padding:14px 16px}

.rank-shift{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.02em;white-space:nowrap}
.rank-shift--up{background:rgba(53,208,127,.14);color:#9bf0c3}
.rank-shift--down{background:rgba(255,126,126,.12);color:#ffb3b3}
.rank-shift--same{background:rgba(255,255,255,.06);color:var(--muted)}
.rank-shift--new{background:rgba(255,210,0,.12);color:#ffe189}
.podium-card__top,.standing-main__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.standings-chase-card,.dashboard-chase-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:22px;background:linear-gradient(180deg,#161d29,#0f141d);border:1px solid rgba(255,210,0,.12)}
.standings-chase-card strong,.dashboard-chase-card strong{display:block;font-size:18px;margin-bottom:4px}
.list-row--detail{align-items:flex-start}
.list-row--detail .muted + .muted{margin-top:4px;display:block}
.standings-info-grid{display:grid;gap:10px}
.standings-info-grid strong{display:block;margin-bottom:4px}
.standings-head--wide,.standing-row--wide{grid-template-columns:56px minmax(0,1fr) 64px 64px auto}
.standing-mini{display:inline-grid;place-items:center;padding:10px 8px;border-radius:12px;background:#121722;border:1px solid rgba(255,255,255,.05);font-weight:800}
.admin-summary-grid,.admin-filters,.admin-bonus-grid{display:grid;gap:10px}
.admin-rounds{display:grid;gap:14px}
.admin-round-block{display:grid;gap:12px}
.admin-match-main{display:grid;gap:4px;min-width:0}

.admin-advance{display:grid;gap:8px;margin-top:8px}
.admin-advance-buttons{display:flex;flex-wrap:wrap;gap:8px}
.admin-advance-btn.is-active{background:rgba(255,210,0,.12);border-color:rgba(255,210,0,.4);color:#ffe189}
.participant-list{display:grid;gap:10px}
.participant-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:#11141c;border:1px solid rgba(255,255,255,.05)}
.participant-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.meta-chip--muted{opacity:.72}
.group-team-status{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-top:2px}
.group-qualifier-strip{display:flex;gap:8px;flex-wrap:wrap}
.qualifier-label{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.06);background:#11141c}
.qualifier-label--direct{color:#aef0cc;border-color:rgba(53,208,127,.2);background:rgba(53,208,127,.08)}
.qualifier-label--third{color:#ffe189;border-color:rgba(255,210,0,.22);background:rgba(255,210,0,.08)}
.team-modal__status-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.team-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.form-pill{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;font-size:11px}
.form-pill--win{background:rgba(53,208,127,.14);color:#aef0cc}
.form-pill--draw{background:rgba(255,210,0,.12);color:#ffe27a}
.form-pill--loss{background:rgba(255,126,126,.12);color:#ffb3b3}

@media (max-width:759px){
  main{padding-bottom:96px}
  .footer{padding-bottom:92px}
  .status-banner{flex-direction:column;align-items:flex-start}
  .status-banner .btn{width:100%}
  .admin-filters,.admin-bonus-grid{grid-template-columns:1fr}
  .participant-row{flex-direction:column}
  .participant-meta{justify-content:flex-start}
  .standings-head--wide,.standing-row--wide{grid-template-columns:42px minmax(0,1fr) 48px 48px auto;gap:8px}
  .standing-mini{padding:8px 6px;border-radius:10px;font-size:12px}
  .standing-points{padding:8px 10px}
  .rank-shift{min-height:22px;padding:3px 7px;font-size:10px}
  .podium-card__top,.standing-main__top{align-items:flex-start}
  .standings-chase-card,.dashboard-chase-card{flex-direction:column;align-items:flex-start;padding:14px 14px;border-radius:18px}
  .team-modal__status-row{align-items:flex-start}
}

@media (min-width:760px){
  .mobile-tabbar{display:none}
  .standings-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-filters{grid-template-columns:1.4fr .8fr .8fr}
  .admin-bonus-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
}
