/* KSM public fallback styles — only apply if the active theme doesn't define them.
   KooraLive theme already styles .kl-* richly; these are low-specificity defaults. */
:root{
  --kl-green:#16a34a; --kl-green-bright:#22c55e; --kl-green-dark:#15803d;
  --kl-navy:#0f172a; --kl-slate:#334155; --kl-muted:#64748b; --kl-line:#e2e8f0;
  --kl-card:#fff; --kl-red:#dc2626;
}
.kl-team-logo{border-radius:50%;object-fit:cover;background:#fff;vertical-align:middle;}
.kl-team-initial{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
  background:linear-gradient(135deg,var(--kl-green),var(--kl-green-bright));color:#fff;font-weight:800;vertical-align:middle;}

/* Standings (only if theme lacks .kl-standings) */
.kl-standings{width:100%;border-collapse:collapse;font-size:14px;}
.kl-standings td,.kl-standings th{padding:10px 8px;text-align:center;border-bottom:1px solid var(--kl-line);}
.kl-standings thead th{background:var(--kl-navy);color:#fff;}
.kl-standings .tname{text-align:start;font-weight:700;}
.kl-standings .pts{font-weight:800;}
.kl-standings .top .pos{box-shadow:inset 3px 0 0 var(--kl-green);}
.kl-standings .rel .pos{box-shadow:inset 3px 0 0 var(--kl-red);}

/* Match rows */
.kl-matches{background:#fff;border:1px solid var(--kl-line);border-radius:12px;overflow:hidden;}
.kl-match-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--kl-line);color:inherit;text-decoration:none;}
.kl-match-row:last-child{border-bottom:0;}
.kl-match-teams{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;}
.kl-mt-side{display:flex;align-items:center;gap:8px;}
.kl-score-mini{background:var(--kl-navy);color:#fff;border-radius:8px;padding:2px 10px;font-weight:800;}

/* Form strip (W/D/L) */
.kl-form{display:inline-flex;gap:3px;}
.kl-form-dot{width:18px;height:18px;border-radius:4px;color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;}
.kl-group-head{background:var(--kl-navy);color:#fff;font-weight:800;font-size:13px;padding:9px 16px;}
.kl-standings-legend{display:flex;gap:18px;padding:12px 16px;font-size:12px;color:#64748b;flex-wrap:wrap;}
.kl-standings-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:5px;vertical-align:middle;}
.kl-standings-legend .zone-top{background:#16a34a;} .kl-standings-legend .zone-rel{background:#dc2626;}
@media(max-width:600px){.kl-form-col{display:none;}}

/* Match stats bars */
.kl-matchstats{padding:16px;}
.kl-stat{margin-bottom:14px;}
.kl-stat-row{display:flex;justify-content:space-between;font-weight:700;font-size:14px;margin-bottom:5px;}
.kl-stat-label{color:#64748b;font-weight:600;}
.kl-stat-bar{display:flex;height:8px;border-radius:6px;overflow:hidden;background:#e2e8f0;direction:ltr;}
.kl-stat-bar .h{background:var(--kl-navy);} .kl-stat-bar .a{background:var(--kl-green);}

/* Events by half */
.kl-half-sep{background:#f1f5f9;color:#475569;font-weight:800;font-size:12px;padding:6px 16px;text-align:center;}

/* Player stat cards */
.kl-stat-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:6px 0 18px;}
.kl-stat-card{background:#f8fafc;border:1px solid var(--kl-line);border-radius:12px;padding:14px;text-align:center;}
.kl-stat-card .num{display:block;font-size:26px;font-weight:800;color:var(--kl-green);}
.kl-stat-card .lbl{font-size:12px;color:#64748b;}
@media(max-width:600px){.kl-stat-cards{grid-template-columns:repeat(3,1fr);}}

/* Card grids */
.kl-leagues-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.kl-video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:768px){.kl-leagues-grid,.kl-video-grid{grid-template-columns:1fr 1fr;}}
