/* NB_SCHEDULE_V23_TABLE - complete replacement; only /lich-truc-tiep */
.nb-football-schedule .sports-tabs,.nb-football-schedule .schedule-navs,.nb-football-schedule .schedule-content,.nb-football-schedule .section-schedule>div:has(>h1){display:none!important}
.nb-football-schedule .nbsv2{color:#eaf4ff;margin:12px 0 30px;font-family:inherit;width:100%;min-width:0}
.nb-football-schedule .nbsv2,.nb-football-schedule .nbsv2 *{box-sizing:border-box}
.nb-football-schedule .nbsv2 button{cursor:pointer;font:inherit}
.nb-football-schedule .nbsv2 .nbsv2-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:12px}
.nb-football-schedule .nbsv2 .nbsv2-day{background:#11243c;border:1px solid #23496e;color:#c7ddf4;border-radius:9px;padding:9px 3px;display:flex;flex-direction:column;gap:3px;align-items:center;min-width:0}
.nb-football-schedule .nbsv2 .nbsv2-day strong{font-size:14px}.nb-football-schedule .nbsv2 .nbsv2-day small{font-size:11px}.nb-football-schedule .nbsv2 .nbsv2-day em{font-size:10px;font-style:normal;opacity:.8}
.nb-football-schedule .nbsv2 .nbsv2-day.active{background:linear-gradient(110deg,#006fe6,#00a5ed);border-color:#3dbbff;color:#fff}
.nb-football-schedule .nbsv2 .nbsv2-sports{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:thin}
.nb-football-schedule .nbsv2 .nbsv2-sport{white-space:nowrap;background:#11243c;border:1px solid #24517c;border-radius:22px;color:#c7ddf4;padding:7px 13px;font-size:12px}
.nb-football-schedule .nbsv2 .nbsv2-sport.active{background:#087de5;border-color:#29b9ff;color:#fff}
.nb-football-schedule .nbsv2 .nbsv2-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#10243c;border:1px solid #254b73;padding:10px;border-radius:10px;margin-bottom:12px}
.nb-football-schedule .nbsv2 .nbsv2-search{background:#091a2e!important;border:1px solid #35618b!important;border-radius:8px!important;color:#fff!important;padding:9px 12px!important;flex:1;min-width:180px;outline:none}
.nb-football-schedule .nbsv2 .nbsv2-tools label{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;cursor:pointer}
.nb-football-schedule .nbsv2 .nbsv2-tools input[type=checkbox]{accent-color:#0095ff}
.nb-football-schedule .nbsv2 .nbsv2-count{font-size:12px;color:#77c9ff}
/* Exact same six columns for header and rows; never inherit previous grid definitions */
.nb-football-schedule .nbsv2 .nbsv2-head,.nb-football-schedule .nbsv2 .nbsv2-row{display:grid!important;grid-template-columns:64px minmax(100px,1fr) minmax(320px,3.2fr) minmax(120px,1.1fr) 108px 100px!important;gap:10px!important;align-items:center!important;min-width:0}
.nb-football-schedule .nbsv2 .nbsv2-head{background:#173450;color:#8ed8ff;padding:11px 12px!important;font-size:11px;font-weight:700;border-radius:9px 9px 0 0;line-height:1.2}
.nb-football-schedule .nbsv2 .nbsv2-head>span{display:block!important;min-width:0;white-space:nowrap}
.nb-football-schedule .nbsv2 .nbsv2-league{background:#142d49;border-top:1px solid #275076;padding:7px 12px;font-size:12px;font-weight:700;color:#78c9ff;display:flex;align-items:center;gap:7px;min-height:31px}
.nb-football-schedule .nbsv2 .nbsv2-league img{height:18px!important;width:18px!important;object-fit:contain}
.nb-football-schedule .nbsv2 .nbsv2-league small{font-size:10px;opacity:.8}
.nb-football-schedule .nbsv2 .nbsv2-row{background:#0e2036;border-bottom:1px solid #25435e;padding:8px 12px!important;min-height:55px!important;font-size:12px}
.nb-football-schedule .nbsv2 .nbsv2-row:hover{background:#16304e}
.nb-football-schedule .nbsv2 .nbsv2-time{font-weight:700;color:#d7eaff;font-size:12px;white-space:nowrap}
.nb-football-schedule .nbsv2 .nbsv2-league-cell{font-size:11px;color:#c5d9eb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.nb-football-schedule .nbsv2 .nbsv2-match{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;width:100%}
.nb-football-schedule .nbsv2 .nbsv2-team{display:flex!important;align-items:center;gap:6px;min-width:0;width:100%;font-size:12px;flex:none}
.nb-football-schedule .nbsv2 .nbsv2-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.nb-football-schedule .nbsv2 .nbsv2-team img{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;object-fit:contain;flex:none}
.nb-football-schedule .nbsv2 .nbsv2-home{justify-content:flex-end;text-align:right}
.nb-football-schedule .nbsv2 .nbsv2-away{justify-content:flex-start;text-align:left}
.nb-football-schedule .nbsv2 .nbsv2-score{font-weight:800;white-space:nowrap;color:#fff;background:#1b3959;padding:5px 7px;border-radius:6px;font-size:11px;min-width:32px;text-align:center}
.nb-football-schedule .nbsv2 .nbsv2-blv{display:flex!important;flex-wrap:wrap;gap:3px;align-items:center;min-width:0;overflow:hidden}
.nb-football-schedule .nbsv2 .nbsv2-blv-pill{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-width:0;background:#1a3956;border:1px solid #326187;border-radius:20px;padding:3px 7px;color:#d4eaff;font-size:11px;line-height:1.2}
.nb-football-schedule .nbsv2 .nbsv2-blv-pill img{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;border-radius:50%;object-fit:cover;flex:none}
.nb-football-schedule .nbsv2 .nbsv2-blv-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nb-football-schedule .nbsv2 .nbsv2-empty{color:#7896af}
.nb-football-schedule .nbsv2 .nbsv2-status{font-size:10px!important;border-radius:5px;background:#25415e;color:#c7dff7;padding:6px 5px!important;text-align:center;display:block!important;white-space:nowrap;line-height:1.2;min-width:0}
.nb-football-schedule .nbsv2 .nbsv2-status.live{background:#c21f40;color:#fff}
.nb-football-schedule .nbsv2 .nbsv2-status.ended{background:#263a4a;color:#bdcad7}
.nb-football-schedule .nbsv2 .nbsv2-action{min-width:0;display:flex;justify-content:center}
.nb-football-schedule .nbsv2 .nbsv2-no-link{font-size:10px;color:#91abc0;white-space:nowrap;border:1px solid #2d4c68;background:#122b43;border-radius:6px;padding:6px 7px}
.nb-football-schedule .nbsv2 .nbsv2-note{padding:18px;text-align:center;color:#a5bfd9;background:#10243c}
.nb-football-schedule .nbsv2 .nbsv2-more{display:block;margin:16px auto;background:linear-gradient(100deg,#006fe4,#00a8ef)!important;border:0!important;color:white!important;border-radius:22px;padding:11px 28px;font-weight:700}
.nb-football-schedule .nbsv2 .nbsv2-more[hidden]{display:none!important}
@media(max-width:1050px) and (min-width:701px){.nb-football-schedule .nbsv2 .nbsv2-head,.nb-football-schedule .nbsv2 .nbsv2-row{grid-template-columns:52px minmax(75px,.8fr) minmax(240px,2.8fr) minmax(90px,1fr) 92px 83px!important;gap:6px!important}.nb-football-schedule .nbsv2 .nbsv2-team{font-size:11px}.nb-football-schedule .nbsv2 .nbsv2-blv-pill img{width:18px!important;height:18px!important}}
@media(max-width:700px){
.nb-football-schedule .nbsv2 .nbsv2-dates{gap:3px}.nb-football-schedule .nbsv2 .nbsv2-day{padding:7px 1px}.nb-football-schedule .nbsv2 .nbsv2-day strong{font-size:11px}.nb-football-schedule .nbsv2 .nbsv2-day small,.nb-football-schedule .nbsv2 .nbsv2-day em{font-size:9px}
.nb-football-schedule .nbsv2 .nbsv2-tools{gap:8px}.nb-football-schedule .nbsv2 .nbsv2-search{min-width:100%;flex-basis:100%}
.nb-football-schedule .nbsv2 .nbsv2-head{display:none!important}
.nb-football-schedule .nbsv2 .nbsv2-row{display:grid!important;grid-template-columns:43px minmax(0,1fr) 95px!important;gap:5px 7px!important;min-height:0!important;padding:8px!important}
.nb-football-schedule .nbsv2 .nbsv2-time{grid-column:1;grid-row:1;font-size:11px}
.nb-football-schedule .nbsv2 .nbsv2-league-cell{display:none!important}
.nb-football-schedule .nbsv2 .nbsv2-match{grid-column:2;grid-row:1;gap:3px}
.nb-football-schedule .nbsv2 .nbsv2-team{font-size:10px;gap:2px}
.nb-football-schedule .nbsv2 .nbsv2-team img{width:16px!important;height:16px!important}
.nb-football-schedule .nbsv2 .nbsv2-score{font-size:10px;padding:4px;min-width:25px}
.nb-football-schedule .nbsv2 .nbsv2-blv{grid-column:3;grid-row:1;justify-content:center}
.nb-football-schedule .nbsv2 .nbsv2-blv-pill{font-size:9px;padding:3px 4px}.nb-football-schedule .nbsv2 .nbsv2-blv-pill img{width:15px!important;height:15px!important}
.nb-football-schedule .nbsv2 .nbsv2-status{grid-column:2;grid-row:2;justify-self:start;font-size:9px!important;padding:4px 6px!important}
.nb-football-schedule .nbsv2 .nbsv2-action{grid-column:3;grid-row:2;justify-content:center}.nb-football-schedule .nbsv2 .nbsv2-no-link{font-size:9px;padding:4px}
}

/* NEM BIEN TV V2.3 - status column refinement */
@media (min-width: 901px) {
  .nbsv2 .nbsv2-head,
  .nbsv2 .nbsv2-row {
    grid-template-columns:
      70px minmax(130px, 1fr)
      minmax(330px, 2.5fr)
      minmax(130px, 0.9fr)
      125px 130px !important;
  }

  .nbsv2 .nbsv2-head > :nth-child(5),
  .nbsv2 .nbsv2-row > .nbsv2-status {
    text-align: center !important;
    justify-self: center !important;
  }

  .nbsv2 .nbsv2-status {
    width: max-content !important;
    max-width: 125px !important;
    white-space: nowrap !important;
  }
}

/* NEM BIEN TV - 5 columns */
@media (min-width: 901px) {
  .nbsv2 .nbsv2-head,
  .nbsv2 .nbsv2-row {
    grid-template-columns:
      70px minmax(130px, 1fr)
      minmax(400px, 3fr)
      minmax(150px, 1fr)
      130px !important;
  }

  .nbsv2 .nbsv2-head > :nth-child(5),
  .nbsv2 .nbsv2-row > .nbsv2-status {
    justify-self: center !important;
    text-align: center !important;
  }
}


/* NEM BIEN TV - LIVE BLV GLOW */
.nb-football-schedule .nbsv2 .nbsv2-row.nbsv2-is-live
.nbsv2-blv-pill {
  position: relative;
  isolation: isolate;
  border: 1px solid transparent;
  background:
    linear-gradient(#122e4c,#122e4c) padding-box,
    conic-gradient(from var(--nb-glow-angle,0deg),
      #ffd12c,#008cff,#7538ff,#ffd12c) border-box;
  box-shadow: 0 0 7px #008cff88, 0 0 12px #7538ff55;
  animation: nb-blv-glow 3s linear infinite;
}

@property --nb-glow-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

@keyframes nb-blv-glow {
  to { --nb-glow-angle: 360deg; }
}

.nb-football-schedule .nbsv2
.nbsv2-row.nbsv2-is-live .nbsv2-blv-pill img {
  box-shadow: 0 0 7px #008cff, 0 0 11px #7b35ff;
}

.nb-football-schedule .nbsv2
.nbsv2-row.nbsv2-is-live .nbsv2-status.live {
  background: #009dff !important;
  color: #fff !important;
  border-radius: 18px !important;
  font-weight: 800 !important;
  box-shadow: 0 0 9px #008cffaa, 0 0 19px #008cff66;
  animation: nb-live-pulse 1.8s ease-in-out infinite;
}

@keyframes nb-live-pulse {
  0%,100% {
    box-shadow: 0 0 7px #008cff88, 0 0 13px #008cff44;
  }
  50% {
    box-shadow: 0 0 13px #008cff, 0 0 25px #008cff99;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nb-football-schedule .nbsv2
  .nbsv2-row.nbsv2-is-live .nbsv2-blv-pill,
  .nb-football-schedule .nbsv2
  .nbsv2-row.nbsv2-is-live .nbsv2-status.live {
    animation: none !important;
  }
}
