/* ==========================================================================
   propickai.css — English redesign design system (dark + lime).
   Loaded AFTER site.css on propickai.com only → overrides the RU theme.
   Tokens from the PropickAI logo (#90e010). Landing classes are ppk-*.
   ========================================================================== */
:root{
  --ppk-bg:#070a06; --ppk-bg2:#0b0f0a; --ppk-surface:#0e130c; --ppk-surface2:#121809;
  --ppk-border:rgba(144,224,16,.16); --ppk-border2:rgba(255,255,255,.07);
  --ppk-lime:#90e010; --ppk-lime-bright:#a9f51a; --ppk-lime-deep:#6fae0c;
  --ppk-ink:#eef3e6; --ppk-muted:#93a08c; --ppk-muted2:#6f7c69;
  --ppk-maxw:1200px;
  --ppk-f-display:"Space Grotesk","Inter",system-ui,sans-serif;
  --ppk-f-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* ---- base-theme DARK flip: remap site.css light tokens → dark + lime, so every
   inner page (matches, cards, ai-agent, pricing...) goes dark consistently ---- */
:root{
  --bg:#070a06; --bg-2:#0c110a;
  --text:#eef3e6; --muted:#93a08c;
  --accent:#90e010; --accent-2:#7fbf12;
  --paper:rgba(16,20,12,.88); --panel:rgba(13,18,11,.95);
  --line:rgba(144,224,16,.14);
  --shadow:0 24px 60px rgba(0,0,0,.5);
}

/* ---- base override ---- */
body{
  background:var(--ppk-bg) !important;color:var(--ppk-ink);
  font-family:var(--ppk-f-body);
  background-image:radial-gradient(1100px 600px at 78% -8%,rgba(144,224,16,.10),transparent 60%),radial-gradient(760px 520px at 6% 3%,rgba(144,224,16,.05),transparent 55%) !important;
  background-attachment:fixed;
}
.ppk-wrap{max-width:var(--ppk-maxw);margin:0 auto;padding:0 24px}
.ppk-lime{color:var(--ppk-lime)}
.ppk-eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ppk-lime);font-weight:700}
.ppk-num{font-variant-numeric:tabular-nums}

/* ---- NAV restyle (existing .site-header markup) ---- */
.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(7,10,6,.92),rgba(7,10,6,.72)) !important;
  backdrop-filter:blur(14px);border-bottom:1px solid var(--ppk-border2) !important;box-shadow:none !important}
.site-header__bar{max-width:var(--ppk-maxw);margin:0 auto;padding:0 24px;height:66px;display:flex;align-items:center;gap:28px}
.site-brand{display:flex;align-items:center;gap:11px;font-family:var(--ppk-f-display);font-weight:700;font-size:1.12rem;color:var(--ppk-ink) !important;letter-spacing:-.01em}
.site-brand__avatar{width:34px !important;height:34px !important;border-radius:9px !important;box-shadow:0 0 0 1px var(--ppk-border),0 6px 18px rgba(144,224,16,.18)}
.site-nav{display:flex;gap:26px;margin-left:8px}
.site-nav a{color:var(--ppk-muted) !important;font-size:.92rem;font-weight:500;transition:color .15s;border:0 !important;background:none !important;padding:0 !important}
.site-nav a:hover,.site-nav a.is-active{color:var(--ppk-lime) !important}
.site-header__actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.site-header .button,.ppk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:11px;font-weight:700;font-size:.92rem;border:1px solid transparent;transition:transform .12s,box-shadow .2s,background .2s;cursor:pointer;font-family:var(--ppk-f-body)}
.site-header .button-primary,.ppk-btn-primary{background:var(--ppk-lime) !important;color:#0a1400 !important;border:0 !important;box-shadow:0 8px 26px rgba(144,224,16,.28)}
.site-header .button-primary:hover,.ppk-btn-primary:hover{background:var(--ppk-lime-bright) !important;transform:translateY(-1px)}
.site-header .button-secondary,.ppk-btn-ghost{background:transparent !important;color:var(--ppk-ink) !important;border:1px solid var(--ppk-border) !important}
.site-header .button-secondary:hover,.ppk-btn-ghost:hover{background:rgba(144,224,16,.08) !important}

/* ==== LANDING ==== */
.ppk main,main.ppk{display:block}
.ppk h1,.ppk h2,.ppk h3{font-family:var(--ppk-f-display);font-weight:700;letter-spacing:-.02em;text-wrap:balance;margin:0}
.ppk a{text-decoration:none;color:inherit}
.ppk-btn-lg{padding:13px 22px;font-size:.98rem;border-radius:12px}

/* hero */
.ppk-hero{padding:60px 0 40px}
.ppk-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;max-width:var(--ppk-maxw);margin:0 auto;padding:0 24px}
.ppk-hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.02;margin-top:16px}
.ppk-lead{color:var(--ppk-muted);font-size:1.12rem;max-width:52ch;margin:22px 0 28px}
.ppk-cta{display:flex;gap:14px;flex-wrap:wrap}
.ppk-trust{display:flex;gap:22px;margin-top:30px;flex-wrap:wrap}
.ppk-trust div{display:flex;flex-direction:column}
.ppk-trust strong{font-family:var(--ppk-f-display);font-size:1.5rem;color:var(--ppk-ink)}
.ppk-trust span{color:var(--ppk-muted2);font-size:.8rem}
.ppk-chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.ppk-chip{padding:6px 13px;border-radius:999px;border:1px solid var(--ppk-border2);font-size:.8rem;color:var(--ppk-muted)}
.ppk-chip.on{border-color:var(--ppk-border);color:var(--ppk-lime)}

