/* KQBD66 results board — desktop table rhythm + mobile card layout.
   Colors reference the theme palette via CSS vars with safe fallbacks. */
.kqbd-board{--k-line:var(--wp--preset--color--line,#d8e2dc);--k-primary:var(--wp--preset--color--primary,#0b7a3b);
  --k-live:var(--wp--preset--color--live,#e10600);--k-ink:var(--wp--preset--color--ink,#0f1b14);
  --k-soft:var(--wp--preset--color--ink-soft,#33413a);--k-surface:var(--wp--preset--color--surface-2,#fff);
  border:1px solid var(--k-line);border-radius:12px;overflow:hidden;background:var(--k-surface)}
.kqbd-board-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  padding:.7rem 1rem;border-bottom:1px solid var(--k-line)}
.kqbd-board-title{font-size:1.05rem;margin:0}
.kqbd-fresh{font-size:.72rem;color:var(--k-primary);font-weight:600;white-space:nowrap}

.kqbd-grp{border-bottom:1px solid var(--k-line)}
.kqbd-grp-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;
  background:#eef4f0;padding:.4rem 1rem;border-left:3px solid var(--k-primary)}
.kqbd-grp-title{font-size:.9rem}
.kqbd-cty{color:var(--k-soft)}
.kqbd-flag{border-radius:2px;vertical-align:-2px;margin-right:.35rem}
.kqbd-grp-links a{font-size:.8rem;color:var(--k-primary);text-decoration:none;margin-left:.7rem;font-weight:600}
.kqbd-grp-links a:hover{text-decoration:underline}

/* match row: 5-col grid time | home | score | away | meta */
.kqbd-row{display:grid;grid-template-columns:56px 1fr auto 1fr 132px;align-items:center;gap:.4rem;
  padding:.5rem 1rem;border-top:1px solid #f0f4f2;font-size:.9rem}
.kqbd-row:first-child{border-top:0}
.kqbd-time{font-variant-numeric:tabular-nums;font-size:.85rem}
.kqbd-ko{color:#2456c9}
.kqbd-ft{color:var(--k-soft);font-weight:600}
.kqbd-live-min{color:var(--k-live);font-weight:700}
.kqbd-team{display:flex;align-items:center;gap:.45rem;min-width:0}
.kqbd-home{justify-content:flex-end;text-align:right}
.kqbd-away{justify-content:flex-start}
.kqbd-tn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kqbd-team.kqbd-win .kqbd-tn{font-weight:700}
.kqbd-logo{flex:0 0 auto}
.kqbd-score{min-width:52px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;
  padding:.15rem .4rem;border-radius:6px;background:#eef4f0}
.kqbd-score.kqbd-state-live{background:var(--k-live);color:#fff}
.kqbd-score.kqbd-state-upcoming{background:transparent;color:var(--k-soft);font-weight:600}
.kqbd-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;text-align:right}
.kqbd-ht{font-size:.72rem;color:var(--k-soft)}
.kqbd-round{font-size:.72rem;color:var(--k-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}

.kqbd-minor summary{cursor:pointer;padding:.6rem 1rem;font-weight:600;color:var(--k-primary);font-size:.9rem}
.kqbd-empty{padding:1.25rem;text-align:center;color:var(--k-soft);font-size:.9rem}

/* standings + scorers tables */
.kqbd-standings,.kqbd-scorers{width:100%;border-collapse:collapse;font-size:.88rem}
.kqbd-standings th,.kqbd-scorers th{background:#eef4f0;text-align:center;padding:.5rem .35rem;font-size:.78rem}
.kqbd-standings td,.kqbd-scorers td{text-align:center;padding:.45rem .35rem;border-top:1px solid var(--k-line)}
.kqbd-st-team{text-align:left!important;display:flex;align-items:center;gap:.4rem}

/* stats hub (scorers + assists side by side) */
.kqbd-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.kqbd-stats-grid h3{font-size:1rem;margin:.25rem 0 .5rem}
.kqbd-hub-block{margin-bottom:1.5rem}
.kqbd-hub-block>h3{font-size:1.1rem;border-left:3px solid var(--wp--preset--color--primary,#0b7a3b);padding-left:.5rem}

/* entity directory (clb / dtqg) */
.kqbd-ent-group{margin-bottom:1.5rem}
.kqbd-ent-group>h3{font-size:1.05rem;border-left:3px solid var(--wp--preset--color--primary,#0b7a3b);padding-left:.5rem;margin-bottom:.6rem}
.kqbd-ent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}
.kqbd-ent-card{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border:1px solid #d8e2dc;border-radius:8px;
  text-decoration:none;color:var(--wp--preset--color--ink,#0f1b14);background:#fff;font-size:.9rem}
.kqbd-ent-card:hover{border-color:var(--wp--preset--color--primary,#0b7a3b)}
/* entity detail */
.kqbd-ent-head{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.kqbd-ent-facts{color:#33413a;font-size:.9rem;margin-top:.25rem}
.kqbd-entity h3{margin-top:1.5rem;font-size:1.1rem}
.kqbd-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem}
.kqbd-stat{background:#eef4f0;border-radius:8px;padding:.6rem;text-align:center}
.kqbd-stat span{display:block;font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}
.kqbd-stat label{font-size:.75rem;color:#33413a}
.kqbd-form{margin-top:.6rem;display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.kqbd-form span{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;
  color:#fff;font-size:.72rem;font-weight:700}
.kqbd-form-w{background:#0b7a3b}.kqbd-form-l{background:#e10600}.kqbd-form-d{background:#8a8f8c}
.kqbd-squad td{text-align:left}
/* per-match stats */
.kqbd-mstats-head{display:grid;grid-template-columns:1fr auto 1fr;font-weight:700;padding:.4rem 0;border-bottom:1px solid #d8e2dc}
.kqbd-mstats-head span:last-child{text-align:right}
.kqbd-mstat-row{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;padding:.35rem 0;font-size:.9rem}
.kqbd-mstat-row .lbl{text-align:center;color:#33413a;font-size:.82rem}
.kqbd-mstat-row .av{text-align:right;font-weight:600}
.kqbd-mstat-row .hv{font-weight:600}

/* kèo (odds) reference table — VN-friendly bảng kèo */
.kqbd-keo{--k-line:var(--wp--preset--color--line,#d8e2dc);--k-primary:var(--wp--preset--color--primary,#0b7a3b);
  --k-accent:var(--wp--preset--color--accent,#f4a300);--k-ink:var(--wp--preset--color--ink,#0f1b14)}
.kqbd-keo-league{display:flex;align-items:center;gap:.35rem;font-size:1rem;margin:1.1rem 0 .35rem;
  border-left:3px solid var(--k-primary);padding-left:.5rem}
.kqbd-keo-league .kqbd-flag{border-radius:2px}
.kqbd-keo-scroll{overflow-x:auto;border:1px solid var(--k-line);border-radius:10px}
.kqbd-odds-table{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums;background:#fff;min-width:640px}
.kqbd-odds-table thead th{background:var(--k-primary);color:#fff;font-weight:700;font-size:.78rem;padding:.4rem .3rem;text-align:center;border-right:1px solid rgba(255,255,255,.15)}
.kqbd-odds-table thead tr:nth-child(2) th{background:#095e2e;font-size:.72rem;font-weight:600}
.kqbd-odds-table th.c-time,.kqbd-odds-table th.c-match{vertical-align:middle}
.kqbd-odds-table tbody td{padding:.5rem .3rem;text-align:center;border-top:1px solid var(--k-line);border-right:1px solid #f0f4f2}
.kqbd-odds-table tbody tr:nth-child(even){background:#f7faf8}
.kqbd-odds-table .c-time{color:#2456c9;font-weight:600;white-space:nowrap;width:52px}
.kqbd-odds-table .c-match{text-align:left;white-space:nowrap;min-width:200px}
.kqbd-odds-table .c-match .kqbd-h{font-weight:700}
.kqbd-odds-table .c-match .kqbd-vs{color:#8a8f8c;margin:0 .4rem;font-size:.8rem}
.kqbd-odds-table .c-match .kqbd-a{color:var(--k-ink)}
.kqbd-odds-table .c-odd{font-weight:600;position:relative;min-width:52px}
.kqbd-odds-table .kqbd-line{display:block;font-size:.7rem;font-weight:700;color:#b25a00;line-height:1}
.kqbd-odds-table .kqbd-na{color:#c4ccc8}
.kqbd-keo-note{font-size:.78rem;color:#8a8f8c;margin:.6rem 0 0;font-style:italic}
.kqbd-odds-table .c-match a{color:inherit;text-decoration:none}
.kqbd-odds-table .c-match a:hover{color:var(--wp--preset--color--primary,#0b7a3b);text-decoration:underline}
/* related-entity links (shared across tools) */
.kqbd-related{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--wp--preset--color--line,#d8e2dc);
  display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;font-size:.85rem}
.kqbd-related-h{font-weight:700;color:var(--wp--preset--color--ink,#0f1b14)}
.kqbd-related a{color:var(--wp--preset--color--primary,#0b7a3b);text-decoration:none}
.kqbd-related a:hover{text-decoration:underline}
@media (max-width:600px){
  .kqbd-odds-table{font-size:.82rem}
  .kqbd-odds-table .c-match{min-width:150px;white-space:normal}
  .kqbd-odds-table .c-match .kqbd-vs{display:block;margin:.1rem 0}
}

/* dự đoán (prediction) cards */
.kqbd-pred-board{display:grid;gap:1rem}
.kqbd-pred{border:1px solid var(--wp--preset--color--line,#d8e2dc);border-radius:10px;padding:.9rem 1rem;background:#fff}
.kqbd-pred-head{font-weight:600;margin-bottom:.6rem}
.kqbd-pred-head .kqbd-pred-time{color:#2456c9;margin-right:.35rem}
.kqbd-pred-head .kqbd-vs{color:#8a8f8c;margin:0 .35rem;font-weight:400}
.kqbd-pred-pct{display:flex;height:26px;border-radius:6px;overflow:hidden;font-size:.75rem;font-weight:700;color:#fff}
.kqbd-pred-pct span{display:flex;align-items:center;justify-content:center;min-width:0}
.kqbd-pred-pct .p-home{background:var(--wp--preset--color--primary,#0b7a3b)}
.kqbd-pred-pct .p-draw{background:#8a8f8c}
.kqbd-pred-pct .p-away{background:var(--wp--preset--color--secondary,#c1272d)}
.kqbd-pred-legend{display:flex;justify-content:space-between;font-size:.72rem;color:#33413a;margin-top:.2rem}
.kqbd-pred-note{font-size:.85rem;margin:.6rem 0 .4rem}
.kqbd-cmp-wrap{display:grid;gap:.3rem;margin-top:.4rem}
.kqbd-cmp{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:.5rem;font-size:.78rem}
.kqbd-cmp-l{color:#33413a}
.kqbd-cmp-bar{height:8px;background:#e6ede9;border-radius:5px;overflow:hidden}
.kqbd-cmp-bar i{display:block;height:100%;background:var(--wp--preset--color--primary,#0b7a3b)}
.kqbd-cmp-v{color:#8a8f8c;font-variant-numeric:tabular-nums}
/* editorial article list */
.kqbd-articles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem}
.kqbd-art{border:1px solid var(--wp--preset--color--line,#d8e2dc);border-radius:10px;overflow:hidden;background:#fff}
.kqbd-art-thumb img{width:100%;height:160px;object-fit:cover;display:block}
.kqbd-art-body{padding:.8rem}
.kqbd-art-body h3{font-size:1.05rem;margin:0 0 .3rem}
.kqbd-art-body h3 a{text-decoration:none}
.kqbd-art-meta{font-size:.75rem;color:#8a8f8c;margin-bottom:.4rem}
.kqbd-art-body p{font-size:.88rem;color:#33413a;margin:0}

/* FIFA ranking movement */
.kqbd-fifa .kqbd-mv-up{color:var(--wp--preset--color--primary,#0b7a3b);font-weight:700}
.kqbd-fifa .kqbd-mv-dn{color:var(--wp--preset--color--live,#e10600);font-weight:700}
.kqbd-fifa .kqbd-mv0{color:#8a8f8c}

/* head-to-head */
.kqbd-h2h-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.kqbd-h2h-form input{flex:1;min-width:140px;padding:.55rem .7rem;border:1px solid #d8e2dc;border-radius:8px;font-size:.95rem}
.kqbd-h2h-form button{padding:.55rem 1.1rem;border:0;border-radius:8px;background:var(--wp--preset--color--primary,#0b7a3b);color:#fff;font-weight:700;cursor:pointer}
.kqbd-h2h-vs{font-weight:700;color:#8a8f8c}
.kqbd-h2h-sum{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center;text-align:center;
  background:#eef4f0;border-radius:10px;padding:.9rem;margin-bottom:1rem}
.kqbd-h2h-cell{display:flex;flex-direction:column;gap:.15rem}
.kqbd-h2h-cell span{font-size:.85rem;color:#33413a}

/* MOBILE: collapse to stacked cards — kqbd.mobi keeps a cramped wide table */
@media (max-width:600px){
  .kqbd-row{grid-template-columns:44px 1fr auto 1fr;row-gap:.15rem;padding:.5rem .6rem;font-size:.85rem}
  .kqbd-meta{grid-column:2 / 5;flex-direction:row;justify-content:flex-start;gap:.5rem;margin-top:.1rem}
  .kqbd-round{max-width:none}
  .kqbd-grp-head{padding:.4rem .6rem}
  .kqbd-grp-links a{margin-left:.5rem;font-size:.75rem}
  .kqbd-logo{display:none}          /* keep team names readable on small screens */
  .kqbd-board-title{font-size:.95rem}
  .kqbd-stats-grid{grid-template-columns:1fr}   /* scorers/assists stack */
}
