/*
 * Nabd Football — Broadcast Editorial UI v7
 * Layered, upgrade-safe visual system for public pages.
 */
:root{
  --n7-font:"Alexandria","Segoe UI",Tahoma,Arial,sans-serif;
  --n7-bg:#f3f6fa;
  --n7-card:#ffffff;
  --n7-card-soft:#f8fafc;
  --n7-line:#e5eaf1;
  --n7-line-strong:#d5dce7;
  --n7-text:#111827;
  --n7-text-2:#334155;
  --n7-muted:#748094;
  --n7-muted-2:#a1aabc;
  --n7-navy:#0b1424;
  --n7-navy-2:#14223a;
  --n7-blue:#1769e8;
  --n7-blue-2:#0d54c7;
  --n7-blue-soft:#eef5ff;
  --n7-cyan:#23b4d6;
  --n7-gold:#f8b929;
  --n7-red:#eb3c5c;
  --n7-green:#0da477;
  --n7-radius-xs:8px;
  --n7-radius-sm:12px;
  --n7-radius:16px;
  --n7-radius-lg:22px;
  --n7-shadow:0 8px 28px rgba(15,35,66,.07);
  --n7-shadow-lg:0 22px 65px rgba(11,30,63,.13);
  --n7-container:1240px;
}
html[data-theme="dark"]{
  --n7-bg:#0c121c;--n7-card:#141d2a;--n7-card-soft:#192433;--n7-line:#273448;
  --n7-line-strong:#37465d;--n7-text:#f5f7fb;--n7-text-2:#d8deea;--n7-muted:#9ba8bb;
  --n7-muted-2:#748298;--n7-blue-soft:#142b50;--n7-shadow:0 10px 30px rgba(0,0,0,.22);
}
html,body{background:var(--n7-bg)!important}
body{font-family:var(--n7-font)!important;color:var(--n7-text)!important;font-size:15px!important;line-height:1.55!important;font-weight:400!important}
body *,button,input,select,textarea{font-family:var(--n7-font)!important}
body h1,body h2,body h3,body h4,body strong{letter-spacing:0!important}
body h1,body h2,body h3{font-weight:700!important}
.page-shell{width:min(100%,var(--n7-container))!important;max-width:var(--n7-container)!important;padding:24px 20px 72px!important}
.card,.np-panel,.np-side-panel,.np-league-card{border:1px solid var(--n7-line)!important;background:var(--n7-card)!important;box-shadow:var(--n7-shadow)!important}