/* hero pick card */
.ppk-pick{background:linear-gradient(165deg,var(--ppk-surface),#0a0d07);border:1px solid var(--ppk-border);border-radius:20px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.5);position:relative;overflow:hidden}
.ppk-pick::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 90% 0,rgba(144,224,16,.14),transparent 70%);pointer-events:none}
.ppk-pick-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;position:relative}
.ppk-badge{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:700;color:var(--ppk-lime);letter-spacing:.03em}
.ppk-live{font-size:.7rem;color:var(--ppk-muted);display:flex;align-items:center;gap:6px}
.ppk-dot{width:7px;height:7px;border-radius:50%;background:var(--ppk-lime);animation:ppkpulse 1.8s infinite}
@keyframes ppkpulse{0%{box-shadow:0 0 0 0 rgba(144,224,16,.5)}70%{box-shadow:0 0 0 8px rgba(144,224,16,0)}100%{box-shadow:0 0 0 0 rgba(144,224,16,0)}}
.ppk-pick-league{font-size:.78rem;color:var(--ppk-muted);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.ppk-pick-league img{width:18px;height:13px;border-radius:2px;object-fit:cover}
.ppk-teams{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.ppk-team{display:flex;flex-direction:column;align-items:center;gap:9px;flex:1;text-align:center}
.ppk-team .logo{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.2rem;background:#0c1108;border:1px solid var(--ppk-border2);overflow:hidden}
.ppk-team .logo img{width:100%;height:100%;object-fit:contain}
.ppk-team b{font-size:.92rem}
.ppk-vs{font-family:var(--ppk-f-display);color:var(--ppk-muted2);font-size:.82rem;font-weight:700}
.ppk-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.ppk-metric{background:#0a0e07;border:1px solid var(--ppk-border2);border-radius:13px;padding:12px;text-align:center}
.ppk-metric span{display:block;font-size:.66rem;color:var(--ppk-muted2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.ppk-metric strong{font-family:var(--ppk-f-display);font-size:1.35rem}
.ppk-metric.hi strong{color:var(--ppk-lime)}
.ppk-winbar{height:8px;border-radius:999px;background:#0a0e07;border:1px solid var(--ppk-border2);overflow:hidden;margin-bottom:6px}
.ppk-winbar i{display:block;height:100%;background:linear-gradient(90deg,var(--ppk-lime-deep),var(--ppk-lime))}
.ppk-pick-foot{display:flex;justify-content:space-between;font-size:.74rem;color:var(--ppk-muted2)}
.ppk-consensus{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:.78rem;color:var(--ppk-muted)}
.ppk-consensus b{color:var(--ppk-ink)}
.ppk-ai-dots{display:flex;gap:4px}
.ppk-ai-dots i{width:16px;height:16px;border-radius:5px;background:#0c1108;border:1px solid var(--ppk-border);display:grid;place-items:center;font-size:.5rem;color:var(--ppk-lime);font-weight:800;font-style:normal}

/* sections */
.ppk-sec{padding:56px 0}
.ppk-sec-head{max-width:640px;margin:0 auto 34px;padding:0 24px;max-width:calc(var(--ppk-maxw));width:100%}
.ppk-sec .ppk-wrap>.ppk-sec-head{padding:0}
.ppk-sec-head h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-top:12px}
.ppk-sec-head p{color:var(--ppk-muted);margin-top:12px}

/* match strip */
.ppk-matches{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ppk-mcard{background:var(--ppk-surface);border:1px solid var(--ppk-border2);border-radius:16px;padding:18px;transition:.18s;color:inherit;display:block}
.ppk-mcard:hover{border-color:var(--ppk-border);transform:translateY(-3px)}
.ppk-mmeta{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--ppk-muted2);margin-bottom:14px;gap:8px}
.ppk-mmeta .lg{display:flex;align-items:center;gap:6px;min-width:0}
.ppk-mmeta .lg img{width:16px;height:12px;border-radius:2px;object-fit:cover;flex:none}
.ppk-mmeta .lg span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ppk-mteams{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.ppk-mteam{display:flex;flex-direction:column;align-items:center;gap:7px;flex:1;min-width:0}
.ppk-mteam .logo{width:40px;height:40px;border-radius:50%;background:#0c1108;border:1px solid var(--ppk-border2);display:grid;place-items:center;overflow:hidden;font-weight:800}
.ppk-mteam .logo img{width:100%;height:100%;object-fit:contain}
.ppk-mteam b{font-size:.82rem;text-align:center;line-height:1.15}
.ppk-mvs{color:var(--ppk-muted2);font-size:.72rem;font-family:var(--ppk-f-display)}
.ppk-mfoot{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--ppk-border2)}
.ppk-mtag{font-size:.72rem;color:var(--ppk-muted)}
.ppk-mtag b{color:var(--ppk-lime)}
.ppk-mlink{font-size:.82rem;color:var(--ppk-lime);font-weight:600}

/* steps */
.ppk-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ppk-step{background:var(--ppk-surface);border:1px solid var(--ppk-border2);border-radius:16px;padding:22px}
.ppk-step .n{font-family:var(--ppk-f-display);font-size:.78rem;font-weight:700;color:var(--ppk-lime-deep);letter-spacing:.08em}
.ppk-step h3{font-size:1.05rem;margin:12px 0 8px}
.ppk-step p{color:var(--ppk-muted);font-size:.9rem;margin:0}

/* proof */
.ppk-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ppk-pbox{background:linear-gradient(165deg,var(--ppk-surface),#090c06);border:1px solid var(--ppk-border2);border-radius:16px;padding:24px}
.ppk-pbox strong{font-family:var(--ppk-f-display);font-size:2.2rem;color:var(--ppk-lime);display:block}
.ppk-pbox span{display:block;font-size:.9rem;color:var(--ppk-ink);margin:8px 0 6px;font-weight:600}
.ppk-pbox p{color:var(--ppk-muted);font-size:.82rem;margin:0}

/* pricing */
.ppk-plans{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;align-items:stretch;max-width:1000px;margin:0 auto}
.ppk-plan.trial{position:relative;border-color:rgba(42,171,238,.55)}
.ppk-plan-sub{font-size:.84rem;color:var(--ppk-muted);margin-top:-8px;line-height:1.45}
.ppk-plan.trial::after{content:"🎁 5 days free · no card";position:absolute;top:-11px;left:22px;background:#2aabee;color:#04121c;font-size:.66rem;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap}
.ppk-plan{background:var(--ppk-surface);border:1px solid var(--ppk-border2);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:16px}
.ppk-plan.feat{border-color:var(--ppk-lime);background:linear-gradient(180deg,rgba(144,224,16,.06),var(--ppk-surface));box-shadow:0 20px 60px rgba(144,224,16,.1);position:relative}
.ppk-plan.feat::after{content:"Most popular";position:absolute;top:-11px;left:26px;background:var(--ppk-lime);color:#0a1400;font-size:.68rem;font-weight:800;padding:4px 11px;border-radius:999px}
.ppk-plan h3{font-size:1.15rem}
.ppk-plan .price{font-family:var(--ppk-f-display);font-size:2.3rem}
.ppk-plan .price small{font-size:.85rem;color:var(--ppk-muted);font-weight:400}
.ppk-plan ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.ppk-plan li{display:flex;gap:9px;font-size:.88rem;color:var(--ppk-muted)}
.ppk-plan li::before{content:"✓";color:var(--ppk-lime);font-weight:800}
.ppk-plan .ppk-btn{margin-top:auto;width:100%}

/* telegram */
.ppk-tg{background:linear-gradient(120deg,var(--ppk-surface),#0a0f06);border:1px solid var(--ppk-border);border-radius:22px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden}
.ppk-tg::before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(144,224,16,.16),transparent 70%)}
.ppk-tg h2{font-size:1.9rem;position:relative}
.ppk-tg p{color:var(--ppk-muted);margin:10px 0 0;position:relative}

/* footer restyle — the LIGHT rectangle was site.css `.site-footer__grid`
   (background:rgba(255,255,255,.88)) + `.site-footer__disclaimer`
   (background:rgba(239,246,255,.78)); dark them here. */
.site-footer{background:transparent !important;border-top:1px solid var(--ppk-border2) !important;color:var(--ppk-muted2) !important}
.site-footer a{color:var(--ppk-muted) !important}
.site-footer a:hover{color:var(--ppk-lime) !important}
.site-footer__grid{
  background:#0d120c !important;
  border:1px solid rgba(144,224,16,.12) !important;
  border-radius:20px !important;
  box-shadow:0 18px 50px rgba(0,0,0,.45) !important;
}
.site-footer__column strong{color:var(--ppk-ink) !important;opacity:.9}
.site-footer__links a{color:var(--ppk-muted) !important;font-weight:500}
.site-footer__links a:hover{color:var(--ppk-lime) !important}
.site-footer__copy{color:var(--ppk-muted) !important}
.site-footer__disclaimer{
  background:#0a0e08 !important;
  border:1px solid rgba(255,255,255,.06) !important;
  border-radius:14px !important;
  color:var(--ppk-muted2) !important;
}
.site-footer__disclaimer p{color:var(--ppk-muted2) !important}
.site-footer__meta{color:var(--ppk-muted2) !important;border-top:1px solid var(--ppk-border2);margin-top:14px}
.site-footer__meta span{color:var(--ppk-muted2) !important}

.ppk-reveal{opacity:0;transform:translateY(16px);animation:ppkrise .7s forwards}
@keyframes ppkrise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ppk-reveal{animation:none;opacity:1;transform:none}.ppk-dot{animation:none}}

@media(max-width:900px){
  .ppk-hero-grid{grid-template-columns:1fr;gap:36px}
  .ppk-matches,.ppk-steps,.ppk-proof{grid-template-columns:1fr}
  .ppk-plans{grid-template-columns:1fr}
  .ppk-steps{grid-template-columns:1fr 1fr}
  .site-nav{display:none}
}
@media(max-width:560px){.ppk-steps{grid-template-columns:1fr}}

/* ============ PRICING PAGE (ppk-pr-*) ============ */
.ppk-pr{max-width:1120px;margin:0 auto;padding:0 24px}
.ppk-pr-promo{display:flex;align-items:center;justify-content:center;gap:10px;margin:24px auto 0;max-width:1120px;padding:12px 18px;border:1px solid var(--ppk-border);border-radius:12px;background:linear-gradient(90deg,rgba(144,224,16,.08),transparent);font-size:.92rem;color:var(--ppk-ink)}
.ppk-pr-promo b{color:var(--ppk-lime)}
.ppk-pr-hero{text-align:center;padding:46px 0 8px}
.ppk-pr-hero .pill{display:inline-flex;gap:7px;align-items:center;padding:7px 15px;border-radius:999px;border:1px solid var(--ppk-border2);color:var(--ppk-muted);font-size:.8rem;font-weight:600;margin-bottom:18px}
.ppk-pr-hero h1{font-family:var(--ppk-f-display);font-size:clamp(2rem,4vw,3rem);letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}
.ppk-pr-hero p{color:var(--ppk-muted);max-width:60ch;margin:0 auto;font-size:1.05rem}
.ppk-pr-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:34px;margin:34px auto;padding:20px 0;border-top:1px solid var(--ppk-border2);border-bottom:1px solid var(--ppk-border2);max-width:1120px}
.ppk-pr-stats div{text-align:center}
.ppk-pr-stats strong{display:block;font-family:var(--ppk-f-display);font-size:1.5rem;color:var(--ppk-ink)}
.ppk-pr-stats strong.hl{color:var(--ppk-lime)}
.ppk-pr-stats span{font-size:.78rem;color:var(--ppk-muted2)}
.ppk-pr-plans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start;margin:16px 0 8px}
.ppk-pr-plans .ppk-pr-card{padding:24px 20px}
.ppk-pr-plans .ppk-pr-price{font-size:2rem}
@media(max-width:1080px){.ppk-pr-plans{grid-template-columns:1fr 1fr}}
.ppk-pr-card{background:var(--ppk-surface);border:1px solid var(--ppk-border2);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px;position:relative}
.ppk-pr-card.free{opacity:.94}
.ppk-pr-card.feat{border-color:var(--ppk-lime);background:linear-gradient(180deg,rgba(144,224,16,.07),var(--ppk-surface));box-shadow:0 0 46px rgba(144,224,16,.12)}
.ppk-pr-ribbon{position:absolute;top:0;right:22px;transform:translateY(-50%);background:var(--ppk-lime);color:#0a1400;font-size:.7rem;font-weight:800;padding:5px 12px;border-radius:999px;letter-spacing:.03em}
.ppk-pr-badge{align-self:flex-start;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px}
.ppk-pr-badge.g{background:rgba(255,255,255,.06);color:var(--ppk-muted)}
.ppk-pr-badge.l{background:var(--ppk-lime);color:#0a1400}
.ppk-pr-name{font-family:var(--ppk-f-display);font-size:1.35rem}
.ppk-pr-desc{color:var(--ppk-muted);font-size:.9rem;margin:-6px 0 0;min-height:2.6em}
.ppk-pr-price{font-family:var(--ppk-f-display);font-size:2.9rem;font-weight:800;line-height:1}
.ppk-pr-card.feat .ppk-pr-price{color:var(--ppk-lime)}
.ppk-pr-price small{font-size:.9rem;color:var(--ppk-muted);font-weight:400}
.ppk-pr-perday{font-size:.78rem;color:var(--ppk-muted2);margin-top:-8px}
.ppk-pr-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
.ppk-pr-feats li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ppk-ink)}
.ppk-pr-feats li .ic{flex:none;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:.7rem;font-weight:800;margin-top:1px}
.ppk-pr-feats li .ic.yes{background:rgba(144,224,16,.18);color:var(--ppk-lime)}
.ppk-pr-feats li .ic.lock{background:rgba(255,255,255,.05);color:var(--ppk-muted2)}
.ppk-pr-feats li.muted{color:var(--ppk-muted2)}
.ppk-pr-feats li.bold{font-weight:700}
.ppk-pr-cta{margin-top:auto;width:100%;text-align:center}
.ppk-pr-note{text-align:center;font-size:.74rem;color:var(--ppk-muted2)}
.ppk-pr-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:40px 0}
.ppk-pr-trust span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--ppk-border2);border-radius:12px;font-size:.85rem;color:var(--ppk-muted)}
.ppk-pr-faq{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 40px}
.ppk-pr-faq article{background:var(--ppk-surface);border:1px solid var(--ppk-border2);border-radius:14px;padding:20px}
.ppk-pr-faq h3{font-size:1rem;margin:0 0 8px}
.ppk-pr-faq p{color:var(--ppk-muted);font-size:.88rem;margin:0}
.ppk-pr-bottom{text-align:center;background:linear-gradient(120deg,var(--ppk-surface),#0a0f06);border:1px solid var(--ppk-border);border-radius:22px;padding:46px 24px;margin:20px 0 50px}
.ppk-pr-bottom h2{font-family:var(--ppk-f-display);font-size:2rem;margin:0 0 10px}
.ppk-pr-bottom p{color:var(--ppk-muted);margin:0 0 22px}
@media(max-width:880px){.ppk-pr-plans{grid-template-columns:1fr}.ppk-pr-faq{grid-template-columns:1fr}.ppk-pr-stats{gap:20px}}

/* ============ SITE-WIDE control restyle (buttons/selects/chips → lime, readable) ============ */
.button-primary{background:var(--ppk-lime) !important;color:#0a1400 !important;border-color:transparent !important}
.button-primary:hover{background:var(--ppk-lime-bright) !important}
.button-secondary{background:transparent !important;color:var(--ppk-ink) !important;border:1px solid var(--ppk-border) !important}
.button-secondary:hover{background:rgba(144,224,16,.08) !important}
input,select,textarea{background:#0b0f0a !important;color:var(--ppk-ink) !important;border-color:var(--ppk-border2) !important}
input::placeholder,textarea::placeholder{color:var(--ppk-muted2) !important}
select option{background:#0e130c;color:var(--ppk-ink)}
/* chips / pills / quick filters — lift contrast on dark */
.chip,.pill,[class*="chip"],[class*="quick-filter"],[class*="badge"]{color:var(--ppk-ink)}

/* ---- pricing comparison table ---- */
.ppk-cmp{max-width:920px;margin:0 auto 44px;overflow-x:auto}
.ppk-cmp table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
.ppk-cmp th,.ppk-cmp td{padding:14px 16px;text-align:center;border-bottom:1px solid var(--ppk-border2)}
.ppk-cmp thead th{font-family:var(--ppk-f-display);font-size:1rem;color:var(--ppk-ink);border-bottom:1px solid var(--ppk-border)}
.ppk-cmp thead th.feat{color:var(--ppk-lime)}
.ppk-cmp tbody td:first-child,.ppk-cmp thead th:first-child{text-align:left;color:var(--ppk-muted);font-weight:500}
.ppk-cmp .yes{color:var(--ppk-lime);font-weight:800}
.ppk-cmp .no{color:var(--ppk-muted2)}
.ppk-cmp .val{color:var(--ppk-ink);font-weight:600}
.ppk-cmp col.hi{background:rgba(144,224,16,.05)}

/* ---- AI model logos (hero consensus) ---- */
.ppk-ai-logos{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.ppk-ai-logos img{width:22px !important;height:22px !important;max-width:22px !important;border-radius:6px;object-fit:contain;background:#0c1108;border:1px solid var(--ppk-border2);padding:2px}
/* ---- footer social ---- */
.ppk-social{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.ppk-social a{display:inline-flex;align-items:center;justify-content:center;width:38px !important;height:38px !important;flex:0 0 38px;border-radius:10px;border:1px solid var(--ppk-border2);background:#0a0e08;color:var(--ppk-muted) !important;font-size:18px;line-height:1;transition:.15s}
.ppk-social a:hover{border-color:var(--ppk-border);color:var(--ppk-lime) !important;transform:translateY(-2px)}
.ppk-social a svg,.ppk-social svg{width:18px !important;height:18px !important;max-width:18px !important;fill:currentColor;display:block}

/* ===== Humans vs Machines block (match card) ===== */
.hvm-card{display:flex;flex-direction:column;gap:10px}
.hvm-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:12px}
.hvm-row__label{font-weight:700;font-size:.95rem;color:#d7e3d0;white-space:nowrap}
.hvm-row__bar{height:14px;border-radius:8px;background:rgba(255,255,255,.07);overflow:hidden}
.hvm-row__fill{display:block;height:100%;border-radius:8px;transition:width .4s ease}
.hvm-fill--home{background:#90e010}
.hvm-fill--away{background:#3aa9ff}
.hvm-fill--draw{background:#9aa7b4}
.hvm-row__pick{font-size:.9rem;color:#c7d3e3;white-space:nowrap;min-width:130px;text-align:right}
.hvm-row__pick strong{color:#fff;margin-left:4px}
.hvm-verdict{margin-top:6px;text-align:center;font-weight:800;font-size:1.05rem;border-radius:12px;padding:10px 16px}
.hvm-verdict--agree{background:rgba(144,224,16,.14);border:1px solid rgba(144,224,16,.5);color:#bdf25a}
.hvm-verdict--clash{background:rgba(255,180,60,.14);border:1px solid rgba(255,180,60,.5);color:#ffcf7a}
.hvm-note{text-align:center;font-size:.78rem;color:#8fa0b3;margin-top:2px}
@media(max-width:560px){.hvm-row{grid-template-columns:92px 1fr auto;gap:8px}.hvm-row__label{font-size:.82rem;white-space:normal}.hvm-row__pick{min-width:auto;font-size:.8rem}}

/* ===== Match video breakdown (YouTube embed on the match card) ===== */
.match-video-card__title{font-size:1.02rem;font-weight:800;line-height:1.35;margin:6px 0 12px}
.match-video-card__frame{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:14px;background:#05080f;border:1px solid rgba(255,255,255,.10)}
.match-video-card__frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.match-video-card__note{margin-top:10px;font-size:.82rem;color:var(--ppk-muted,#9fb2cc)}

/* ===== Vote auth modal (shown when a signed-out visitor tries to vote) ===== */
.mv-auth-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,6,12,.78);backdrop-filter:blur(4px)}
.mv-auth-modal[hidden]{display:none}
.mv-auth-modal__box{position:relative;width:100%;max-width:430px;background:#0d1420;border:1px solid rgba(198,242,78,.34);border-radius:20px;padding:30px 26px 26px;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.65)}
.mv-auth-modal__x{position:absolute;top:10px;right:14px;background:none;border:0;color:#8fa0b8;font-size:1.7rem;line-height:1;cursor:pointer;padding:4px 8px}
.mv-auth-modal__x:hover{color:#fff}
.mv-auth-modal__icon{font-size:2.5rem;line-height:1;margin-bottom:8px}
.mv-auth-modal__title{margin:0 0 8px;font-size:1.32rem;font-weight:900;color:#fff}
.mv-auth-modal__text{margin:0 0 20px;font-size:.92rem;line-height:1.5;color:#9fb2cc}
.mv-auth-modal__actions{display:flex;flex-direction:column;gap:10px}
.mv-auth-modal__btn{display:block;padding:13px 18px;border-radius:12px;font-weight:800;text-decoration:none;border:1px solid rgba(255,255,255,.18);color:#fff;transition:transform .12s ease}
.mv-auth-modal__btn:hover{transform:translateY(-1px)}
.mv-auth-modal__btn--primary{background:#c6f24e;border-color:#c6f24e;color:#0b0f16}
@media (max-width:520px){.mv-auth-modal__box{padding:26px 18px 20px}}

/* ===== Auth cards (register / login): force the right card onto the dark theme.
   site.css .auth-stage__card ships a hardcoded cream gradient (not a token),
   so the dark-flip above never reached it -> light-on-light, unreadable. ===== */
.auth-stage__card{
  background:linear-gradient(180deg,rgba(16,20,12,.96),rgba(11,15,10,.94)) !important;
  border:1px solid var(--ppk-border) !important;
  color:var(--ppk-ink);
}
.auth-stage__card .section-head h2,
.auth-stage__card h2{color:var(--ppk-ink) !important}
.auth-stage__card .section-head p,
.auth-stage__card .section-copy{color:var(--ppk-muted) !important}
.auth-form .form-field span{color:var(--ppk-ink) !important}
.form-field__hint{color:var(--ppk-muted) !important}
.form-field__hint.is-warning{color:#e0a13a !important}
.form-field__hint.is-ok{color:var(--ppk-lime) !important}
.auth-card__actions a{color:var(--ppk-lime) !important;font-weight:700}
.auth-card__actions a:hover{color:var(--ppk-lime-bright) !important}


/* ===== Admin panel (/admin): force the light cards onto the dark theme.
   site.css ships hardcoded cream/white backgrounds -> light-on-light, unreadable
   (same bug class as the /register .auth-stage__card fix above). ===== */
.admin-dashboard__hero{
  background:radial-gradient(circle at top left,rgba(144,224,16,.10),transparent 42%),linear-gradient(180deg,rgba(16,20,12,.96),rgba(11,15,10,.94)) !important;
  border:1px solid var(--ppk-border) !important;
  box-shadow:0 26px 60px rgba(0,0,0,.5) !important;
}
.admin-panel,.admin-status-card,.admin-review-card,.admin-system-card{
  background:var(--ppk-surface) !important;
  border:1px solid var(--ppk-border) !important;
  box-shadow:none !important;
}
.admin-dashboard__hero h2,
.admin-panel h3,.admin-panel h4,.admin-panel__head h3,
.admin-status-card strong,.admin-review-card strong{color:var(--ppk-ink) !important}
.admin-dashboard__hero p:not(.eyebrow),
.admin-panel__head span,.admin-panel span,.admin-panel p,
.admin-status-card p,.admin-status-card__label,
.admin-review-card p,.admin-review-card small,
.admin-table-subtext,.admin-log-tail{color:var(--ppk-muted) !important}
.admin-dashboard__hero .eyebrow,.admin-dashboard__hero p.eyebrow{color:var(--ppk-lime) !important}
.admin-table{color:var(--ppk-ink) !important}
.admin-table th{color:var(--ppk-ink) !important;border-bottom:1px solid var(--ppk-border2) !important}
.admin-table td{color:var(--ppk-ink) !important;border-bottom:1px solid var(--ppk-border2) !important}
.admin-table a,.admin-sort-link{color:var(--ppk-lime) !important}
.admin-tab-link{color:var(--ppk-muted) !important;border:1px solid var(--ppk-border2) !important;background:transparent !important}
.admin-tab-link:hover{color:var(--ppk-ink) !important}
.admin-tab-link.is-active{color:#0a1400 !important;background:var(--ppk-lime) !important;border-color:var(--ppk-lime) !important}
.admin-panel .form-field span,.admin-inline-field,.admin-check,.admin-user-form__title{color:var(--ppk-ink) !important}
.admin-select,.admin-panel input,.admin-panel textarea{background:var(--ppk-bg2) !important;color:var(--ppk-ink) !important;border:1px solid var(--ppk-border) !important}
.admin-review-card code{background:rgba(0,0,0,.35) !important;color:var(--ppk-ink) !important}


/* =====================================================================
   EN QA 2026-07-18 — dark-flip the shared RU light-theme components that
   bleed onto the EN pages (matches, match card, results, faq). site.css
   ships these with HARDCODED light backgrounds + dark text (not tokens),
   so the base token-flip above never reached them -> light/grey panels,
   often light-on-light unreadable headings. Flip bg -> dark surface and
   force readable text; keep semantic accents (win/away/live/ready).
   ===================================================================== */
:root{
  /* landing-family tokens (faq-block, marketing-card, stat-box, article cards…) */
  --landing-bg:#070a06; --landing-surface:#0e130c;
  --landing-text:#eef3e6; --landing-muted:#93a08c;
  --landing-line:rgba(144,224,16,.14); --landing-blue:#7fc0ff;
  --landing-green:#86e39a; --landing-shadow:0 20px 48px rgba(0,0,0,.5);
  --ppk-panel:linear-gradient(180deg,rgba(16,20,12,.96),rgba(11,15,10,.94));
}

/* ===== FAQ page (light-on-light headings were the worst offender) ===== */
.faq-block,.marketing-card,.stat-box,.landing-match-card,.inner-hero__content{
  background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.45) !important;
}
.pricing-hero{
  background:radial-gradient(circle at top left,rgba(144,224,16,.10),transparent 42%),var(--ppk-panel) !important;
  border:1px solid var(--ppk-border) !important;
}
.pricing-proof-card{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.landing-cta{background:linear-gradient(120deg,var(--ppk-surface),#0a0f06) !important;border:1px solid var(--ppk-border) !important}
.faq-question{color:var(--ppk-ink) !important}
.faq-icon{color:var(--ppk-lime) !important}

/* ===== MATCHES + RESULTS listing chrome (sidebar, toolbar, counters) ===== */
.filters-panel,.filters-panel--matchcenter{
  background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important;box-shadow:none !important;
}
.filter-field label,.filters-panel--matchcenter .filter-field label{color:var(--ppk-muted) !important}
.filter-field select,.filter-field input[type="search"],
.filters-panel--matchcenter .filter-field select,
.filters-panel--matchcenter .filter-field input[type="search"]{
  background:#0b0f0a !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-ink) !important;box-shadow:none !important;
}
.quick-filter-pill{background:rgba(255,255,255,.05) !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-muted) !important}
.quick-filter-pill.is-active{background:rgba(144,224,16,.14) !important;border-color:var(--ppk-border) !important;color:var(--ppk-lime) !important}
.filter-chip,.active-filters--matchcenter .filter-chip{background:rgba(255,255,255,.05) !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-muted) !important}
.view-mode-switch{background:rgba(255,255,255,.05) !important;border:1px solid var(--ppk-border2) !important;box-shadow:none !important}
.view-mode-switch__item{color:var(--ppk-muted) !important}
.view-mode-switch__item.is-active{background:rgba(144,224,16,.14) !important;color:var(--ppk-lime) !important}
.period-chip,.section-jump-pill,.source-action-strip{background:rgba(255,255,255,.05) !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-muted) !important}
.period-chip.is-active{background:rgba(144,224,16,.14) !important;color:var(--ppk-lime) !important;border-color:var(--ppk-border) !important}
/* left sidebar */
.app-sidebar__card,.app-sidebar__nav{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important}
.app-sidebar__link{color:var(--ppk-muted) !important}
.app-sidebar__link:hover,.app-sidebar__link.is-active{background:rgba(144,224,16,.08) !important;border-color:var(--ppk-border) !important;color:var(--ppk-lime) !important}
/* counters + group headers + insight strips + marketing card */
.summary-grid--matchcenter .stack-card{background:var(--ppk-surface) !important;box-shadow:none !important;border:1px solid var(--ppk-border2) !important}
.summary-grid--matchcenter .stack-card p{color:var(--ppk-muted) !important}
.match-group__head,.prompt-payload-details{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important;box-shadow:none !important}
.match-insight-card,.match-model-card{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.match-insight-card p,.match-model-card p{color:var(--ppk-muted) !important}
.landing-radar-card,.landing-drift-card,.match-ai-strip{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.match-foot .button-secondary{background:transparent !important;border:1px solid var(--ppk-border) !important;color:var(--ppk-ink) !important}

/* ===== RESULTS table (whole today block was light + faint lime text) ===== */
.results-table{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important;box-shadow:none !important}

/* ===== MATCH CARD ===== */
/* league bar */
.match-competition-bar{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important}
.match-competition-bar__copy strong{color:var(--ppk-ink) !important}
.match-competition-bar__copy span{color:var(--ppk-muted) !important}
.match-competition-bar__pill{background:rgba(144,224,16,.10) !important;border:1px solid var(--ppk-border) !important;color:var(--ppk-lime) !important}
.match-competition-bar__title img{background:#0c1108 !important;border-color:var(--ppk-border2) !important}
/* hero */
.upcoming-card,.feature-card,.cta-panel,.match-hero-card,.tab-panel,
.match-hero-card--consumer{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important;box-shadow:0 18px 50px rgba(0,0,0,.45) !important}
.match-hero-card--consumer .match-hero-title{color:var(--ppk-ink) !important}
.match-hero-card--consumer .match-hero-meta span,.match-hero-card--consumer .breadcrumbs,
.match-hero-meta,.breadcrumbs{color:var(--ppk-muted) !important}
.match-hero-card--consumer .match-hero-eyebrow .eyebrow{color:var(--ppk-lime) !important}
.match-hero-card--consumer .match-hero-vs{background:rgba(255,255,255,.03) !important;border:1px solid var(--ppk-border2) !important}
.match-hero-vs{color:var(--ppk-muted) !important}
.team-pill,.team-pill--entity,.match-hero-card--consumer .team-pill{background:#0c1108 !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-ink) !important}
.match-hero-statuschip{background:rgba(255,255,255,.05) !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-ink) !important}
.match-hero-statuschip--muted{background:rgba(255,255,255,.04) !important;color:var(--ppk-muted) !important}
.match-hero-fact{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important;box-shadow:none !important}
.match-hero-fact span{color:var(--ppk-muted) !important}
.match-hero-fact strong{color:var(--ppk-ink) !important}
.match-hero-eyebrow__league-logo,.match-hero-eyebrow__country-flag{background:#0c1108 !important}
/* AI math-model overview + buy card */
.match-ai-overview-card{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border) !important}
.match-ai-overview-card h2{color:var(--ppk-ink) !important}
.match-ai-overview-card p,.match-ai-overview-card__list{color:var(--ppk-ink) !important}
.match-ai-overview-card small{color:var(--ppk-muted) !important}
.match-ai-overview-card__spark{background:rgba(144,224,16,.14) !important;color:var(--ppk-lime) !important}
.match-ai-overview-card__best{background:rgba(144,224,16,.12) !important;border:1px solid var(--ppk-border) !important;color:#bdf25a !important}
.match-ai-overview-card--external-ai{background:var(--ppk-panel) !important}
.match-ai-buy-card{background:radial-gradient(circle at 12% 18%,rgba(144,224,16,.10),transparent 40%),var(--ppk-panel) !important;border:1px solid var(--ppk-border) !important}
.match-ai-buy-card__copy h2{color:var(--ppk-ink) !important}
.match-ai-buy-card__copy p,.match-ai-buy-card__action p{color:var(--ppk-muted) !important}
.match-ai-buy-card__copy small{color:var(--ppk-muted2) !important}
.match-ai-buy-card__action{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important;box-shadow:none !important}
.match-ai-buy-card__action::before{color:var(--ppk-ink) !important}
.match-ai-buy-card__action::after{color:var(--ppk-muted) !important}
.match-ai-buy-card__action strong{color:var(--ppk-ink) !important}
.match-ai-buy-card__email span{color:var(--ppk-muted) !important}
.match-ai-buy-card__email input{background:#0b0f0a !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-ink) !important}
.match-ai-buy-card__copy p::after{background:rgba(144,224,16,.12) !important;color:var(--ppk-lime) !important}
.match-ai-buy-card__status{background:rgba(144,224,16,.14) !important;color:#bdf25a !important}
/* match-center panels + info chips + form summary */
.public-match-card,.public-match-card--overview,.public-match-card--squad,
.public-match-card--history,.public-match-card--ai-copy{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important}
.public-match-card__eyebrow{color:var(--ppk-lime) !important}
.public-info-chip{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important;box-shadow:none !important}
.public-info-chip span{color:var(--ppk-muted) !important}
.public-info-chip strong{color:var(--ppk-ink) !important}
.public-form-summary-card{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.public-form-summary-card strong{color:var(--ppk-ink) !important}
.public-form-summary-card span{color:var(--ppk-muted) !important}
.match-center-fact{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.match-center-fact span{color:var(--ppk-muted) !important}
.match-center-fact strong{color:var(--ppk-ink) !important}
.match-center-fact small{color:var(--ppk-muted) !important}
.match-center-fact--ready{border-color:rgba(134,227,154,.3) !important;background:rgba(134,227,154,.07) !important}
.match-center-fact--partial{border-color:rgba(245,192,96,.3) !important;background:rgba(245,192,96,.07) !important}
/* football benchmark panel (What data is collected) */
.football-etalon-panel{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important}
.football-etalon-panel__head h3{color:var(--ppk-ink) !important}
.football-etalon-panel__head > span{background:var(--ppk-lime) !important;color:#0a1400 !important}
.football-etalon-item{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.football-etalon-item strong{color:var(--ppk-ink) !important}
.football-etalon-item small,.football-etalon-item em{color:var(--ppk-muted) !important}
.football-etalon-item > span{background:rgba(245,192,96,.16) !important;color:#f5c060 !important}
.football-etalon-item--ready > span{background:rgba(134,227,154,.16) !important;color:#86e39a !important}
/* tabs (OVERVIEW/FORM + dossier switch) */
.tab-list,.match-tabs .tab-list{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.tab-button,.match-tabs .tab-button{background:transparent !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-muted) !important}
.tab-button.is-active{background:rgba(144,224,16,.14) !important;color:var(--ppk-lime) !important;border-color:var(--ppk-border) !important}
.public-dossier-tabs--primary{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.public-dossier-switch{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.public-dossier-switch .tab-button{color:var(--ppk-muted) !important}
.public-dossier-switch .tab-button.is-active{background:var(--ppk-lime) !important;color:#0a1400 !important}
.public-dossier-tabs__item{background:transparent !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-muted) !important}
.public-dossier-tabs__item:hover{color:var(--ppk-lime) !important;border-color:var(--ppk-border) !important}
.public-inline-tabs__item{background:rgba(255,255,255,.06) !important;color:var(--ppk-muted) !important}
.public-inline-tabs__item.is-active{background:var(--ppk-lime) !important;color:#0a1400 !important}
.match-tabs .detail-grid > .info-card,.match-tabs .preview-panel-grid .info-card,
.match-tabs .market-summary-card{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.match-tabs .detail-grid > .info-card h3,.match-tabs .preview-panel-grid .info-card h3,
.match-tabs .market-summary-card h3{color:var(--ppk-ink) !important}
.match-tabs .detail-grid > .info-card p,.match-context-card__caption{color:var(--ppk-muted) !important}
/* recent results (championat rows) */
.recent-results-list--championat{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.recent-result-row--championat,.recent-result-row--championat:nth-child(even){background:transparent !important;border-bottom:1px solid var(--ppk-border2)}
.recent-result-row--championat .recent-result-row__meta{color:var(--ppk-muted) !important;border-right:1px solid var(--ppk-border2) !important}
.recent-result-row__summary,.recent-result-row__main,.recent-result-row__score{color:var(--ppk-ink) !important}
.recent-result-row__round,.recent-result-row__meta{color:var(--ppk-muted) !important}
/* premium H2H */
.premium-h2h-header-card,.premium-h2h-stats-section,.premium-h2h-fact-card{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important}
.premium-h2h-team-name,.premium-h2h-section-title,.premium-h2h-fact-card-value,.premium-h2h-center-vs .matches-total-val{color:var(--ppk-ink) !important}
.premium-h2h-fact-card-title,.premium-h2h-fact-card-desc,.premium-h2h-percent-label-item,.premium-h2h-center-vs .matches-total-lbl{color:var(--ppk-muted) !important}
.premium-h2h-team-logo-wrapper{background:#0c1108 !important;border:1px solid var(--ppk-border2) !important}
.premium-h2h-percent-bar{background:rgba(255,255,255,.08) !important}


/* ===== EN QA 2026-07-18 (pass 2): remaining hardcoded-dark headings on the
   now-dark match-card panels + panels missed in pass 1 (context / tournament
   / standings / comparison). ===== */
.match-center-overview__copy h2{color:var(--ppk-ink) !important}
.public-context-card,.match-context-card{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.public-context-card strong,.match-context-card strong{color:var(--ppk-ink) !important}
.public-context-card span,.match-context-card__caption{color:var(--ppk-muted) !important}
.public-tournament-highlights__item,.public-tournament-grid__item,
.public-tournament-dashboard__team,.public-tournament-dashboard__meta{
  background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important;
}
.public-tournament-highlights__item strong,.public-tournament-grid__item strong,
.public-tournament-dashboard strong{color:var(--ppk-ink) !important}
.public-standings-table,.public-bracket-list{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important}
.public-standings-block h3{color:var(--ppk-ink) !important}
.public-standings-table__row--home{background:linear-gradient(90deg,rgba(144,224,16,.12),transparent) !important}
.public-standings-table__row--away{background:linear-gradient(90deg,rgba(127,192,255,.12),transparent) !important}
.public-comparison-matrix{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important}
.public-match-card .comparison-bars__item,.comparison-bars__item{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.public-ai-copy-box{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-ink) !important}
.match-source-card,.match-source-card--partial{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.match-readiness-panel{background:var(--ppk-panel) !important;border:1px solid var(--ppk-border2) !important}
.match-source-link{background:rgba(127,192,255,.10) !important;border:1px solid var(--ppk-border2) !important;color:var(--landing-blue) !important}


/* =====================================================================
   EN QA 2026-07-19 — GREY-PANEL SWEEP (pass 3). Fix light/low-contrast
   areas that site.css (RU light theme) ships with hardcoded white/cream
   backgrounds or dark text, which sit on the EN dark theme unreadable.
   Token-driven, targets the offending CLASS (not one instance).
   ===================================================================== */

/* ---- ADMIN: ADD USER form + other admin containers missed in pass 1.
   .admin-user-form ships background:rgba(255,255,255,.82) INSIDE the dark
   .admin-panel -> light-grey card + near-white labels invisible. ---- */
.admin-user-form{
  background:var(--ppk-surface2,#121809) !important;
  border:1px solid var(--ppk-border2) !important;
}
.admin-user-form--danger{
  background:rgba(120,32,32,.18) !important;
  border:1px solid rgba(220,80,80,.34) !important;
}
.admin-user-form__title{color:var(--ppk-lime) !important}
.admin-user-form .form-field span,
.admin-user-form > span,
.admin-user-editor__grid .form-field span{color:var(--ppk-ink) !important}
.admin-user-form .admin-check{color:var(--ppk-muted) !important}
.admin-tabs-nav{
  background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important;
}
.admin-kpi-card{
  background:linear-gradient(180deg,rgba(16,20,12,.96),rgba(11,15,10,.94)) !important;
  border:1px solid var(--ppk-border2) !important;
}
.admin-kpi-card strong{color:var(--ppk-ink) !important}
.admin-kpi-card span,.admin-kpi-card small{color:var(--ppk-muted) !important}
.admin-timeline__row{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.admin-timeline__date{color:var(--ppk-muted) !important}
.admin-code-block{
  background:#0a0e08 !important;color:var(--ppk-ink) !important;border:1px solid var(--ppk-border2) !important;
}
.admin-live-model{background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important}
.admin-live-model.is-judge{
  background:linear-gradient(180deg,rgba(52,94,62,.20),var(--ppk-surface)) !important;border-color:rgba(134,227,154,.32) !important;
}
.admin-live-pill{background:rgba(255,255,255,.05) !important;border:1px solid var(--ppk-border2) !important}
.admin-live-pill span,.admin-live-pill small,.admin-live-source small{color:var(--ppk-muted) !important}
.admin-ensemble-card{
  background:linear-gradient(180deg,rgba(31,107,122,.14),var(--ppk-surface)) !important;border:1px solid var(--ppk-border2) !important;
}
.admin-ensemble-card--suppressed{
  background:linear-gradient(180deg,rgba(200,95,40,.16),var(--ppk-surface)) !important;border-color:rgba(245,192,96,.30) !important;
}
/* tariff editor (uses .pricing-card on the admin tariffs tab) */
.admin-plan-editor,.pricing-card.admin-plan-editor{
  background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important;
}
.admin-plan-editor h3,.admin-plan-editor h4{color:var(--ppk-ink) !important}
.admin-plan-editor p,.admin-plan-editor .form-field span{color:var(--ppk-ink) !important}
.admin-plan-editor .admin-check{color:var(--ppk-muted) !important}
/* analytics metric chips: lift text onto the (now dark) tints */
.admin-metric-chip--tasks{color:#7fd0e0 !important}
.admin-metric-chip--evals{color:#f0a878 !important}
.admin-metric-chip--reviews{color:#86e39a !important}
.admin-metric-chip--ops{color:#aab2ea !important}

/* ---- AUTOFILL: Chrome paints saved-credential inputs light-lavender with
   dark text (login + admin login) -> looks exactly like the grey-field bug.
   Force the autofilled state onto the dark input styling. ---- */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill{
  -webkit-text-fill-color:var(--ppk-ink) !important;
  -webkit-box-shadow:0 0 0 1000px #0b0f0a inset !important;
  box-shadow:0 0 0 1000px #0b0f0a inset !important;
  caret-color:var(--ppk-ink) !important;
  border:1px solid var(--ppk-border2) !important;
}

/* ---- MATCH CARD guest upsell banner: strong=#0f172a + span=#475569 were
   dark-on-dark (unreadable) on the EN green banner. ---- */
.guest-conversion-banner__copy strong,
.match-auth-upsell__copy strong{color:var(--ppk-ink) !important}
.guest-conversion-banner__copy span:not(.guest-conversion-banner__badge),
.match-auth-upsell__copy span:not(.guest-conversion-banner__badge){color:#cbe6a8 !important}
/* auth-conversion modal shipped a plain white dialog; put it on dark */
.auth-conversion-modal__dialog{
  background:#0e130c !important;border:1px solid var(--ppk-border) !important;
}
.auth-conversion-modal__dialog h2{color:var(--ppk-ink) !important}
.auth-conversion-modal__dialog p{color:var(--ppk-muted) !important}
.auth-conversion-modal__benefits li{color:var(--ppk-ink) !important}
.auth-conversion-modal__close{
  background:rgba(255,255,255,.05) !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-ink) !important;
}

/* ---- AI-AGENT virtual-bank leaderboard + stat boxes ship inline
   background:#fff (cloned from RU light theme) -> light ink on white,
   unreadable. Override the inline white on DIVs only; AI logo <img>
   keep their intended white chip background. ---- */
div[style*="background:#fff"],
div[style*="background: #fff"],
div[style*="background:#ffffff"]{
  background:var(--ppk-surface) !important;
  border-color:var(--ppk-border2) !important;
  box-shadow:none !important;
}


/* =====================================================================
   EN QA 2026-07-19 — GREY-PANEL SWEEP (pass 4). MATCH PAGE hero + league
   box + odds/stats panels. site.css (RU light theme) hardcodes white/cream
   backgrounds + dark text on the tennis/football match-card components,
   which the EN dark theme never flipped -> light-grey panels with
   light-on-light (unreadable) text. Token-driven, by CLASS so it covers
   every match across all sports/states (upcoming + finished).
   ===================================================================== */

/* ---- TENNIS match board: shared card surface (nav / league box /
   score panel / side panel / tabs) ships bg rgba(255,255,255,.94)
   + dark ink. Dark-flip surface + all dark-ink children. ---- */
.tennis-match-board__nav,
.tennis-match-board__tournament,
.tennis-score-panel,
.tennis-side-panel,
.tennis-match-board__tabs{
  background:var(--ppk-surface) !important;
  border:1px solid var(--ppk-border2) !important;
  box-shadow:none !important;
}
.tennis-match-board__nav,
.tennis-match-board__links,
.tennis-match-board__tabs{color:var(--ppk-muted) !important}
.tennis-match-board__tabs a{color:var(--ppk-muted) !important}
.tennis-match-board__tabs a.is-active,
.tennis-match-board__tabs a[aria-current]{color:var(--ppk-lime) !important}
.tennis-match-board__nav strong,
.tennis-match-board__tabs strong,
.tennis-match-board__tournament strong,
.tennis-score-panel__meta strong,
.tennis-score-panel__score,
.tennis-player-card,
.tennis-player-card strong{color:var(--ppk-ink) !important}
.tennis-score-panel__meta,
.tennis-score-panel__score strong,
.tennis-player-card span{color:var(--ppk-muted) !important}
/* sticky compact score-rail (renders in some views) */
.tennis-score-rail{
  background:rgba(14,19,12,.96) !important;
  border:1px solid var(--ppk-border2) !important;
}
.tennis-score-rail strong{color:var(--ppk-ink) !important}
.tennis-score-rail em,.tennis-score-rail small{color:var(--ppk-muted) !important}

/* player photo placeholder: white circle + dark initials -> dark chip */
.tennis-player-card__photo{
  background:var(--ppk-surface2) !important;
  border:1px solid var(--ppk-border2) !important;
  color:var(--ppk-ink) !important;
}
.tennis-player-card small{
  background:rgba(255,255,255,.06) !important;color:var(--ppk-muted) !important;
}

/* fact chips ("ATP Challenger…", date, status): light-blue pills -> dark */
.tennis-fact-chips span{
  background:rgba(127,192,255,.10) !important;
  border:1px solid var(--ppk-border2) !important;
  color:#9fc3ff !important;
}

/* ODDS strip (P1/P2) */
.tennis-odds-strip__title,
.tennis-odds-strip__item{
  background:var(--ppk-surface2) !important;
  border:1px solid var(--ppk-border2) !important;
}
.tennis-odds-strip__title{color:var(--ppk-muted) !important}
.tennis-odds-strip__item span,
.tennis-odds-strip__item em{color:var(--ppk-muted) !important}
.tennis-odds-strip__item strong{color:var(--ppk-ink) !important}
.tennis-odds-strip__item small{color:#59d98b !important}

/* set-table (finished matches show set scores) */
.tennis-set-table{background:var(--ppk-border2) !important;border:1px solid var(--ppk-border2) !important}
.tennis-set-table__row{background:var(--ppk-surface) !important}
.tennis-set-table__row strong,
.tennis-set-table__row span,
.tennis-set-table__row b,
.tennis-set-table__row em{color:var(--ppk-ink) !important}

/* insight cards ("About the athletes", benchmarks, etc.) */
.tennis-insight-card{
  background:var(--ppk-surface) !important;
  border:1px solid var(--ppk-border2) !important;
  box-shadow:none !important;
}
.tennis-insight-card h3{color:var(--ppk-ink) !important}
.tennis-about-table{border-top-color:var(--ppk-border2) !important}
.tennis-about-table__row{border-bottom-color:var(--ppk-border2) !important}

/* ---- MATCH SIGNAL panels/metrics (all sports) ---- */
.match-signal-panel{border-top:1px solid var(--ppk-border2) !important}
.match-signal-panel__titlebar h2{color:var(--ppk-ink) !important}
.match-signal-panel--sstats-compact{
  background:linear-gradient(135deg,rgba(31,107,122,.14),var(--ppk-surface)) !important;
  border:1px solid var(--ppk-border2) !important;
  box-shadow:none !important;
}
.match-signal-panel--sstats-compact .sstats-compact-table{
  background:var(--ppk-surface2) !important;border:1px solid var(--ppk-border2) !important;
}
.match-signal-metric,
.team-profile-list__row,
.match-signal-stack__row{
  background:var(--ppk-surface2) !important;
  border:1px solid var(--ppk-border2) !important;
}
.match-signal-metric span,
.team-profile-list__row span,
.match-signal-stack__row span{color:var(--ppk-muted) !important}
.match-signal-metric strong,
.team-profile-list__row strong,
.match-signal-stack__row strong{color:var(--ppk-ink) !important}
.match-signal-metric--no-value,
.match-signal-metric--line-only{background:var(--ppk-surface2) !important}

/* missing-data chips (cream -> amber-on-dark) */
.match-missing-item{
  background:rgba(245,158,11,.12) !important;
  border:1px solid rgba(245,158,11,.24) !important;
}
.match-missing-item strong{color:var(--ppk-ink) !important}
.match-missing-item span{color:var(--ppk-muted) !important}

/* probability bars */
.probability-bar{
  background:var(--ppk-surface2) !important;
  border:1px solid var(--ppk-border2) !important;
}
.probability-bar__track{background:rgba(255,255,255,.10) !important}
.probability-bar small{color:var(--ppk-muted) !important}

/* fair-probability card */
.match-fair-prob-card{
  background:linear-gradient(180deg,var(--ppk-surface),var(--ppk-bg2)) !important;
  border:1px solid var(--ppk-border2) !important;
  box-shadow:none !important;
}
.match-fair-prob-card__spark{background:rgba(127,140,255,.16) !important;color:#aeb4ff !important}
.match-fair-prob-card h2,
.match-fair-prob-market__title{color:var(--ppk-ink) !important}
.match-fair-prob-card small,
.match-fair-prob-market__title small,
.match-fair-prob-cell span{color:var(--ppk-muted) !important}
.match-fair-prob-cell{
  background:var(--ppk-surface2) !important;border:1px solid var(--ppk-border2) !important;
}
.match-fair-prob-cell strong{color:var(--ppk-ink) !important}

/* ---- ODDS TABLES (per-book) + ODDS GRID (inline-styled table) ---- */
.public-odds-tables{
  background:linear-gradient(180deg,var(--ppk-surface),var(--ppk-bg2)) !important;
  border:1px solid var(--ppk-border2) !important;
}
.public-odds-tables__head > span{background:rgba(127,192,255,.12) !important;color:#9fc3ff !important}
.public-odds-table{
  background:var(--ppk-surface2) !important;border:1px solid var(--ppk-border2) !important;
}
.public-odds-table h4{border-bottom:1px solid var(--ppk-border2) !important;color:var(--ppk-ink) !important}
.public-odds-table__row{border-bottom:1px solid var(--ppk-border2) !important}
.public-odds-table__row--head{background:rgba(255,255,255,.04) !important;color:var(--ppk-muted) !important}

/* odds GRID paints light bg via inline style on <section>/<tr>/<th>;
   an author !important beats a normal inline style, so these win. Row
   tint is dropped but the coloured left-bar + label colour survive. */
.public-odds-table.public-odds-grid{
  background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important;
}
.public-odds-grid__corner{background:var(--ppk-surface2) !important;color:var(--ppk-muted) !important}
.public-odds-grid tbody tr{background:transparent !important}
.public-odds-grid__outcome{background:var(--ppk-surface) !important}
.public-odds-grid td,.public-odds-grid th{border-top-color:var(--ppk-border2) !important}
.public-odds-grid td strong{color:var(--ppk-ink) !important}
.public-odds-grid td span{color:var(--ppk-muted) !important}
/* odds-grid header cells (book columns have no __corner class) */
.public-odds-grid thead th{background:var(--ppk-surface2) !important;color:var(--ppk-muted) !important}


/* =====================================================================
   EN QA 2026-07-19 — GREY-PANEL SWEEP (pass 4b). Second pass over the
   MATCH PAGE catching GRADIENT-backed light cards (background-image, which
   a background-color scan misses) + football-only components (AI consensus,
   sstats card, bookmaker-line panel, aicmp comparison, win-prob donut).
   ===================================================================== */

/* ---- Win-probability donut (.prob-ring / .tennis-surface-ring):
   white centre (#fff) + light track (#edf2f7) -> dark centre + subtle
   track; keep the accent arc. Dark ink for the % + label. ---- */
.prob-ring{
  background:
    radial-gradient(circle at center, var(--ppk-surface) 0 51%, transparent 52%),
    conic-gradient(from -90deg, var(--accent,#90e010) calc(var(--pct) * 1%), rgba(255,255,255,.10) 0) !important;
  box-shadow:inset 0 0 0 1px var(--ppk-border2),0 8px 22px rgba(0,0,0,.4) !important;
}
.tennis-surface-ring{
  background:
    radial-gradient(circle at center, var(--ppk-surface) 0 51%, transparent 52%),
    conic-gradient(from -90deg, #90e010 calc(var(--pct) * 1%), rgba(255,255,255,.10) 0) !important;
  box-shadow:inset 0 0 0 1px var(--ppk-border2),0 8px 22px rgba(0,0,0,.4) !important;
}
.prob-ring strong,.tennis-surface-ring strong{color:var(--ppk-ink) !important}
.prob-ring span,.tennis-surface-ring span{color:var(--ppk-muted) !important}

/* ---- AI CONSENSUS card (football): light green/blue gradient -> dark ---- */
.match-ai-consensus-card{
  background:linear-gradient(135deg,rgba(31,107,122,.16),var(--ppk-surface)) !important;
  border:1px solid var(--ppk-border2) !important;
  box-shadow:none !important;
}
.match-ai-consensus-card h2{color:var(--ppk-ink) !important}
.match-ai-consensus-card__metric{
  background:var(--ppk-surface2) !important;border:1px solid var(--ppk-border2) !important;
}
.match-ai-consensus-card__metric--strong{
  background:linear-gradient(135deg,rgba(34,197,94,.16),var(--ppk-surface2)) !important;
  border-color:rgba(34,197,94,.34) !important;
}
.match-ai-consensus-card__metric span{color:var(--ppk-muted) !important}
.match-ai-consensus-card__metric strong{color:var(--ppk-ink) !important}
.match-ai-consensus-card__note{
  background:rgba(255,255,255,.04) !important;color:var(--ppk-muted) !important;
}

/* ---- SStats card (football, also .match-nbbet-card variant) ---- */
.match-sstats-card{
  background:linear-gradient(180deg,var(--ppk-surface),var(--ppk-bg2)) !important;
  border:1px solid var(--ppk-border2) !important;
  box-shadow:none !important;
}
.match-sstats-card__spark{background:rgba(52,211,153,.16) !important;color:#59d98b !important}
.match-sstats-card h2{color:var(--ppk-ink) !important}
.match-sstats-card small{color:var(--ppk-muted) !important}

/* ---- AICMP (AI comparison) rows/chips/probability bars ---- */
.aicmp-row{
  background:var(--ppk-surface) !important;border:1px solid var(--ppk-border2) !important;
  box-shadow:none !important;
}
.aicmp-prob__bar{background:rgba(255,255,255,.08) !important}
.aicmp-prob__val{color:var(--ppk-ink) !important}
.aicmp-prob__label{color:var(--ppk-muted) !important}
.aicmp-prob--max .aicmp-prob__label,
.aicmp-prob--max .aicmp-prob__val{color:#59d98b !important}
.aicmp-chip{background:rgba(127,140,255,.14) !important;color:#aeb4ff !important}
.aicmp-info-chip{
  background:var(--ppk-surface2) !important;border:1px solid var(--ppk-border2) !important;color:var(--ppk-muted) !important;
}
.aicmp-info-chip--key{
  background:rgba(47,111,224,.14) !important;border-color:rgba(47,111,224,.28) !important;color:#9fc3ff !important;
}
.aicmp-info__label{color:var(--ppk-muted) !important}
.aitab-consensus__lead{color:var(--ppk-ink) !important}
.aitab-consensus__sub{color:var(--ppk-muted) !important}

/* ---- Bookmaker-line signal panel (football): white gradient shell.
   Inner .match-signal-metric already dark-flipped by pass-4 base rules. --- */
.match-signal-panel--bookmakers{
  background:linear-gradient(180deg,var(--ppk-surface),var(--ppk-bg2)) !important;
  border:1px solid var(--ppk-border2) !important;
  box-shadow:none !important;
}
.match-signal-panel--bookmakers .public-odds-tables__head{border-top-color:var(--ppk-border2) !important}
.match-signal-panel--bookmakers .public-odds-tables__head strong{color:var(--ppk-ink) !important}

/* ---- SStats compact-table row tints (light gradients -> dark, keep the
   coloured left-bar inset shadow which is a separate declaration). ---- */
.sstats-compact-table__row--best,
.sstats-compact-table__row--strong{background:linear-gradient(90deg,rgba(22,163,74,.20),transparent) !important}
.sstats-compact-table__row--model{background:linear-gradient(90deg,rgba(14,165,233,.16),transparent) !important}
.sstats-compact-table__row--market,
.sstats-compact-table__row--watch{background:linear-gradient(90deg,rgba(245,158,11,.16),transparent) !important}
.sstats-compact-table__row--miss-strong{background:linear-gradient(90deg,rgba(239,68,68,.16),transparent) !important}
.sstats-compact-table__row--miss,
.sstats-compact-table__row--audit{background:rgba(255,255,255,.03) !important;color:var(--ppk-muted) !important}
.sstats-compact-table__row--best .sstats-compact-table__cell--strong,
.sstats-compact-table__row--best span,
.sstats-compact-table__row--strong .sstats-compact-table__cell--strong,
.sstats-compact-table__row--strong span{color:#59d98b !important}
.public-glicko-note{color:var(--ppk-muted) !important}

/* ==========================================================================
   2026-07-19 greyfix8 — /matches listing readability + alignment (consolidated,
   supersedes greyfix5/6/7). All odds-chip rules scope to DIRECT children
   (> span) so the nested .prognozai-pick-tick <span> never inherits chip
   styling or the "N ·" outcome label.
   Also: club-logo doubling was data-repaired in the DB + guarded in
   MatchRepository::sanitizePublicImageUrl (see greyfix5 history).
   ========================================================================== */

/* Defect 2 — "AI outcome leader" chip was dark navy on a dark chip. Lime it. */
.match-card .match-ai-strip--signal span:first-child{
  color:var(--ppk-lime) !important;
  font-weight:800 !important;
}

/* Defect 3 — odds strip: compact, left-aligned, dark+lime chips reading
   "1 · 1.42 ✓" / "2 · 2.70": outcome label, odds value (lime for the pick),
   ✓ tick last. Rules target > span only. */
.match-card .market-strip{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:6px !important;
}
.match-card .market-strip::before{
  content:"Bookmaker odds";
  flex:0 0 100%;
  font-size:10px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--ppk-muted);
  font-weight:700;
  margin-bottom:1px;
}
.match-card .market-strip > span{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:66px !important;
  min-height:30px !important;
  padding:0 11px !important;
  gap:4px !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid var(--ppk-border2) !important;
  color:var(--ppk-ink) !important;
  font-weight:700 !important;
  font-size:13px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}
.match-card .market-strip > span::before{
  content:"1 \00B7";
  color:var(--ppk-muted) !important;
  font-size:.82em;
  font-weight:700;
  letter-spacing:.02em;
  order:0;
}
.match-card .market-strip > span:nth-child(2):not(:last-child)::before{content:"X \00B7"}
.match-card .market-strip > span:last-child::before{content:"2 \00B7"}
.match-card .market-strip > span .prognozai-pick-tick{
  order:2 !important;
  margin:0 0 0 1px !important;
  min-width:0 !important;
  font-size:.82em !important;
}
.match-card .market-strip > span.is-prognozai-pick{
  background:rgba(144,224,16,.14) !important;
  border:1px solid var(--ppk-border) !important;
  color:var(--ppk-lime) !important;
  font-weight:800 !important;
}
.match-card .market-strip > span.is-prognozai-pick .prognozai-pick-tick{
  color:var(--ppk-lime) !important;
}
.match-card .market-strip > span.is-prognozai-pick.prognozai-pick--medium{
  background:rgba(245,175,25,.16) !important;
  border-color:rgba(245,158,11,.55) !important;
  color:#ffcf7a !important;
}
.match-card .market-strip > span.is-prognozai-pick.prognozai-pick--medium .prognozai-pick-tick{
  color:#ffcf7a !important;
}

/* Missing-logo fallback → branded circular monogram badge (same 38px diameter
   as a real logo: dark circle + lime ring + centred lime two-letter monogram). */
.team-mark--fallback{
  border-radius:50% !important;
  background:radial-gradient(circle at 50% 32%, #14240b, #090d07) !important;
  box-shadow:inset 0 0 0 1px rgba(144,224,16,.38), 0 0 0 1px rgba(0,0,0,.25) !important;
  color:var(--ppk-lime) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  font-family:var(--ppk-f-display) !important;
}

/* ===== dark-theme stat-value contrast fix (all sports) - added 2026-08-06 =====
   Base site.css hardcodes neutral-dark text on stat cards for the LIGHT theme;
   on propickai's dark cards those values go dark-on-dark. Re-point neutral-dark
   stat text to the theme colour. NON-!important on purpose: this beats the base
   sheet (later source, equal specificity) yet loses to the semantic !important
   colours already in this file (form W/L, heat, accents), so those keep hue. */
.public-live-signal-card--medium .public-live-signal-card__top strong,
.public-live-signal-card h3,
.public-live-signal-card__ai-report p,
.match-external-ai-structured__lead,
.match-external-ai-structured__section li,
.match-insight-card p, .match-model-card p,
.match-competition-bar__copy strong,
.match-center-overview__copy h2,
.match-signal-panel__titlebar h2,
.match-center-fact strong,
.match-source-card strong,
.match-missing-item strong,
.match-sidebar-form__team strong,
.match-hero-card--consumer .match-hero-title,
.match-tabs .detail-grid > .info-card h3, .match-tabs .preview-panel-grid .info-card h3, .match-tabs .market-summary-card h3, .match-context-card__head h3,
.public-glicko-note,
.match-hero-state,
.match-live-prob-card__head h2,
.match-live-mom-card__head h2,
.match-live-mom-card__score,
.tennis-score-rail strong,
.tennis-match-board__nav strong,
.tennis-match-board__tournament strong,
.tennis-match-board__tabs strong,
.tennis-score-panel__meta strong,
.tennis-player-card,
.tennis-player-card__photo,
.tennis-score-panel__score,
.tennis-set-table__row strong, .tennis-set-table__row span, .tennis-set-table__row b, .tennis-set-table__row em,
.tennis-odds-strip__item strong,
.tennis-side-panel h3,
.tennis-side-panel__match strong,
.tennis-insight-card h3,
.tennis-about-table__row span,
.tennis-surface-form__player > strong,
.tennis-surface-ring strong,
.tennis-surface-form__total,
.tennis-h2h-text,
.tennis-h2h-row,
.tennis-h2h-table__row strong,
.tennis-h2h-table__row b,
.tennis-h2h-table__row em,
.tennis-h2h-result__year,
.tennis-h2h-result__event strong,
.tennis-h2h-result__player strong,
.tennis-h2h-result__set,
.match-hero-fact strong,
.match-hero-card--open-team-sport .match-hero-state,
.match-hero-card--open-team-sport .match-hero-team__name,
.match-ai-overview-card p,
.match-ai-overview-card__list,
.match-fair-prob-market__title,
.match-external-ai-copy,
.match-ai-consensus-card h2,
.match-ai-consensus-card__metric strong,
.premium-h2h-team-name,
.premium-h2h-center-vs .matches-total-val,
.premium-h2h-percent-label-item,
.premium-h2h-fact-card-value,
.premium-h2h-section-title,
.premium-h2h-history-team,
.premium-h2h-history-score,
.match-signal-panel--bookmakers .public-odds-tables__head strong,
.match-signal-panel--bookmakers .match-signal-metric span:first-child,
.match-signal-panel--bookmakers .match-signal-metric strong,
.match-sstats-block__title{color:var(--ppk-ink)}

.public-live-signal-card p,
.public-live-signal-card small,
.match-competition-bar__copy span,
.public-standings-table__head,
.match-center-fact span,
.match-center-fact small,
.match-source-card span,
.match-source-card small,
.match-missing-item span,
.match-signal-metric span, .team-profile-list__row span, .match-signal-stack__row span,
.match-hero-card--consumer .match-hero-meta span, .match-hero-card--consumer .breadcrumbs,
.match-tabs .detail-grid > .info-card p, .match-tabs .preview-panel-grid .info-card p, .match-context-card__caption, .match-context-card__empty,
.sstats-compact-table__row--audit,
.sstats-compact-table__row small,
.match-live-prob-card__minute,
.match-live-prob-legend,
.match-live-mom-card__minute,
.match-live-mom__val,
.match-live-mom__label,
.tennis-score-rail em, .tennis-score-rail small,
.tennis-player-card span, .tennis-player-card small,
.tennis-player-card small,
.tennis-form-chip--neutral,
.tennis-score-panel__score strong,
.tennis-odds-strip__title,
.tennis-odds-strip__item span,
.tennis-odds-strip__item em,
.tennis-side-panel__row,
.tennis-side-panel__match em,
.tennis-about-table__row strong,
.tennis-surface-ring span,
.tennis-surface-form__total span,
.tennis-surface-form__row,
.tennis-h2h-table__row span,
.tennis-h2h-result__event span, .tennis-h2h-result__round,
.tennis-h2h-result__seed,
.match-hero-fact span,
.match-ai-overview-card small,
.match-fair-prob-card small,
.match-fair-prob-market__title small,
.match-fair-prob-cell span,
.match-external-ai-copy th,
.match-ai-consensus-card__metric span,
.match-ai-consensus-card__note,
.premium-h2h-center-vs .matches-total-lbl,
.premium-h2h-fact-card-title,
.premium-h2h-fact-card-desc,
.premium-h2h-stat-label,
.premium-h2h-history-date,
.premium-h2h-history-league,
.match-signal-panel--bookmakers .match-signal-metric small,
.match-signal-panel--bookmakers > .public-source-note,
.match-sstats-card small,
.match-sstats-block__title small,
.match-sstats-standing__meta,
.match-sstats-price-cell__key,
.match-sstats-price-cell__book,
.match-sstats-glicko__metrics{color:var(--ppk-muted)}
/* ===== end contrast fix ===== */

/* board rank/elo number readable on dark theme. added 2026-08-06 */
.tennis-player-card__stat b{color:var(--ppk-ink)}

/* ===== dark-theme fix 2026-08-06: two tennis tables kept a light/#fff background
   while their text was flipped to ink -> unreadable. Give them dark surfaces. ===== */
/* (a) Head-to-head history (structured results table) */
.tennis-h2h-results{background:var(--ppk-surface2) !important;border-color:var(--ppk-border2) !important}
.tennis-h2h-result{border-top-color:var(--ppk-border2) !important}
.tennis-h2h-result__year,
.tennis-h2h-result__event,
.tennis-h2h-result__round{border-right-color:var(--ppk-border2) !important}
.tennis-h2h-result__event span,
.tennis-h2h-result__round{color:var(--ppk-muted) !important}
.tennis-h2h-result__team{border-top-color:var(--ppk-border2) !important}
.tennis-h2h-result__team.is-loser,
.tennis-h2h-result__team.is-loser strong,
.tennis-h2h-result__seed{color:var(--ppk-muted) !important}
/* (b) Post-match / PropickAI database set table (sstats-compact-table outside the
   --sstats-compact panel, e.g. under --postmatch, never got its dark surface) */
.match-signal-panel--postmatch .sstats-compact-table,
.sstats-compact-table{background:var(--ppk-surface2) !important;border:1px solid var(--ppk-border2) !important}
.sstats-compact-table__row{border-color:var(--ppk-border2) !important;color:var(--ppk-ink) !important}
.sstats-compact-table__row span,
.sstats-compact-table__row strong,
.sstats-compact-table__cell{color:var(--ppk-ink) !important}
.sstats-compact-table__row--head,
.sstats-compact-table__row--head span{background:var(--ppk-surface) !important;color:var(--ppk-muted) !important}
.match-signal-panel--postmatch .sstats-compact-table__row--best{background:linear-gradient(90deg,rgba(34,197,94,.20),rgba(34,197,94,.06)) !important}
.match-signal-panel--postmatch .sstats-compact-table__row--best span,
.match-signal-panel--postmatch .sstats-compact-table__row--best .sstats-compact-table__cell--strong{color:#bbf7d0 !important}
/* ===== end dark-theme two-table fix ===== */

/* dark-theme fix 2026-08-06 (round 3): board set-score breakdown table
   (SET | player | set scores | GP) kept a white/#fff surface -> unreadable. */
.tennis-set-table{background:var(--ppk-border2) !important;border-color:var(--ppk-border2) !important}
.tennis-set-table__row{background:var(--ppk-surface2) !important}
.tennis-set-table__row strong,
.tennis-set-table__row span,
.tennis-set-table__row b,
.tennis-set-table__row em{color:var(--ppk-ink) !important}
.tennis-set-table__row--head{background:var(--ppk-surface) !important}
.tennis-set-table__row--head b,
.tennis-set-table__row--head span{color:var(--ppk-muted) !important}
.tennis-set-table__row em{background:var(--ppk-surface) !important;color:var(--ppk-ink) !important}
/* end board set-table dark fix */