/* Header — quieter and more editorial */
.site-header.sports-header-v4{height:68px!important;background:#0b1422!important;border-bottom:1px solid rgba(255,255,255,.07)!important;box-shadow:0 8px 26px rgba(7,14,28,.16)!important}
.sports-header-v4 .header-inner{height:68px!important;max-width:1440px!important;padding-inline:18px!important;gap:12px!important}
.sports-header-v4 .brand{min-width:154px!important}
.sports-header-v4 .brand-mark{width:42px!important;height:42px!important;border-radius:13px!important}
.sports-header-v4 .brand-copy strong{font-size:1rem!important;font-weight:700!important}
.sports-header-v4 .brand-copy small{font-size:.61rem!important;letter-spacing:0!important}
.sports-header-v4 .header-live-link{height:40px!important;border-radius:12px!important;padding-inline:14px!important}
.sports-header-v4 .header-live-link strong{font-size:.73rem!important}
.sports-header-v4 .main-nav{height:68px!important;gap:0!important}
.sports-header-v4 .nav-link{height:68px!important;padding-inline:11px!important;font-size:.72rem!important;font-weight:500!important;gap:6px!important}
.sports-header-v4 .nav-link.active{font-weight:700!important}
.sports-header-v4 .nav-link .icon{width:16px!important;height:16px!important}
.sports-header-v4 .header-actions{gap:3px!important}
.sports-header-v4 .header-icon-button{width:38px!important;height:38px!important;min-width:38px!important}

/* Match-day hero */
.np-matchday-hero{min-height:150px!important;margin-bottom:14px!important;padding:24px 28px!important;border-radius:var(--n7-radius-lg)!important;background:linear-gradient(118deg,#071427 0%,#10366c 60%,#1572ec 100%)!important;box-shadow:var(--n7-shadow-lg)!important}
.np-matchday-pattern{opacity:.66!important;background-size:auto,auto,auto,24px 24px!important}
.np-matchday-title>span{font-size:.76rem!important;font-weight:600!important;color:#c8dcff!important}
.np-matchday-title h1{font-size:2.38rem!important;line-height:1.25!important;margin:7px 0 3px!important;font-weight:750!important}
.np-matchday-title p{font-size:.74rem!important;color:#c1cce0!important}
.np-matchday-stats{gap:9px!important}
.np-matchday-stat{width:94px!important;min-height:88px!important;border-radius:14px!important;padding:12px 10px!important;background:rgba(255,255,255,.08)!important}
.np-matchday-stat strong{font-size:1.78rem!important;line-height:1.15!important}
.np-matchday-stat small{font-size:.58rem!important;font-weight:500!important}

/* Date browser and toolbar */
.np-date-browser{padding:12px!important;border:1px solid var(--n7-line)!important;border-radius:var(--n7-radius)!important;background:var(--n7-card)!important;box-shadow:var(--n7-shadow)!important}
.np-date-browser-head{min-height:42px!important;margin-bottom:9px!important}
.np-date-browser-head strong{font-size:.88rem!important}.np-date-browser-head small{font-size:.57rem!important}
.np-date-actions>a,.np-date-picker label{height:38px!important;border-radius:10px!important}
.np-date-actions a,.np-date-picker label{font-size:.64rem!important;font-weight:600!important}
.np-date-strip{gap:7px!important}
.np-date-item{min-height:68px!important;border-radius:12px!important;border:1px solid var(--n7-line)!important;background:var(--n7-card-soft)!important}
.np-date-item small{font-size:.56rem!important}.np-date-item strong{font-size:1.13rem!important;line-height:1.1!important}.np-date-item span{font-size:.52rem!important}
.np-date-item.active{border-color:#f3b620!important;background:linear-gradient(135deg,#ffd859,#f7b51d)!important;color:#1e293b!important;box-shadow:0 8px 18px rgba(244,182,33,.23)!important}
.np-toolbar{min-height:54px!important;margin:14px 0!important;gap:12px!important}
.np-status-tabs{height:46px!important;padding:4px!important;border:1px solid var(--n7-line)!important;border-radius:13px!important;background:var(--n7-card)!important;box-shadow:var(--n7-shadow)!important}
.np-status-tabs a{height:36px!important;border-radius:10px!important;padding-inline:12px!important;font-size:.67rem!important;font-weight:600!important;gap:6px!important}
.np-status-tabs a b{font-size:.59rem!important;min-width:22px!important;height:22px!important}
.np-status-tabs a.active{background:var(--n7-navy)!important;color:#fff!important;box-shadow:none!important}
.np-match-search{height:46px!important;width:286px!important;border:1px solid var(--n7-line)!important;border-radius:13px!important;background:var(--n7-card)!important;box-shadow:var(--n7-shadow)!important}
.np-match-search input{font-size:.68rem!important}.np-density-button{height:46px!important;width:46px!important;border-radius:13px!important}

/* Main match-center balance */
.np-home-layout{grid-template-columns:minmax(0,1fr) 248px!important;gap:16px!important;align-items:start!important}
.np-league-column{gap:14px!important}.np-home-sidebar{gap:12px!important;position:sticky!important;top:84px!important}
.np-side-panel{border-radius:var(--n7-radius)!important;padding:17px!important}
.np-side-panel>header h2{font-size:.9rem!important}.np-side-panel>header small{font-size:.58rem!important}
.np-live-total{padding:18px 0 12px!important}.np-live-total strong{font-size:2.35rem!important}.np-live-total span{font-size:.68rem!important}
.np-key-values>div{min-height:39px!important}.np-key-values dt,.np-key-values dd{font-size:.66rem!important}
.np-timezone-panel{min-height:86px!important;border-radius:var(--n7-radius)!important;padding:15px!important}.np-timezone-panel strong{font-size:.72rem!important}

/* League card */
.np-league-card{border-radius:var(--n7-radius)!important;overflow:hidden!important}
.np-league-head{min-height:68px!important;padding:10px 13px!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:12px!important;background:linear-gradient(105deg,#0b1424,#172640)!important}
.np-league-name{gap:11px!important}
.np-league-name>span{width:46px!important;height:46px!important;flex-basis:46px!important;border-radius:12px!important;padding:0!important}
.np-league-name img{padding:4px!important}
.np-league-name strong{font-size:.9rem!important;font-weight:700!important}.np-league-name small{font-size:.58rem!important;margin-top:2px!important}
.np-league-status{font-size:.62rem!important}.np-league-controls .favorite-action,.np-collapse{width:38px!important;height:38px!important}
.np-league-nav{height:42px!important;padding-inline:14px!important;gap:24px!important}.np-league-nav a{height:42px!important;font-size:.64rem!important;font-weight:600!important}

/* Match row: strict, symmetric sports table */
.np-match-row{min-height:88px!important;padding:9px 10px!important;gap:8px!important;background:var(--n7-card)!important;border-bottom:1px solid var(--n7-line)!important}
html[dir="rtl"] .np-match-row{grid-template-columns:70px 132px minmax(0,1fr) 110px minmax(0,1fr)!important;grid-template-areas:"actions meta away score home"!important}
html[dir="ltr"] .np-match-row{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr) 132px 70px!important;grid-template-areas:"home score away meta actions"!important}
.np-match-row:hover,.np-match-row:focus-visible{background:#f7faff!important;box-shadow:inset 0 0 0 1px #c8d9f7!important;transform:none!important}
.np-match-accent{inset-block:12px!important;width:3px!important}
.np-match-team{gap:10px!important;min-width:0!important}
.np-team-logo{width:48px!important;height:48px!important;flex:0 0 48px!important;border:1px solid var(--n7-line)!important;background:#fff!important;box-shadow:0 5px 16px rgba(15,35,66,.07)!important}
.np-team-logo img{width:100%!important;height:100%!important;object-fit:contain!important;padding:5px!important}
.np-team-logo b{font-size:.72rem!important;color:#1d2a3d!important}
.np-team-text{min-width:0!important}.np-team-text strong{font-size:.79rem!important;font-weight:700!important;line-height:1.35!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.np-team-text small{font-size:.52rem!important;color:var(--n7-muted)!important;margin-top:2px!important}
.np-match-score{min-height:62px!important;padding-inline:5px!important}
.np-match-score time{font-size:1.13rem!important;line-height:1.15!important;font-weight:750!important;color:var(--n7-text)!important}
.np-scoreline strong{font-size:1.35rem!important}.np-status-pill{font-size:.52rem!important;font-weight:600!important;padding:3px 7px!important}.np-countdown{font-size:.49rem!important;color:#b27b00!important}
.np-match-meta{padding-inline:11px!important;border-color:var(--n7-line)!important}.np-match-meta strong{font-size:.63rem!important;font-weight:650!important}.np-match-meta small{font-size:.51rem!important;line-height:1.35!important}
.np-match-actions{gap:5px!important}.np-match-actions .favorite-action,.np-open-match{width:34px!important;height:34px!important;border-radius:10px!important}

/* Empty state: less dead space */
.np-empty-state{min-height:290px!important;border-radius:var(--n7-radius)!important;border:1px solid var(--n7-line)!important;background:var(--n7-card)!important;box-shadow:var(--n7-shadow)!important}
.np-empty-state h2{font-size:1.32rem!important}.np-empty-state p{font-size:.72rem!important}
.home-favorites-prompt{margin-top:18px!important;border-radius:var(--n7-radius-lg)!important;padding:24px!important}
.home-favorites-prompt h2{font-size:1.2rem!important}.home-favorites-prompt p{font-size:.73rem!important}

/* Entity and match pages */
.np-entity-hero,.arena-match-hero{border-radius:var(--n7-radius-lg)!important;box-shadow:var(--n7-shadow-lg)!important}
.np-entity-copy h1{font-size:2rem!important}.np-entity-copy p{font-size:.75rem!important}.np-entity-kicker{font-size:.65rem!important}
.np-entity-stat small{font-size:.55rem!important}.np-entity-stat strong{font-size:.92rem!important}
.np-page-tabs{min-height:50px!important;border-radius:14px!important}.np-page-tabs a{font-size:.68rem!important;font-weight:600!important}
.np-panel{border-radius:var(--n7-radius)!important;overflow:hidden!important}.np-panel-head{min-height:72px!important;padding:14px 17px!important}.np-panel-head span{font-size:.58rem!important}.np-panel-head h2{font-size:1.03rem!important}
.arena-match-versus{min-height:250px!important}.arena-hero-team>strong{font-size:1rem!important}.arena-hero-team>small{font-size:.58rem!important}.arena-hero-score>time{font-size:2.75rem!important}.arena-match-facts>div strong{font-size:.68rem!important}

/* Tables: fixed rhythm and readable columns */
.premium-table-scroll,.table-scroll{overflow:auto!important;scrollbar-width:thin!important}
.standings-table{width:100%!important;min-width:850px!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;font-size:.69rem!important}
.standings-table th{height:44px!important;padding:8px 10px!important;background:#f6f8fb!important;color:var(--n7-muted)!important;font-size:.57rem!important;font-weight:650!important;text-align:center!important;border-bottom:1px solid var(--n7-line)!important}
html[data-theme="dark"] .standings-table th{background:#192433!important}
.standings-table td{height:52px!important;padding:8px 10px!important;text-align:center!important;border-bottom:1px solid var(--n7-line)!important;vertical-align:middle!important}
.standings-table tbody tr:last-child td{border-bottom:0!important}.standings-table tbody tr:hover td{background:#f8fbff!important}
html[data-theme="dark"] .standings-table tbody tr:hover td{background:#1a2636!important}
.standings-table .position-column{width:58px!important}.standings-table .sticky-team-column{width:230px!important;text-align:start!important}
.table-team{gap:9px!important}.table-team strong{font-size:.68rem!important;font-weight:700!important;white-space:normal!important;line-height:1.3!important}
.position-badge{width:28px!important;height:28px!important;font-size:.61rem!important}.points-value{font-size:.77rem!important}
.mini-form{justify-content:center!important;gap:3px!important}.mini-form span{width:22px!important;height:22px!important;font-size:.5rem!important}

/* Directory cards */
.np-directory-hero{border-radius:var(--n7-radius-lg)!important;padding:26px 30px!important}.np-directory-hero h1{font-size:2rem!important}.np-directory-hero p{font-size:.76rem!important}
.np-competition-grid{gap:16px!important}.np-competition-card{border-radius:var(--n7-radius)!important;border:1px solid var(--n7-line)!important;box-shadow:var(--n7-shadow)!important}.np-competition-copy h2{font-size:1rem!important}.np-competition-copy p,.np-competition-copy small{font-size:.61rem!important}
.player-card h2{font-size:.86rem!important}.player-card p,.player-card .section-kicker{font-size:.58rem!important}

/* Responsive */
@media(max-width:1280px){
  .sports-header-v4 .nav-link{padding-inline:8px!important;font-size:.67rem!important}
  .sports-header-v4 .brand{min-width:138px!important}
}
@media(max-width:1080px){
  .sports-header-v4 .nav-link:nth-of-type(n+7){display:none!important}
  .np-home-layout{grid-template-columns:minmax(0,1fr) 228px!important}
  html[dir="rtl"] .np-match-row{grid-template-columns:64px minmax(0,1fr) 102px minmax(0,1fr)!important;grid-template-areas:"actions away score home"!important}
  html[dir="ltr"] .np-match-row{grid-template-columns:minmax(0,1fr) 102px minmax(0,1fr) 64px!important;grid-template-areas:"home score away actions"!important}
  .np-match-meta{display:none!important}
}
@media(max-width:900px){
  .page-shell{padding:17px 14px 80px!important}.np-home-layout{grid-template-columns:1fr!important}.np-home-sidebar{position:static!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;order:2!important}
  .np-matchday-title h1{font-size:2rem!important}.np-date-strip{grid-template-columns:repeat(7,minmax(88px,1fr))!important;overflow:auto!important}.np-toolbar{align-items:stretch!important}
}
@media(max-width:640px){
  body{font-size:14px!important}.page-shell{padding:10px 9px 78px!important}.site-header.sports-header-v4{height:60px!important}.sports-header-v4 .header-inner{height:60px!important}
  .np-matchday-hero{padding:18px!important;border-radius:15px!important}.np-matchday-title h1{font-size:1.45rem!important}.np-matchday-stats{margin-top:14px!important}.np-matchday-stat{min-height:68px!important;width:auto!important;flex:1!important}.np-matchday-stat strong{font-size:1.28rem!important}
  .np-date-browser{padding:9px!important}.np-date-strip{grid-template-columns:repeat(7,74px)!important}.np-date-item{min-height:58px!important}.np-date-item strong{font-size:.95rem!important}
  .np-toolbar{margin:10px 0!important}.np-status-tabs{height:44px!important}.np-status-tabs a{height:34px!important;padding-inline:7px!important}.np-status-tabs a span{font-size:.57rem!important}.np-toolbar-tools{display:none!important}
  .np-home-sidebar{grid-template-columns:1fr 1fr!important}.np-timezone-panel{grid-column:1/-1!important}
  .np-league-head{min-height:60px!important}.np-league-name>span{width:40px!important;height:40px!important;flex-basis:40px!important}.np-league-name strong{font-size:.72rem!important}.np-league-nav{gap:16px!important;overflow:auto!important}
  html[dir="rtl"] .np-match-row,html[dir="ltr"] .np-match-row{min-height:104px!important;padding:10px 6px!important;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)!important;grid-template-rows:1fr auto!important;grid-template-areas:"home score away" "meta meta meta"!important}
  .np-match-actions{display:none!important}.np-match-meta{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding-top:7px!important;border-inline:0!important;border-top:1px dashed var(--n7-line)!important}.np-match-team{display:grid!important;justify-items:center!important;gap:4px!important;text-align:center!important}.np-match-home,.np-match-away{justify-content:center!important;flex-direction:initial!important}.np-team-logo{width:40px!important;height:40px!important;flex-basis:40px!important}.np-team-text{width:100%!important;text-align:center!important}.np-team-text strong{font-size:.61rem!important;line-height:1.3!important}.np-team-text small{display:none!important}.np-match-score time{font-size:.86rem!important}.np-status-pill{font-size:.45rem!important}.np-match-meta strong,.np-match-meta small{font-size:.47rem!important}
  .standings-table{min-width:760px!important}.standings-table .sticky-team-column{width:190px!important}
  .np-entity-copy h1{font-size:1.35rem!important}.np-directory-hero h1{font-size:1.45rem!important}
}

/* v1.3.0 readability calibration — desktop broadcast scale */
@media(min-width:641px){
  body{font-size:16px!important;line-height:1.62!important}
  .sports-header-v4 .brand-copy strong{font-size:1.08rem!important}
  .sports-header-v4 .brand-copy small{font-size:.69rem!important}
  .sports-header-v4 .header-live-link strong{font-size:.82rem!important}
  .sports-header-v4 .nav-link{font-size:.8rem!important;font-weight:550!important;padding-inline:12px!important}
  .np-matchday-title>span{font-size:.86rem!important}.np-matchday-title p{font-size:.82rem!important}
  .np-matchday-stat small{font-size:.68rem!important}
  .np-date-browser-head strong{font-size:1rem!important}.np-date-browser-head small{font-size:.67rem!important}
  .np-date-actions a,.np-date-picker label{font-size:.74rem!important}
  .np-date-item small{font-size:.66rem!important}.np-date-item span{font-size:.63rem!important}
  .np-status-tabs a{font-size:.77rem!important}.np-status-tabs a b{font-size:.68rem!important}
  .np-match-search input{font-size:.78rem!important}
  .np-side-panel>header h2{font-size:1.02rem!important}.np-side-panel>header small{font-size:.68rem!important}
  .np-live-total span{font-size:.78rem!important}.np-key-values dt,.np-key-values dd{font-size:.76rem!important}.np-timezone-panel strong{font-size:.82rem!important}
  .np-league-head{min-height:74px!important;padding:11px 15px!important}
  .np-league-name strong{font-size:1.02rem!important}.np-league-name small{font-size:.68rem!important}.np-league-status{font-size:.72rem!important}
  .np-league-nav a{font-size:.74rem!important}
  .np-match-row{min-height:96px!important;padding:11px 12px!important;gap:10px!important}
  html[dir="rtl"] .np-match-row{grid-template-columns:64px 122px minmax(220px,1fr) 112px minmax(220px,1fr)!important}
  html[dir="ltr"] .np-match-row{grid-template-columns:minmax(220px,1fr) 112px minmax(220px,1fr) 122px 64px!important}
  .np-team-logo{width:52px!important;height:52px!important;flex-basis:52px!important}
  .np-team-logo b{font-size:.82rem!important}
  .np-team-text strong{font-size:.92rem!important;font-weight:700!important;line-height:1.45!important}
  .np-team-text small{font-size:.65rem!important}
  .np-match-score time{font-size:1.25rem!important}.np-scoreline strong{font-size:1.48rem!important}
  .np-status-pill{font-size:.64rem!important;padding:4px 8px!important}.np-countdown{font-size:.61rem!important}
  .np-match-meta strong{font-size:.74rem!important}.np-match-meta small{font-size:.62rem!important}
  .np-empty-state h2{font-size:1.45rem!important}.np-empty-state p{font-size:.83rem!important}
  .home-favorites-prompt h2{font-size:1.3rem!important}.home-favorites-prompt p{font-size:.84rem!important}
  .np-entity-copy p{font-size:.86rem!important}.np-entity-kicker{font-size:.76rem!important}.np-entity-stat small{font-size:.67rem!important}.np-entity-stat strong{font-size:1rem!important}
  .np-page-tabs a{font-size:.79rem!important}.np-panel-head span{font-size:.69rem!important}.np-panel-head h2{font-size:1.16rem!important}
  .arena-hero-team>strong{font-size:1.12rem!important}.arena-hero-team>small{font-size:.69rem!important}.arena-match-facts>div strong{font-size:.79rem!important}
  .standings-table{font-size:.79rem!important}.standings-table th{font-size:.68rem!important}.table-team strong{font-size:.8rem!important}.position-badge{font-size:.71rem!important}.points-value{font-size:.88rem!important}.mini-form span{font-size:.61rem!important}
  .np-directory-hero p{font-size:.87rem!important}.np-competition-copy h2{font-size:1.12rem!important}.np-competition-copy p,.np-competition-copy small{font-size:.73rem!important}.player-card h2{font-size:.98rem!important}.player-card p,.player-card .section-kicker{font-size:.7rem!important}
}

/* Keep the match table visually symmetrical and prevent uneven cells. */
.np-match-home,.np-match-away{min-width:0!important}
html[dir="rtl"] .np-match-home{justify-content:flex-start!important;text-align:right!important}
html[dir="rtl"] .np-match-away{justify-content:flex-end!important;text-align:left!important}
html[dir="ltr"] .np-match-home{justify-content:flex-start!important;text-align:left!important}
html[dir="ltr"] .np-match-away{justify-content:flex-end!important;text-align:right!important}
.np-match-score{border-inline:1px solid var(--n7-line)!important}
.np-league-fixtures .np-match-row:last-child{border-bottom:0!important}
.standings-table thead th{position:sticky!important;top:0!important;z-index:2!important}
.standings-table tbody tr:nth-child(even) td{background:rgba(246,248,251,.55)!important}
html[data-theme="dark"] .standings-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.018)!important}

@media(max-width:640px){
  body{font-size:15px!important}
  .np-league-name strong{font-size:.82rem!important}.np-league-name small{font-size:.62rem!important}
  .np-team-text strong{font-size:.75rem!important;line-height:1.42!important}
  .np-match-score time{font-size:1rem!important}.np-status-pill{font-size:.55rem!important}.np-countdown{font-size:.52rem!important}
  .np-match-meta strong,.np-match-meta small{font-size:.56rem!important}
  .np-status-tabs a span{font-size:.65rem!important}
}
