/* PolyNews editorial UI — presentation only. Existing API/data semantics stay unchanged. */
:root{
  --pn-sidebar:216px;--pn-navy:#071c32;--pn-ink:#0c1b35;--pn-muted:#61718b;
  --pn-line:#dce5ee;--pn-paper:#f8fbfd;--pn-cyan:#0dc4d3;--pn-green:#19ae73;
  --pn-red:#ff6268;--pn-blue:#43bce8;--pn-amber:#dca24d;
}
html{color-scheme:light}
body{margin:0;background:var(--pn-paper);color:var(--pn-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-shell{display:block;min-height:100vh;background:var(--pn-paper)}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--pn-sidebar);padding:24px 14px;background:linear-gradient(180deg,#071d33,#061a2f);color:#a8b9ca;box-shadow:none}
.brand-lockup{min-height:auto;margin:0;padding:0 13px 34px;border:0}
.brand-kicker{display:none}
.brand-name{display:block;color:#fff;font:500 29px/1 Georgia,"Times New Roman",serif;letter-spacing:-1px}
.brand-period{color:var(--pn-cyan)}
.badge-readonly{border:0;background:transparent!important;color:#7190aa!important}
.brand-lockup .badge-readonly{display:none}
.tabs{display:grid;gap:5px}
.tab-button{position:relative;width:100%;height:53px;padding:0 14px;border:1px solid transparent;border-radius:10px;background:transparent;color:#a9b9cb;text-align:left;font:500 15px/1 Inter,sans-serif;cursor:pointer}
.tab-button>span:first-child{width:30px;color:#d6e3f2;font-size:10px;letter-spacing:.4px}
.tab-button:hover,.tab-button.active{border-color:#0b8caf;background:linear-gradient(90deg,rgba(6,193,211,.22),rgba(20,92,130,.22));color:#55e3e9}
.tab-button.active:before{position:absolute;left:-15px;width:3px;height:38px;border-radius:4px;background:#1ce0e7;content:""}
.sidebar-foot{left:22px;right:22px;bottom:24px;margin:0;padding:20px 4px 0;border-top:1px solid #243950;color:#7790a7;font-size:11px}
.sidebar-foot:before{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#58c99f;content:""}
.sidebar-foot-rule{display:none}
.main-column{min-width:0;margin-left:var(--pn-sidebar);background:var(--pn-paper)}
.status-header{position:sticky;top:0;z-index:15;height:72px;padding:0 30px;border-bottom:1px solid var(--pn-line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.status-header-row{height:100%;max-width:none;margin:0}
.status-location{width:455px;height:39px;padding:0 13px;border:1px solid #dbe5ef;border-radius:9px;background:#f8fbfd;color:#53647c}
.status-location:before{margin-right:9px;color:#132943;content:"⌕"}
.status-location-dot{display:none}
.status-summary{color:#54667e}
.system-status-disclosure summary{border-color:#dbe5ef;background:#fff;color:#52647d}
.content-area{max-width:none;margin:0;padding:8px 30px 38px}
.page-heading{min-height:145px;margin:0;padding:0 0 10px;border-bottom:1px solid var(--pn-line)}
.page-heading h1{margin:0;color:var(--pn-ink);font:500 70px/.9 Georgia,"Times New Roman",serif;letter-spacing:-3.4px}
.page-heading .eyebrow{display:none}
.page-heading .muted{margin:8px 0 0;color:#4b5e7c;font:400 20px/1.2 Georgia,"Times New Roman",serif}
.heading-index,.readonly-mark{border:0;background:transparent;color:#71829a;font:500 13px Georgia,serif}
.match-toolbar,.filter-bar{gap:8px;margin:17px 0;padding:0;border:0;background:transparent}
.match-chip,.filter-button,.filter-select,.filter-input,.match-filters>summary{min-height:32px;padding:7px 14px;border:1px solid #dce5ee;border-radius:17px;background:#f5f8fb;color:#53657e;font:500 11px Inter,sans-serif;box-shadow:none}
.match-chip.is-selected,.filter-button-active{border-color:#18cfda;background:#e7fbfc;color:#079cab}
.filter-input{border-radius:9px;background:#fff}
.match-filters{border:0;background:transparent}
.competition-navigation{margin:13px 0 20px;padding:0;border:0;background:transparent}
.featured-carousel{position:relative;overflow:hidden;border-bottom:1px solid var(--pn-line)}
.featured-carousel-viewport{overflow:hidden}
.featured-carousel-track{display:flex;width:100%;transition:transform .52s cubic-bezier(.22,.8,.25,1);will-change:transform}
.featured-carousel-slide{min-width:100%;padding-bottom:42px}
.featured-carousel-slide>.featured-match{height:100%;margin:0}
.featured-carousel-controls{position:absolute;right:18px;bottom:10px;z-index:2;display:flex;align-items:center;gap:7px;padding:4px 6px;border:1px solid var(--pn-line);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(17,39,65,.07)}
.featured-carousel-controls button{border:0;background:transparent;color:#52657e;cursor:pointer}
.featured-carousel-arrow{width:23px;height:23px;font:20px/1 Georgia,serif}
.featured-carousel-dot{width:7px;height:7px;padding:0;border-radius:50%;background:#c6d0db!important;transition:.2s}
.featured-carousel-dot.is-active{width:18px;border-radius:6px;background:#11b9c8!important}
.featured-match{margin:0;padding:20px 21px;border:0;border-radius:0;background:transparent;box-shadow:none}
.featured-match-topline{align-items:flex-start}
.featured-match-context{color:#35465f}
.fixture-status{padding:7px 14px;border:0;border-radius:8px;background:#e6f3fd;color:#1590d0}
.featured-match-stage{min-height:215px;padding:30px 20px}
.featured-team strong{color:var(--pn-ink);font:500 27px/1.15 Georgia,serif}
.featured-side-label{color:#8492a5}
.team-visual-hero{width:80px;height:80px;border:0;background:transparent;box-shadow:none}
.featured-match-bottom{border-top:1px solid var(--pn-line)}
.match-feature-signal,.paper-entry-line{color:#344761}
.match-detail-action{border-color:var(--pn-line);background:#fff;color:#138fa6}
.match-rail-section{margin-top:22px;border-top:1px solid var(--pn-line)}
.section-heading-line{padding:20px 0 14px}
.section-heading-line h2{margin:0;color:var(--pn-ink);font:500 34px/1 Georgia,serif}
.editorial-match-rail{border:0}
.editorial-match{min-height:70px;border-top:1px solid var(--pn-line);background:transparent;box-shadow:none}
.editorial-match:hover{background:#f0f7fa}
.editorial-match-index{color:#7b8aa0;font:500 13px Georgia,serif}
.editorial-teams strong{color:#172943}
.card,.model-row,.research-evidence-card,.markets-table-wrap,.matches-empty,.live-empty{border:0;border-radius:0;background:transparent;box-shadow:none}
.card-grid{gap:0;border-top:1px solid var(--pn-line)}
.card-grid>.card{border-bottom:1px solid var(--pn-line);padding:20px 0}
.match-card-header{color:#273a54}
.match-card-score{color:var(--pn-ink);font:500 24px Georgia,serif}
.live-scoreboard .card{border-bottom:1px solid var(--pn-line)}
.markets-table-wrap{overflow:auto;border-top:1px solid var(--pn-line)}
.markets-table,.outcome-table{background:transparent}
.markets-table th,.markets-table td,.outcome-table th,.outcome-table td{border-color:var(--pn-line);background:transparent;color:#263851}
.markets-table thead th,.outcome-table thead th{color:#7b8aa0;font-size:9px;letter-spacing:.7px}
.markets-table tbody tr:hover,.outcome-table tbody tr:hover{background:#f0f7fa}
.model-list{display:grid;gap:0;border-top:1px solid var(--pn-line)}
.model-row{padding:24px 0;border-bottom:1px solid var(--pn-line)}
.model-rank{color:#7b8ba1;font:500 18px Georgia,serif}
.model-name{color:var(--pn-ink);font:500 26px Georgia,serif}
.model-metrics{gap:0;border-top:1px solid var(--pn-line);border-bottom:1px solid var(--pn-line)}
.model-metrics>span{padding:12px;border-right:1px solid var(--pn-line)}
.research-evidence-card{padding:24px 0;border-bottom:1px solid var(--pn-line)}
.research-card-heading h2{color:var(--pn-ink);font:500 30px Georgia,serif}
.research-count{border:1px solid var(--pn-line);background:#fff}
.badge{border:0;border-radius:7px}
.badge-stale,.badge-degraded{background:#fff1dd;color:#a46b18}
.badge-disabled{background:#edf1f5;color:#63748b}
.error-state,.empty-state{border:1px solid var(--pn-line);border-radius:9px;background:#fff;color:#62738c}
.detail-overlay{background:rgba(9,25,43,.34)}
.detail-panel{border:0;background:#fff;color:var(--pn-ink);box-shadow:-15px 0 40px rgba(9,25,43,.18)}
.detail-panel h1,.detail-panel h2,.detail-panel h3{font-family:Georgia,serif;color:var(--pn-ink)}
.detail-close{color:#63748a}
a{color:#128fa6}
@media(max-width:900px){
  :root{--pn-sidebar:68px}.sidebar{width:var(--pn-sidebar);padding:22px 8px}.brand-name{font-size:0}.brand-name:before{font-size:25px;content:"P"}.tab-button{justify-content:center;padding:0}.tab-button>span:last-child,.sidebar-foot{display:none}.main-column{margin-left:var(--pn-sidebar)}.status-header,.content-area{padding-left:22px;padding-right:22px}.page-heading h1{font-size:56px}
}
@media(max-width:620px){
  .status-header{height:64px;padding:0 14px}.status-location{width:58%}.status-summary{display:none}.content-area{padding:8px 15px 30px}.page-heading{min-height:116px}.page-heading h1{font-size:46px}.page-heading .muted{font-size:17px}.featured-match-stage{min-height:190px;padding:22px 0}.featured-team strong{font-size:17px}.team-visual-hero{width:52px;height:52px}.featured-carousel-slide{padding-bottom:38px}.match-toolbar{overflow:auto}.match-chip{white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){.featured-carousel-track{transition:none}}


/* Production-complete PolyNews layout: faithful to the approved editorial reference. */
.status-header-row{display:flex;align-items:center;gap:18px}
.status-location{display:flex;align-items:center;gap:10px;box-sizing:border-box}
.status-location:before{display:none}
.status-location input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#243650;font:400 13px/1 Inter,sans-serif}
.status-location input::placeholder{color:#8290a4}
.pn-search-icon{color:#12233c;font-size:18px}
.status-summary{margin-left:auto;font-size:10px}
.pn-header-date{display:flex;height:39px;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--pn-line);border-radius:9px;background:#fff;color:#31425d;font-size:12px;white-space:nowrap}
.system-status-disclosure>summary{font-size:0}
.system-status-disclosure>summary:after{content:"⌄";font-size:13px}
.tab-button>span:first-child{display:grid;place-items:center;font-size:18px}
.content-area{padding-top:8px}
.page-heading-matches{display:flex;align-items:center;justify-content:space-between;min-height:129px}
.page-heading-matches h1{font-size:72px}
.page-heading-matches .muted{font-size:24px}
.pn-heading-note{max-width:520px;margin:0;color:#627493;text-align:right;font:400 19px/1.25 Georgia,"Times New Roman",serif}
.heading-index{display:none}
#matches-content>.competition-navigation{margin:14px 0 15px}
.featured-carousel{border-top:1px solid var(--pn-line)}
.featured-carousel-slide{padding:0 0 42px}
.pn-focus-grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(350px,.98fr);min-height:380px}
.pn-feature-card,.pn-confidence-card{padding:20px 21px}
.pn-feature-card{border-right:1px solid var(--pn-line)}
.pn-fixture-context,.pn-confidence-title,.pn-key-heading{display:flex;align-items:flex-start;justify-content:space-between}
.pn-fixture-context>div{display:grid;gap:5px}
.pn-fixture-context strong{font:600 16px/1.1 Georgia,serif}
.pn-fixture-context time,.pn-fixture-context span{color:#62738d;font-size:12px}
.pn-upcoming{padding:7px 15px;border-radius:8px;background:#e6f3fd;color:#1590d0!important;font-size:10px!important;font-weight:700;text-transform:uppercase}
.pn-versus{display:grid;grid-template-columns:1fr 62px 1fr;align-items:center;padding:43px 4px 26px}
.pn-featured-team{display:grid;grid-template-columns:88px minmax(100px,auto);align-items:center;justify-content:center;gap:18px}
.pn-featured-team>div:last-child{display:grid;gap:8px}
.pn-featured-team strong{font:500 28px/1.1 Georgia,serif;white-space:normal}
.pn-featured-team small{color:#8492a5;font-size:10px;letter-spacing:1px}
.pn-featured-team .team-visual-hero{width:83px;height:83px}
.pn-vs{color:#7a8ba5;text-align:center;font:500 14px Georgia,serif}
.pn-featured-probabilities{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--pn-line)}
.pn-prob-cell{display:grid;gap:4px;padding:20px 20px 0;border-right:1px solid var(--pn-line)}
.pn-prob-cell:last-child{border-right:0}
.pn-prob-cell span{overflow:hidden;color:#4e607c;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.pn-prob-cell strong{font-size:20px}
.pn-prob-cell i{display:block;height:8px;overflow:hidden;border-radius:8px;background:#e7edf3}
.pn-prob-cell em{display:block;height:100%;background:linear-gradient(90deg,#ff6268,#ff8c91)}
.pn-prob-cell.is-draw em{background:#aeb8c3}
.pn-prob-cell.is-away em{background:linear-gradient(90deg,#3bb9e8,#72d2f0)}
.pn-probability-caption{margin:11px 20px 0;color:#16aabb;font-size:10px}
.pn-confidence-title h2,.pn-key-heading h3{margin:0;font:500 22px/1.2 Georgia,serif}
.pn-confidence-title small,.pn-key-heading span{color:#7f8da2;font-size:11px}
.pn-confidence-body{display:grid;grid-template-columns:142px 1fr;align-items:center;gap:24px;padding:16px 4px 19px}
.pn-confidence-body p{margin:0;color:#34445f;font-size:13px;line-height:1.55}
.pn-donut{position:relative;display:grid;width:127px;height:127px;place-items:center;border-radius:50%;background:conic-gradient(#14bdcc 0 var(--pn-score),#1ed5a7 var(--pn-score) calc(var(--pn-score) + 5%),#e4ebf0 0)}
.pn-donut:before{position:absolute;width:95px;height:95px;border-radius:50%;background:#fff;content:""}
.pn-donut>div{z-index:1;display:grid;text-align:center}
.pn-donut b{font:500 25px Georgia,serif}
.pn-donut span{margin-top:6px;color:#7f8b9b;font-size:8px}
.pn-key-heading{align-items:center;padding:0 0 7px}
.pn-key-heading h3{font-size:18px}
.pn-factor-list{border-top:1px solid var(--pn-line)}
.pn-factor-row{display:grid;grid-template-columns:110px 1fr;align-items:center;min-height:43px;border-bottom:1px solid var(--pn-line);font-size:11px}
.pn-factor-row span{color:#65758d}
.pn-factor-row strong{color:#263952;font-weight:600}
.featured-carousel-controls{right:auto;left:50%;bottom:9px;transform:translateX(-50%)}
.match-rail-section{margin-top:17px}
.section-heading-line{align-items:center}
.pn-rail-tools{display:flex;justify-content:flex-end;margin:-50px 0 12px 260px}
.pn-rail-tools .competition-navigation{margin:0;max-width:100%;overflow-x:auto}
.pn-rail-tools .competition-navigation::-webkit-scrollbar{height:0}
.section-heading-line h2{font-size:36px}
.editorial-match-rail{border-top:1px solid var(--pn-line)}
.pn-table-header{display:grid;grid-template-columns:125px 155px minmax(330px,1.35fr) minmax(230px,1fr) 130px 18px;min-height:42px;align-items:center;border-bottom:1px solid var(--pn-line);color:#7888a0;font-size:9px;font-weight:700;letter-spacing:.7px}
.pn-table-header span{display:block;padding-right:10px;white-space:normal}
.pn-match-row{display:grid;grid-template-columns:125px 155px minmax(330px,1.35fr) minmax(230px,1fr) 130px 18px;min-height:58px;align-items:center;border-bottom:1px solid var(--pn-line);cursor:pointer}
.pn-match-row:hover{background:#f1f7fa}
.pn-row-time{display:grid;gap:4px;color:#21324d;font-size:11px}
.pn-row-time small{width:max-content;padding:4px 7px;border-radius:6px;background:#e4f3fe;color:#178ecb;font-size:8px;font-weight:700;text-transform:uppercase}
.pn-row-competition{display:flex;align-items:center;gap:8px;color:#33435d;font-size:11px}
.pn-row-competition .competition-visual{width:auto;height:auto;min-width:0}
.pn-row-clubs{display:grid;grid-template-columns:30px minmax(65px,1fr) 36px 30px minmax(65px,1fr);align-items:center;gap:8px}
.pn-row-clubs .team-visual-sm{width:28px;height:28px}
.pn-row-clubs strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.pn-row-clubs>span{color:#697a93;text-align:center}
.pn-row-probs{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding-right:22px}
.pn-row-probs .pn-prob-cell{gap:3px;padding:0;border:0}
.pn-row-probs .pn-prob-cell span{display:none}
.pn-row-probs .pn-prob-cell strong{font-size:10px}
.pn-row-probs .pn-prob-cell i{height:5px}
.pn-row-confidence{display:flex;align-items:center;gap:10px;font-size:12px}
.pn-row-confidence i{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle,#f8fbfd 0 55%,transparent 58%),conic-gradient(#11c1b4 0 var(--pn-score),#dce8eb 0)}
.pn-row-arrow{color:#8390a3;font-size:21px}

/* Give every real-data tab the same readable editorial hierarchy. */
#tab-live-matches .card,#tab-markets .markets-table-wrap,#tab-leaderboard .model-row,#tab-research .research-evidence-card,#tab-smart-money .model-row,#tab-entered .featured-match{color:#263851;opacity:1}
.live-scoreboard .card{display:grid;grid-template-columns:140px 1fr 120px;align-items:center;min-height:96px;padding:18px 0;background:transparent!important}
.live-scoreboard .match-card-score,.live-scoreboard strong{color:#12243d!important;opacity:1}
.markets-table th,.markets-table td{min-width:100px;padding:14px 10px;opacity:1}
.markets-table td,.markets-table td *{color:#263851}
.model-row *,.research-evidence-card *{opacity:1}
.model-list .model-row{background:transparent!important}
.model-name,.wallet-name{color:#10223a!important}
.model-metrics>span{background:transparent!important;color:#34465e!important}
.model-position-row,.smart-money-position-row{color:#34465e!important;opacity:1}
.page-heading+.filter-bar{margin-top:17px}
#entered-content>.featured-match{padding:24px 0}
@media(max-width:1100px){
  .pn-focus-grid{grid-template-columns:1fr}.pn-feature-card{border-right:0;border-bottom:1px solid var(--pn-line)}
  .editorial-match-rail{overflow:auto}.pn-match-row,.pn-table-header{min-width:950px}
  .pn-featured-team{grid-template-columns:68px minmax(85px,auto)}.pn-featured-team .team-visual-hero{width:65px;height:65px}.pn-featured-team strong{font-size:21px}
}
@media(max-width:760px){
  .status-summary,.system-status-disclosure{display:none}.status-location{width:auto;flex:1}.pn-header-date{display:none}
  .page-heading-matches{min-height:112px}.page-heading-matches h1{font-size:48px}.page-heading-matches .muted{font-size:18px}.pn-heading-note{display:none}
  .pn-rail-tools{justify-content:flex-start;margin:0 0 12px}
  .pn-versus{padding:28px 0 20px}.pn-featured-team{grid-template-columns:48px 1fr;gap:8px}.pn-featured-team .team-visual-hero{width:46px;height:46px}.pn-featured-team strong{font-size:16px}
  .pn-confidence-body{grid-template-columns:100px 1fr}.pn-donut{width:90px;height:90px}.pn-donut:before{width:68px;height:68px}
  .section-heading-line h2{font-size:29px}
}


/* PolyNews v3 — complete seven-tab system. No legacy visual patterns below this line. */
.pn-form-dots{display:flex;align-items:center;gap:8px;min-height:24px}
.pn-form-dots>span{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:#c7ced7;color:#526176;font:700 10px/1 Inter,sans-serif}
.pn-form-dots>span.is-win{background:#27b98d;color:#fff}
.pn-form-dots>span.is-loss{background:#ff6068;color:#fff}
.pn-form-dots>span.is-draw{background:#c7ced7;color:#526176}
.pn-form-dots.is-loading>span,.pn-form-dots.is-unavailable>span{width:auto;height:auto;border-radius:0;background:transparent;color:#8996a8;font-size:9px;font-weight:500}
.pn-team-copy{display:grid;gap:11px}
.pn-featured-team small{display:none}

.pn-utility-summary{display:grid;grid-template-columns:repeat(3,minmax(145px,.62fr)) minmax(280px,1.55fr);margin:0;border-bottom:1px solid var(--pn-line)}
.pn-summary-cell,.pn-summary-insight{min-height:132px;padding:25px 24px;border-right:1px solid var(--pn-line)}
.pn-summary-cell>span,.pn-summary-insight>span{display:block;color:#74849b;font-size:9px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase}
.pn-summary-cell strong{display:block;margin:8px 0 6px;color:#0c1b35;font:500 37px/1 Georgia,"Times New Roman",serif}
.pn-summary-cell small{color:#78889e;font-size:10px}
.pn-summary-cell small.is-up{color:#169b74}
.pn-summary-insight{display:flex;flex-direction:column;justify-content:center;border-right:0}
.pn-summary-insight p{max-width:420px;margin:12px 0 0;color:#344761;font:500 17px/1.4 Georgia,"Times New Roman",serif}

/* One heading system across every tab. */
#live-matches-content>.page-heading,
#markets-content>.page-heading,
#leaderboard-content>.page-heading,
#research-content>.page-heading,
#smart-money-content>.page-heading,
#entered-content>.page-heading{display:flex;min-height:154px;align-items:center;justify-content:space-between;margin:0;padding:0 0 10px;border-bottom:1px solid var(--pn-line)}
#live-matches-content>.page-heading h1,
#markets-content>.page-heading h1,
#leaderboard-content>.page-heading h1,
#research-content>.page-heading h1,
#smart-money-content>.page-heading h1,
#entered-content>.page-heading h1{margin:0;font-size:68px}
#live-matches-content>.page-heading .muted,
#markets-content>.page-heading .muted,
#leaderboard-content>.page-heading .muted,
#research-content>.page-heading .muted,
#smart-money-content>.page-heading .muted,
#entered-content>.page-heading .muted{max-width:680px;margin-top:8px;font:400 20px/1.2 Georgia,"Times New Roman",serif}
#live-matches-content>.competition-navigation,
#entered-content>.competition-navigation,
#markets-content>.competition-navigation{margin:18px 0 10px}

/* Live becomes a clean operational board. */
#live-matches-content .live-scoreboard{display:block;margin-top:20px;border-top:1px solid var(--pn-line)}
#live-matches-content .live-score-row{display:grid;grid-template-columns:145px minmax(430px,1fr) 210px 110px;min-height:88px;align-items:center;border-bottom:1px solid var(--pn-line);background:transparent;color:#253850}
#live-matches-content .live-score-row:hover{background:#eff7fa}
#live-matches-content .live-score-context{display:grid;gap:7px}
#live-matches-content .live-score-main{display:grid;grid-template-columns:1fr 100px 1fr;align-items:center}
#live-matches-content .live-side{display:flex;align-items:center;gap:10px}
#live-matches-content .live-side.is-away{justify-content:flex-end}
#live-matches-content .live-score-value{color:#0c1b35;font:500 25px/1 Georgia,serif;text-align:center}
#live-matches-content .live-score-meta{display:grid;gap:5px;color:#718198;font-size:9px}
#live-matches-content .live-minute{color:#16b8c7;font-size:15px}

/* Markets: editorial data table, not the inherited dense admin grid. */
#markets-content>.match-toolbar{margin:20px 0 12px;padding-bottom:16px;border-bottom:1px solid var(--pn-line)}
#markets-content>.muted{display:block;margin:15px 0;color:#74849a;font-size:10px}
#markets-content .markets-table-wrap{margin-top:10px;overflow:auto;border-top:1px solid var(--pn-line)}
#markets-content .markets-table{min-width:1220px;border-collapse:collapse}
#markets-content .markets-table thead th{height:46px;padding:0 12px;background:transparent;color:#75859d;font-size:9px;letter-spacing:.7px;text-transform:uppercase}
#markets-content .markets-table tbody td{min-height:66px;padding:14px 12px;border-top:1px solid var(--pn-line);background:transparent;color:#263851;font-size:11px}
#markets-content .markets-table tbody tr:hover td{background:#eff7fa}
#markets-content .markets-fixture-cell strong{font-family:Georgia,"Times New Roman",serif;font-size:16px}

/* Models: each model becomes a spacious evidence row. */
#leaderboard-content>.filter-bar{margin:22px 0 0;padding:0 0 18px;border-bottom:1px solid var(--pn-line)}
#leaderboard-content .model-list{border-top:0}
#leaderboard-content .model-row{padding:30px 0;border-bottom:1px solid var(--pn-line);background:transparent}
#leaderboard-content .model-row-heading{display:grid;grid-template-columns:42px minmax(260px,1fr) 180px 150px;align-items:center}
#leaderboard-content .model-name{font-size:28px}
#leaderboard-content .model-bankroll{font:500 25px/1 Georgia,"Times New Roman",serif;text-align:right}
#leaderboard-content .model-bankroll-label{text-align:right}
#leaderboard-content .model-integrity{display:flex;gap:15px;margin:18px 0 0}
#leaderboard-content .model-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));margin-top:16px;border:1px solid var(--pn-line);border-width:1px 0}
#leaderboard-content .model-metrics>span{min-height:45px;display:flex;align-items:center;padding:0 13px;border-right:1px solid var(--pn-line);color:#53647b;font-size:10px}
#leaderboard-content .model-recent-form{display:flex;align-items:center;gap:18px;margin:15px 0;color:#35465d}
#leaderboard-content .leaderboard-positions{margin-top:14px}

/* Research: evidence cards become an editorial two-column archive. */
#research-content>.pn-utility-summary{margin-bottom:22px}
#research-content>.research-evidence-card{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr);gap:30px;padding:28px 0;border-bottom:1px solid var(--pn-line);background:transparent}
#research-content .research-card-heading{align-content:start}
#research-content .research-card-heading h2{margin-top:7px;font-size:28px}
#research-content .research-counts{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:0;border:1px solid var(--pn-line);border-width:1px 0}
#research-content .research-count{min-height:78px;padding:14px;border-right:1px solid var(--pn-line);background:transparent}
#research-content .research-count strong{font:500 25px Georgia,"Times New Roman",serif}
#research-content .research-version-list{grid-column:1/-1}

/* Smart Money: wallet evidence uses the same registry rhythm as Models. */
#smart-money-content>.filter-bar{margin:22px 0 0;padding-bottom:18px;border-bottom:1px solid var(--pn-line)}
#smart-money-content .model-list{border-top:0}
#smart-money-content .model-row{padding:28px 0;border-bottom:1px solid var(--pn-line);background:transparent}
#smart-money-content .model-row-heading{display:grid;grid-template-columns:42px minmax(300px,1fr) 170px 120px;align-items:center}
#smart-money-content .model-name{font-size:27px}
#smart-money-content .model-metrics{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));margin-top:16px;border:1px solid var(--pn-line);border-width:1px 0}
#smart-money-content .model-metrics>span{min-height:44px;display:flex;align-items:center;padding:0 12px;border-right:1px solid var(--pn-line);font-size:10px}
#smart-money-content .smart-money-position-row{min-height:52px;border-top:1px solid var(--pn-line)}

/* Entered no longer resembles the legacy matches dump. */
#entered-content>.match-toolbar{margin:22px 0 0;padding-bottom:16px;border-bottom:1px solid var(--pn-line)}
#entered-content>.featured-match,#entered-content>.pn-focus-grid{margin-top:18px}
#entered-content .match-rail-section{margin-top:26px}

/* Match placement and spacing follow the selected screenshot. */
#matches-content .featured-carousel{margin-top:0}
#matches-content .pn-focus-grid{min-height:430px}
#matches-content .pn-feature-card{padding:28px 32px}
#matches-content .pn-confidence-card{padding:28px 30px}
#matches-content .pn-versus{padding-top:48px;padding-bottom:32px}
#matches-content .featured-carousel-controls{bottom:14px}
#matches-content .match-rail-section{margin-top:28px}

@media(max-width:1200px){
  .pn-utility-summary{grid-template-columns:repeat(3,1fr)}
  .pn-summary-insight{display:none}
  #live-matches-content .live-score-row{grid-template-columns:125px minmax(390px,1fr) 180px 100px}
  #leaderboard-content .model-metrics,#smart-money-content .model-metrics{grid-template-columns:repeat(3,minmax(120px,1fr))}
}
@media(max-width:900px){
  .pn-utility-summary{overflow:auto}
  .pn-summary-cell{min-width:170px}
  #live-matches-content .live-scoreboard,#markets-content .markets-table-wrap,#leaderboard-content .model-list,#smart-money-content .model-list{overflow:auto}
  #live-matches-content .live-score-row{min-width:900px}
  #leaderboard-content .model-row,#smart-money-content .model-row{min-width:880px}
  #research-content>.research-evidence-card{grid-template-columns:1fr}
  #research-content .research-version-list{grid-column:auto}
}
@media(max-width:760px){
  .pn-form-dots{gap:5px}.pn-form-dots>span{width:19px;height:19px;font-size:8px}
  .pn-summary-cell{min-height:105px;padding:18px 14px}.pn-summary-cell strong{font-size:28px}.pn-summary-cell small{display:none}
  #live-matches-content>.page-heading h1,#markets-content>.page-heading h1,#leaderboard-content>.page-heading h1,#research-content>.page-heading h1,#smart-money-content>.page-heading h1,#entered-content>.page-heading h1{font-size:47px}
}


/* PolyNews approved seven-screen build — visual targets locked 2026-10-28. */
.sidebar{background:#071c32}
.tab-button:hover,.tab-button.active{background:#103b58}
.page-heading,.page-heading-matches{min-height:150px}
.page-heading h1,.page-heading-matches h1{font-size:78px;letter-spacing:-4px}
.page-heading .muted,.page-heading-matches .muted{font-size:22px}
.pn-heading-note{font-size:18px}
.content-area{padding-right:30px;padding-left:30px}

/* Matches — market and both production models remain separate evidence. */
.pn-focus-grid{grid-template-columns:minmax(0,1.55fr) minmax(420px,.9fr);min-height:430px}
.pn-feature-card,.pn-confidence-card{padding:24px 22px}
.pn-model-predictions{display:flex;flex-direction:column}
.pn-model-stack{display:grid;gap:10px;padding:17px 0 15px}
.pn-model-panel{padding:14px 15px;border:1px solid var(--pn-line);border-radius:8px;background:#fff}
.pn-model-panel>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pn-model-panel>header strong{font:600 16px/1 Georgia,"Times New Roman",serif}
.pn-model-panel>header span{color:#7d8da3;font-size:9px;text-transform:uppercase;letter-spacing:.65px}
.pn-model-panel.is-unavailable{background:#f8fafc}
.pn-model-three-way{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pn-model-outcome{display:grid;gap:5px}
.pn-model-outcome span{color:#667892;font-size:10px}
.pn-model-outcome strong{font:600 17px/1 Inter,sans-serif}
.pn-model-outcome i{height:6px;overflow:hidden;border-radius:5px;background:#e7edf3}
.pn-model-outcome em{display:block;height:100%;background:#b8c2ce}
.pn-model-outcome:first-child em{background:#ff7479}
.pn-model-outcome:last-child em{background:#43bce8}
.pn-model-outcome.is-favored{color:#079cab}
.pn-model-reason{display:block;margin-top:8px;color:#7b8aa0}
.pn-key-heading{margin-top:auto}
.pn-row-models{display:grid;gap:4px;padding-right:10px}
.pn-compact-model{display:flex;align-items:center;justify-content:space-between;gap:6px}
.pn-compact-model span{color:#7a8aa1;font-size:8px}
.pn-compact-model strong{color:#263952;font-size:9px}
.pn-compact-model.is-unavailable strong{color:#9ba6b5}
.pn-table-header,.pn-match-row{grid-template-columns:125px 155px minmax(330px,1.35fr) minmax(230px,1fr) 150px 18px}

/* Live — scoreboard, both model views, market/source context in one row. */
#live-matches-content>.page-heading{display:flex;align-items:center;justify-content:space-between}
#live-matches-content>.pn-utility-summary{display:none}
#live-matches-content>.competition-navigation{margin:18px 0 10px}
#live-matches-content .live-scoreboard{display:block;margin-top:12px;border-top:1px solid var(--pn-line)}
#live-matches-content .live-score-row{display:grid;grid-template-columns:145px minmax(360px,1.2fr) minmax(230px,.75fr) 185px 34px;min-height:128px;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--pn-line);background:transparent}
#live-matches-content .live-score-row:hover{background:#f1f8fa}
#live-matches-content .live-score-context{display:grid;gap:10px}
#live-matches-content .live-score-main{display:grid;grid-template-columns:1fr 86px 1fr;align-items:center;gap:10px}
#live-matches-content .live-side{display:flex;align-items:center;gap:9px}
#live-matches-content .live-side.is-away{justify-content:flex-end}
#live-matches-content .live-score-value{font:600 24px/1 Georgia,"Times New Roman",serif;text-align:center}
#live-matches-content .live-models{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#live-matches-content .pn-compact-model{display:grid;gap:6px;padding-left:12px;border-left:1px solid var(--pn-line)}
#live-matches-content .pn-compact-model span{font-size:9px}
#live-matches-content .pn-compact-model strong{font-size:11px}
#live-matches-content .live-score-meta{display:grid;gap:6px;color:#718198;font-size:9px}
#live-matches-content .live-minute{color:#18a979;font-size:22px;font-weight:700}

/* Markets — dense comparison board matching the approved table. */
#markets-content>.page-heading{display:flex;align-items:center;justify-content:space-between}
#markets-content>.pn-utility-summary{display:none}
#markets-content>.match-toolbar{display:flex;align-items:center;gap:9px;margin:20px 0 14px;padding-bottom:16px;border-bottom:1px solid var(--pn-line)}
#markets-content>.competition-navigation{margin:10px 0 15px}
#markets-content .markets-table-wrap{margin-top:12px;border-top:1px solid var(--pn-line)}
#markets-content .markets-table{min-width:1320px;border-collapse:collapse}
#markets-content .markets-table thead th{height:46px;padding:0 10px;background:transparent;color:#74859d;font-size:8px;letter-spacing:.7px;text-transform:uppercase}
#markets-content .markets-table tbody td{padding:12px 10px;border-top:1px solid var(--pn-line);background:transparent;color:#263851;font-size:10px}
#markets-content .markets-table tbody tr:hover td{background:#f0f8fa}
#markets-content .markets-fixture-cell strong{font:600 14px/1.2 Georgia,"Times New Roman",serif}
#markets-content .market-price-best,#markets-content .is-best{background:#dffaf3!important;color:#087d68!important;border-radius:5px}

/* Models — only real registry rows, spacious evidence and calibration rhythm. */
#leaderboard-content>.page-heading{display:flex;align-items:center;justify-content:space-between}
#leaderboard-content>.pn-utility-summary{display:none}
#leaderboard-content>.filter-bar{margin:18px 0 0;padding-bottom:16px;border-bottom:1px solid var(--pn-line)}
#leaderboard-content .model-list{border-top:0}
#leaderboard-content .model-row{padding:28px 0;border-bottom:1px solid var(--pn-line)}
#leaderboard-content .model-row-heading{display:grid;grid-template-columns:44px minmax(250px,1fr) 160px 130px;align-items:center}
#leaderboard-content .model-name{font-size:29px}
#leaderboard-content .model-type{color:#718198}
#leaderboard-content .model-bankroll{font:600 25px/1 Georgia,"Times New Roman",serif;text-align:right}
#leaderboard-content .model-bankroll-label{text-align:right}
#leaderboard-content .model-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));margin-top:17px;border:1px solid var(--pn-line);border-width:1px 0}
#leaderboard-content .model-metrics>span{min-height:48px;display:flex;align-items:center;padding:0 14px;border-right:1px solid var(--pn-line);font-size:10px}
#leaderboard-content .model-recent-form{display:flex;align-items:center;gap:16px;margin-top:14px}
#leaderboard-content .leaderboard-positions{margin-top:14px}

/* Research — audit summary then a single evidence archive. */
#research-content>.page-heading{display:flex;align-items:center;justify-content:space-between}
#research-content>.pn-utility-summary{grid-template-columns:repeat(3,1fr) 1.25fr;margin:0 0 20px}
#research-content .pn-summary-cell,#research-content .pn-summary-insight{min-height:115px}
#research-content>.research-evidence-card{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(440px,1.3fr);gap:32px;padding:26px 0;border-bottom:1px solid var(--pn-line);background:transparent}
#research-content .research-card-heading h2{font-size:27px}
#research-content .research-counts{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));border:1px solid var(--pn-line);border-width:1px 0}
#research-content .research-count{min-height:76px;padding:13px;border:0;border-right:1px solid var(--pn-line);background:transparent}
#research-content .research-count strong{font:600 24px/1 Georgia,"Times New Roman",serif}
#research-content .research-version-list{grid-column:1/-1}

/* Smart Money — read-only wallet evidence, never card soup. */
#smart-money-content>.page-heading{display:flex;align-items:center;justify-content:space-between}
#smart-money-content>.pn-utility-summary{grid-template-columns:repeat(3,1fr) 1.25fr}
#smart-money-content>.pn-utility-summary .pn-summary-insight{background:#eef7ff}
#smart-money-content>.filter-bar{margin:18px 0 0;padding-bottom:15px;border-bottom:1px solid var(--pn-line)}
#smart-money-content .model-list{border-top:0}
#smart-money-content .model-row{padding:23px 0;border-bottom:1px solid var(--pn-line)}
#smart-money-content .model-row-heading{display:grid;grid-template-columns:46px minmax(320px,1fr) 170px 135px;align-items:center}
#smart-money-content .model-name{font-size:24px}
#smart-money-content .model-metrics{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));margin-top:14px;border:1px solid var(--pn-line);border-width:1px 0}
#smart-money-content .model-metrics>span{min-height:43px;display:flex;align-items:center;padding:0 12px;border-right:1px solid var(--pn-line);font-size:9px}
#smart-money-content .leaderboard-position{min-height:54px;border-top:1px solid var(--pn-line)}

/* Entered — a truthful ledger built only from recorded paper entries. */
#entered-content>.page-heading{display:flex;align-items:center;justify-content:space-between}
#entered-content>.pn-utility-summary{grid-template-columns:repeat(3,1fr) 1.25fr}
#entered-content>.match-toolbar{margin:18px 0 6px}
#entered-content>.competition-navigation{margin:10px 0 16px}
.pn-entered-notice{margin:12px 0 18px;padding:13px 15px;border:1px solid #d9e8f4;border-radius:7px;background:#eef7ff;color:#57708f;font-size:11px}
.pn-entered-ledger{margin:20px 0 34px}
.pn-entered-ledger .section-heading-line{padding:0 0 13px}
.pn-entered-table{border-top:1px solid var(--pn-line);overflow:auto}
.pn-entered-head,.pn-entered-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(170px,1fr) 70px 70px 75px 75px 120px 90px;align-items:center;gap:15px;min-width:1060px}
.pn-entered-head{min-height:43px;color:#7888a0;font-size:8px;font-weight:700;letter-spacing:.7px}
.pn-entered-row{min-height:67px;border-top:1px solid var(--pn-line);color:#253850;font-size:10px}
.pn-entered-row>div{display:grid;gap:4px}
.pn-entered-row small{color:#8090a5;font-size:9px}
.pn-entered-fixture strong{font:600 13px/1.2 Georgia,"Times New Roman",serif}
.pn-entry-state{width:max-content;padding:6px 9px;border-radius:6px;font-size:9px;font-weight:700}
.pn-entry-state.is-open{background:#e1f8ed;color:#16845e}
.pn-entry-state.is-closed{background:#e9f2fb;color:#40739d}

@media(max-width:1180px){
  .pn-focus-grid{grid-template-columns:1fr}
  .pn-feature-card{border-right:0;border-bottom:1px solid var(--pn-line)}
  #live-matches-content .live-scoreboard{overflow:auto}
  #live-matches-content .live-score-row{min-width:1050px}
  #leaderboard-content .model-metrics,#smart-money-content .model-metrics{grid-template-columns:repeat(3,minmax(135px,1fr))}
}
@media(max-width:760px){
  .page-heading h1,.page-heading-matches h1{font-size:48px}
  .pn-model-three-way{gap:8px}
  .pn-model-panel{padding:12px}
  #research-content>.research-evidence-card{grid-template-columns:1fr}
  #research-content .research-version-list{grid-column:auto}
  .pn-entered-table{overflow:auto}
}


/* ======================================================================
   PolyNews approved visual system — seven-tab rebuild
   ====================================================================== */
:root {
  --pnx-navy: #061d35;
  --pnx-ink: #071a39;
  --pnx-muted: #6a7c9e;
  --pnx-line: #dbe5ef;
  --pnx-cyan: #07c9d8;
  --pnx-sky: #40bdeb;
  --pnx-green: #00ae72;
  --pnx-red: #ff4d55;
  --pnx-paper: #f7fbff;
}

body { background: var(--pnx-paper); color: var(--pnx-ink); }
.app-shell { background: var(--pnx-paper); }
.sidebar { width: 216px; min-width: 216px; background: #061d35; }
.brand-kicker, .brand-lockup .badge { display: none !important; }
.brand-lockup { padding: 25px 26px 24px; }
.brand-name { font-family: Fraunces, Georgia, serif; font-size: 30px; font-weight: 560; letter-spacing: -.7px; color: #fff; }
.brand-period { color: var(--pnx-cyan); }
.tabs { padding: 12px 14px; gap: 6px; }
.tab-button { min-height: 52px; padding: 0 14px; gap: 15px; border-radius: 8px; color: #e4edf7; font-size: 15px; font-weight: 500; }
.tab-button > span:first-child { width: 24px; font-size: 21px; color: #dce7f2; text-align: center; }
.tab-button.active { color: #28e2e9; background: rgba(11, 117, 151, .28); border-color: #10bcd1; box-shadow: inset 3px 0 #13dce7; }
.sidebar-foot { margin: 12px 20px; color: #a8bad0; font: 600 10px/1.4 "JetBrains Mono", monospace; letter-spacing: .08em; }
.main-column { width: calc(100% - 216px); min-width: 0; }
.status-header { min-height: 72px; height: 72px; padding: 0 30px; border-bottom: 0; background: rgba(255,255,255,.76); }
.status-header-row { height: 72px; }
.status-location { width: 455px; max-width: 42vw; height: 38px; border: 1px solid #d6e2ed; border-radius: 8px; background: #f3f8fc; }
.status-location input { font: 400 13px/1 "JetBrains Mono", monospace; color: var(--pnx-ink); }
.status-summary, .system-status-disclosure { display: none !important; }
.pn-header-date { margin-left: auto; height: 38px; padding: 0 14px; border: 1px solid #d6e2ed; border-radius: 8px; background: #fff; font: 500 12px/1 "JetBrains Mono", monospace; }
#main-content { overflow: visible; }
.content-area { max-width: none; width: auto; padding: 22px 30px 48px; }
.operational-alert-banner { min-height: 28px; padding: 5px 14px; font-size: 12px; }

.pnx-heading, .page-heading { display: flex; align-items: flex-end; justify-content: space-between; min-height: 118px; padding: 0 0 22px; border-bottom: 1px solid var(--pnx-line); margin: 0 0 20px; }
.pnx-heading h1, .page-heading h1 { margin: 0; font: 560 clamp(50px, 5.2vw, 78px)/.86 Fraunces, Georgia, serif; letter-spacing: -3.4px; color: var(--pnx-ink); }
.pnx-heading > div > p, .page-heading-copy > .muted { margin: 5px 0 0; font: 460 24px/1.1 Fraunces, Georgia, serif; color: #445c88; }
.pnx-tagline, .pn-heading-note { align-self: center; margin: 24px 12px 0; font: 440 17px/1.3 Fraunces, Georgia, serif; color: #58709b; }
.pnx-empty { padding: 40px 18px; color: var(--pnx-muted); border-top: 1px solid var(--pnx-line); font-size: 14px; }
.pnx-filterline, .pnx-market-filters { display: flex; align-items: center; gap: 10px; min-height: 54px; margin-bottom: 10px; border-bottom: 1px solid var(--pnx-line); }
.pnx-filterline button, .pnx-market-filters button, .pnx-market-filters > span { height: 36px; padding: 0 14px; border: 1px solid #d7e3ee; border-radius: 7px; background: #fff; color: #42577f; font: 500 11px/34px "JetBrains Mono", monospace; }
.pnx-filterline button.is-active { color: #09aebb; border-color: #55dce2; background: #eaffff; }
.pnx-filterline .pnx-sort { margin-left: auto; color: #71819d; font-size: 11px; }
.pnx-market-filters > span { margin-left: auto; width: 285px; color: #8190aa; background: #f4f8fc; }

.pnx-table { width: 100%; min-width: 0; }
.pnx-tr { display: grid; align-items: center; min-height: 56px; border-bottom: 1px solid var(--pnx-line); color: #1a2d50; font-size: 12px; }
.pnx-tr > * { min-width: 0; padding: 7px 10px; }
.pnx-tr small { display: block; margin-top: 3px; color: var(--pnx-muted); font-size: 10px; }
.pnx-th { min-height: 42px; color: #64769b; font: 600 9px/1.35 "JetBrains Mono", monospace; letter-spacing: .035em; }
.pnx-th > * { white-space: normal; }
.pnx-fixture { display: flex; align-items: center; gap: 6px; white-space: normal; }
.pnx-fixture .team-visual { flex: 0 0 auto; }
.pnx-fixture strong { font-size: 11px; line-height: 1.15; }
.pnx-fixture > span { color: #8b9ab3; font-size: 9px; }
.is-up { color: var(--pnx-green) !important; }
.is-down { color: var(--pnx-red) !important; }
.is-warning { color: #d89b00 !important; }

.pnx-live-table .pnx-tr { grid-template-columns: .62fr 1.05fr 2.25fr 1.7fr 1.7fr .95fr .9fr; }
.pnx-live-time strong { color: #00a578; font-size: 25px; }
.pnx-live-time small { color: #ff4050; font-weight: 700; }
.pnx-live-fixture { display: flex; align-items: center; gap: 12px; }
.pnx-live-fixture .pnx-fixture { flex: 1; }
.pnx-live-fixture > b { font: 650 17px/1 "JetBrains Mono", monospace; white-space: nowrap; }
.pnx-live-note { padding: 10px 12px; border-top: 1px solid var(--pnx-line); color: #7184a5; font-size: 10px; }
.pnx-outcomes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pnx-outcome { min-width: 0; }
.pnx-outcome > span { display: block; color: #7a89a4; font-size: 9px; }
.pnx-outcome > strong { display: block; margin: 3px 0 4px; font-size: 15px; }
.pnx-outcome > i { display: block; height: 5px; overflow: hidden; border-radius: 9px; background: #e5ebf2; }
.pnx-outcome > i b { display: block; height: 100%; background: var(--pnx-sky); }
.pnx-outcome.is-d > i b { background: #aeb9c8; }
.pnx-outcome.is-a > i b { background: #ff8e94; }
.pnx-outcomes.is-compact { gap: 6px; }
.pnx-outcomes.is-compact .pnx-outcome > strong { font-size: 10px; }
.pnx-outcomes.is-compact .pnx-outcome > i { height: 4px; }
.pnx-movement strong { color: var(--pnx-green); }

.pnx-market-table { overflow-x: auto; }
.pnx-market-table .pnx-tr { grid-template-columns: 1.65fr .78fr 1.35fr 1.35fr 1.2fr .72fr .72fr .7fr; min-width: 1020px; }
.pnx-odds { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; padding-left: 4px !important; padding-right: 4px !important; }
.pnx-odds span { padding: 5px 2px; text-align: center; border-radius: 5px; font: 600 10px/1 "JetBrains Mono", monospace; }
.pnx-odds span:first-child:not(.is-missing) { background: #d9fbf4; color: #006f64; }
.pnx-odds.probability span { background: transparent !important; color: #1b3058; border-bottom: 4px solid #c9e9f5; border-radius: 0; }
.pnx-odds.probability span:first-child { border-color: #47bceb; }
.pnx-odds.probability span:nth-child(2) { border-color: #adb8c7; }
.pnx-odds.probability span:nth-child(3) { border-color: #ff9b9f; }
.pnx-odds .is-missing { color: #a5afc1; background: transparent; }
.pnx-fresh { color: #00a991; font-size: 11px; }
.pnx-source { display: inline-block; justify-self: start; padding: 5px 8px !important; border-radius: 5px; color: #4082c4; background: #dff1ff; font-weight: 700; }
.pnx-source.is-live { color: #008d50; background: #d5f9e8; }

.pnx-section-intro { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 24px; padding: 8px 0 18px; border-bottom: 1px solid var(--pnx-line); }
.pnx-section-intro h2, .pnx-section-title h2, .pnx-calibration h2 { margin: 0; font: 560 27px/1 Fraunces, Georgia, serif; }
.pnx-section-intro p { margin: 0; color: #61759c; font-size: 12px; line-height: 1.45; }
/* Layout-fit fix (Amir, 2026-11-07): this row only got a horizontal-scroll
   safety net (see the max-width:1100px rule further down) below 1100px.
   Above that -- a real gap covering ordinary 1280-1440px laptop widths,
   not just small screens -- the base fr-based columns plus the nowrap
   title (.pnx-model-title h2) could force this row, and the whole page
   with it, wider than the viewport instead of scrolling within the row.
   overflow-x: auto here is a no-op whenever the row already fits (the
   common wide-desktop case, unchanged), and contains the overflow to
   this row instead of the page whenever it does not. */
.pnx-model-row { display: grid; grid-template-columns: 1.75fr repeat(7, 1fr) 1.85fr; align-items: stretch; min-height: 135px; border-bottom: 1px solid var(--pnx-line); overflow-x: auto; }
.pnx-model-row > div { padding: 28px 14px 16px; border-right: 1px solid var(--pnx-line); }
.pnx-model-row > div:last-child { border-right: 0; }

/* League-grouped Models tab (Amir, 2026-11-07): a league's V3 and V4 lanes
   are visually grouped under one heading so they read as a pair -- stacked
   (not side-by-side) since each .pnx-model-row already uses the page's
   full width; a side-by-side layout here would just reintroduce the
   overflow problem fixed above at laptop widths. */
.pnx-league-section { margin-top: 18px; border: 1px solid var(--pnx-line); border-radius: 10px; overflow: hidden; }
.pnx-league-heading { margin: 0; padding: 12px 18px; font: 650 15px/1.2 "JetBrains Mono", monospace; letter-spacing: .02em; text-transform: uppercase; color: #1a2d50; background: #f3f6fc; border-bottom: 1px solid var(--pnx-line); }
.pnx-league-pair .pnx-model-row:last-child { border-bottom: 0; }
.pnx-leagues-intro { margin-top: 24px; }
.pnx-small-sample-group { margin-top: 10px; border-top: 1px solid var(--pnx-line); }
.pnx-small-sample-group > summary { cursor: pointer; padding: 14px 4px; list-style: none; color: #61759c; font: 600 12px/1.3 "JetBrains Mono", monospace; letter-spacing: .01em; }
.pnx-small-sample-group > summary::-webkit-details-marker { display: none; }
.pnx-small-sample-group > summary::before { content: "\25b8"; display: inline-block; margin-right: 8px; transition: transform .15s ease; }
.pnx-small-sample-group[open] > summary::before { transform: rotate(90deg); }
.pnx-small-sample-group > summary:hover { color: #1a2d50; }
.pnx-model-title h2 { margin: 0 0 11px; font: 560 28px/1 Fraunces, Georgia, serif; white-space: nowrap; }
.pnx-model-title > strong { display: block; color: #00a55e; font-size: 15px; }
.pnx-model-title > small { display: block; margin-top: 7px; color: var(--pnx-muted); }
.pnx-model-metric > span, .pnx-model-recent > span { display: block; min-height: 28px; color: #60749a; font: 600 9px/1.35 "JetBrains Mono", monospace; }
.pnx-model-metric > strong { display: block; margin-top: 8px; font-size: 18px; }
.pnx-model-metric > small { display: block; margin-top: 6px; color: #7486a5; font-size: 9px; }
.pnx-model-metric.metric-4 strong { color: #00a45d; }
.pnx-model-metric.metric-5 strong { color: #f02e38; }
.pnx-form { display: flex; gap: 3px; margin-top: 12px; flex-wrap: wrap; }
.pnx-form i { width: 17px; height: 20px; border-radius: 3px; text-align: center; font: 700 10px/20px "JetBrains Mono", monospace; color: #fff; background: #aeb8c6; }
.pnx-form i.pnx-form-clickable { cursor: pointer; }
.pnx-form i.pnx-form-clickable:hover, .pnx-form i.pnx-form-clickable:focus-visible { outline: 2px solid #1b2a4a; outline-offset: 1px; }
.pnx-form .is-w { background: #00a96b; }.pnx-form .is-l { background: #f15355; }.pnx-form .is-d { background: #aeb8c6; }
.pnx-calibration { padding-top: 26px; }
.pnx-calibration p { margin: 8px 0; color: #61759c; font-size: 12px; }
.pnx-chart-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 230px; margin-top: 20px; border: 1px dashed #ccd9e7; color: #7b8ba7; background: #fbfdff; }
.pnx-chart-empty strong { color: #4d638a; }.pnx-chart-empty span { margin-top: 8px; font-size: 11px; }

.pnx-research-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 18px; }
.pnx-research-summary article { display: flex; align-items: center; gap: 18px; padding: 4px 22px; border-right: 1px solid var(--pnx-line); }
.pnx-research-summary article:last-child { border-right: 0; }
.pnx-research-summary i { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; color: #00a7a2; background: #e4f9f8; font-size: 28px; font-style: normal; }
.pnx-research-summary article:nth-child(n+3) i { color: #e43e44; background: #ffe6e7; }
.pnx-research-summary span, .pnx-research-summary small { display: block; color: #60749b; }
.pnx-research-summary strong { display: block; font: 560 31px/1 Fraunces, Georgia, serif; }
.pnx-research-summary small { margin-top: 4px; font-size: 10px; }
.pnx-research-notice { display: flex; align-items: center; gap: 14px; min-height: 58px; padding: 0 18px; margin: 12px 0 18px; border: 1px solid #cfe3f4; border-radius: 7px; background: #eaf6ff; }
.pnx-research-notice b { color: #168ae8; font-size: 22px; }.pnx-research-notice strong, .pnx-research-notice span { display: block; }.pnx-research-notice span { color: #61759b; font-size: 11px; margin-top: 3px; }
.pnx-research-notice.is-compact { min-height: 43px; }.pnx-research-notice.is-compact span { margin: 0; }
.pnx-research-head, .pnx-research-row { display: grid; grid-template-columns: 42px 2.45fr 1fr 1.05fr 1.25fr 1fr 1.05fr 1fr 22px; align-items: center; }
.pnx-research-head { min-height: 38px; color: #64779b; border-bottom: 1px solid var(--pnx-line); font: 600 9px/1.3 "JetBrains Mono", monospace; }
.pnx-research-head span:first-child { grid-column: 1 / 3; }.pnx-research-head span:nth-child(n+2) { transform: translateX(0); }
.pnx-research-row { min-height: 78px; border-bottom: 1px solid var(--pnx-line); font-size: 11px; }
.pnx-research-row > * { padding: 8px 10px; }.pnx-research-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #00a49d; background: #e5f9f8; font-size: 18px; }.pnx-research-row strong { display: block; font-family: Fraunces, Georgia, serif; font-size: 15px; }.pnx-research-row small { display: block; margin-top: 4px; color: #6f82a3; line-height: 1.35; }

.pnx-section-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 20px 0 4px; }
.pnx-section-title span { color: #6f82a3; font-size: 11px; }
.pnx-section-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.pnx-entered-sort { width: auto; min-width: 190px; padding-right: 30px; }
.pnx-wallet-table .pnx-tr { grid-template-columns: .35fr 1.35fr .95fr 1fr 1fr 1.15fr .8fr 1fr .2fr; min-height: 37px; }
.pnx-wallet-table .pnx-th { min-height: 34px; }
.pnx-wallet-table .pnx-tr > * { padding: 5px 8px; }
.pnx-holding-table .pnx-tr { grid-template-columns: .35fr 1.7fr .95fr .78fr .9fr .9fr 1.2fr 1.05fr .2fr; min-height: 38px; }
.pnx-holding-table .pnx-tr > * { padding: 5px 8px; }

.pnx-entered-summary { display: grid; grid-template-columns: repeat(6, 1fr); margin: -4px 0 16px; }
.pnx-entered-summary article { padding: 3px 20px 8px; border-right: 1px solid var(--pnx-line); }
.pnx-entered-summary article:first-child { padding-left: 2px; }.pnx-entered-summary article:last-child { border: 0; }
.pnx-entered-summary span { display: block; color: #64789f; font-size: 11px; }.pnx-entered-summary strong { display: block; margin-top: 7px; font: 600 22px/1 "JetBrains Mono", monospace; }
.pnx-entry-table { overflow-x: auto; }.pnx-entry-table .pnx-tr { grid-template-columns: .88fr 1.7fr 1.35fr .55fr .72fr .72fr .66fr .95fr .75fr .9fr .72fr .22fr; min-width: 1120px; min-height: 43px; }.pnx-entry-table .pnx-tr > * { padding: 5px 8px; }.pnx-entry-table .pnx-fixture strong { font-size: 10px; }.pnx-pill, .pnx-status { display: inline-block; justify-self: start; padding: 4px 9px !important; border-radius: 6px; color: #007e57; background: #d7f8e9; font-weight: 700; }.pnx-pill.is-blue { color: #0877d5; background: #def0ff; }.pnx-status.is-closed { color: #52657e; background: #e8eef4; }
/* Entered-tab fixture grouping (Amir, 2026-11-06): the League Expansion V2
   architecture deliberately gives each competition its own model_id/ledger
   for both V3 and V4, so one real match can carry up to four independent
   paper entries. Shown as plain flat rows those looked like corrupted
   duplicate data. Grouped rows keep every entry (nothing is hidden or
   merged) but show the shared fixture once per group instead of once per
   model lane. */
.pnx-entry-group-head { background: #f3f8ff; border-bottom: 1px solid var(--pnx-line); }
.pnx-entry-group-head .pnx-pill { grid-column: 3 / -1; justify-self: start; }
.pnx-entry-grouped-row .pnx-fixture.is-continuation { justify-content: flex-start; color: var(--pnx-muted); font: 600 13px/1 "JetBrains Mono", monospace; }

/* Keep the approved Matches composition while matching its density. */
#matches-content .page-heading { min-height: 118px; }
#matches-content .match-toolbar { margin: -8px 0 12px; }
#matches-content .pn-focus-grid { min-height: 430px; }
#matches-content .pn-feature-card, #matches-content .pn-confidence-card { padding-top: 20px; }
#matches-content .pn-featured-team { min-width: 0; }
#matches-content .pn-model-panel { padding: 12px 14px; }
#matches-content .pn-match-row { min-height: 60px; }

@media (max-width: 1100px) {
  .sidebar { width: 184px; min-width: 184px; }.main-column { width: calc(100% - 184px); }
  .content-area { padding-left: 22px; padding-right: 22px; }
  .pnx-heading h1, .page-heading h1 { font-size: 54px; }
  .pnx-tagline, .pn-heading-note { font-size: 14px; }
  .pnx-model-row { overflow-x: auto; grid-template-columns: 180px repeat(7, 112px) 170px; }
  .pnx-research-head, .pnx-research-row { min-width: 980px; }.pnx-research-list, .pnx-research-head { overflow-x: auto; }
}

@media (max-width: 760px) {
  .sidebar { width: 100%; min-width: 0; }.main-column { width: 100%; }
  .status-header { padding: 0 14px; }.status-location { max-width: none; width: 100%; }.pn-header-date { display: none; }
  .content-area { padding: 18px 14px 40px; }.pnx-heading, .page-heading { min-height: 100px; }.pnx-heading h1, .page-heading h1 { font-size: 48px; }.pnx-tagline, .pn-heading-note { display: none; }
  .pnx-research-summary { grid-template-columns: 1fr 1fr; gap: 12px; }.pnx-research-summary article { border: 0; padding: 4px; }
  .pnx-entered-summary { grid-template-columns: 1fr 1fr 1fr; gap: 12px; }.pnx-entered-summary article { border: 0; padding: 4px; }
  .pnx-market-filters { overflow-x: auto; }.pnx-market-filters > span { display: none; }
}

/* Final tablet contract: use a compact icon rail between phone and desktop.
   Keeping this rule last prevents older prototype breakpoints from placing a
   184px/216px rail over the content or rendering the P brand twice. */
@media (min-width: 761px) and (max-width: 1100px) {
  :root { --pn-sidebar: 76px; }
  .sidebar { width: 76px !important; min-width: 76px !important; padding: 20px 8px !important; }
  .main-column { width: auto !important; margin-left: 76px !important; }
  .brand-lockup { align-items: center; padding: 0 !important; }
  .brand-kicker, .badge-readonly, .brand-period, .sidebar-foot,
  .tab-button > span:not(.pn-nav-icon) { display: none !important; }
  .brand-name { font-size: 0 !important; }
  .brand-name::before { content: "P" !important; font: 650 30px/1 Fraunces, serif !important; color: #fff; }
  .tabs { padding: 18px 0 0 !important; }
  .tab-button { width: 58px !important; min-width: 58px !important; justify-content: center !important; padding: 0 !important; }
  .tab-button > .pn-nav-icon { width: 40px !important; height: 40px !important; flex-basis: 40px !important; }
  .content-area, .status-header { padding-left: 20px !important; padding-right: 20px !important; }
  #detail-overlay.detail-overlay { padding-left: 76px !important; }
}

@media (max-width: 760px) {
  .pnx-model-row *, .pnx-research-row *, .pnx-tr * { min-width: 0; overflow-wrap: anywhere; }
  .pnx-source, .pnx-model-metric small { max-width: 100%; white-space: normal; }
}

/* Research / market-calibration evidence. Read-only, editorial and dense. */
.pnx-calibration-title { margin-top: 46px; align-items: end; }
.pnx-calibration-title > div span { display: block; margin-top: 5px; color: #6c7f9f; font-size: 12px; }
.pnx-calibration-title > strong { color: #079c9c; font: 700 10px/1 "JetBrains Mono", monospace; letter-spacing: .12em; }
.pnx-calibration-coverage { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-block: 1px solid var(--pnx-line); }
.pnx-calibration-coverage article { min-height: 88px; padding: 15px 14px; border-right: 1px solid var(--pnx-line); }
.pnx-calibration-coverage article:last-child { border-right: 0; }
.pnx-calibration-coverage span,.pnx-calibration-coverage small { display: block; color: #6d809e; font-size: 10px; }
.pnx-calibration-coverage strong { display: block; margin: 7px 0 5px; color: var(--pnx-ink); font: 600 26px/1 Fraunces, Georgia, serif; }
.pnx-calibration-window-strip { display: flex; gap: 8px; padding: 12px 0 4px; }
.pnx-calibration-window-strip span { display: inline-flex; align-items: center; gap: 9px; min-width: 74px; padding: 7px 10px; border: 1px solid var(--pnx-line); border-radius: 999px; }
.pnx-calibration-window-strip b { color: #66799a; font: 600 9px/1 "JetBrains Mono", monospace; text-transform: uppercase; }
.pnx-calibration-window-strip strong { color: #039b9b; font-size: 12px; }
.pnx-calibration-controls { display: flex; align-items: end; gap: 12px; margin: 18px 0; padding: 14px 0; border-bottom: 1px solid var(--pnx-line); }
.pnx-calibration-filter { display: grid; gap: 6px; min-width: 155px; color: #66799a; font: 600 9px/1 "JetBrains Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.pnx-calibration-filter select { width: 100%; min-height: 38px; padding: 0 32px 0 10px; border: 1px solid #cad7e4; border-radius: 5px; color: #223754; background: #fff; font: 500 12px/1 Inter, sans-serif; text-transform: none; letter-spacing: 0; }
.pnx-calibration-export { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; margin-left: auto; padding: 0 15px; border: 1px solid #00aeb6; border-radius: 5px; color: #008f96; text-decoration: none; font: 650 11px/1 Inter, sans-serif; }
.pnx-calibration-export:hover { color: #fff; background: #00aeb6; }
.pnx-calibration-models { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 18px 0 28px; }
.pnx-calibration-model { border: 1px solid var(--pnx-line); background: rgba(255,255,255,.42); }
.pnx-calibration-model > header { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--pnx-line); }
.pnx-calibration-model header span { color: #7384a0; font: 600 9px/1 "JetBrains Mono", monospace; letter-spacing: .1em; }
.pnx-calibration-model h3 { margin: 5px 0 0; color: var(--pnx-ink); font: 600 24px/1 Fraunces, Georgia, serif; }
.pnx-calibration-model header > strong { font: 700 9px/1 "JetBrains Mono", monospace; letter-spacing: .08em; }
.pnx-calibration-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pnx-calibration-metrics > div { min-height: 82px; padding: 13px; border-right: 1px solid var(--pnx-line); border-bottom: 1px solid var(--pnx-line); }
.pnx-calibration-metrics > div:nth-child(3n) { border-right: 0; }
.pnx-calibration-metrics span,.pnx-calibration-metrics small { display: block; color: #7284a1; font-size: 9px; }
.pnx-calibration-metrics strong { display: block; margin: 7px 0 4px; color: #1c3150; font: 600 18px/1 Fraunces, Georgia, serif; }
.pnx-calibration-table { overflow-x: auto; }
.pnx-calibration-table .pnx-tr { display: grid; grid-template-columns: 1.1fr 1.8fr .55fr .55fr .8fr .7fr .55fr .6fr .75fr .75fr .55fr 20px; min-width: 1160px; }
.pnx-calibration-table .pnx-tr > * { padding: 12px 8px; }
.pnx-calibration-pager { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 14px 0; color: #6c7f9f; font-size: 11px; }
.pnx-calibration-pager button { min-height: 34px; padding: 0 12px; border: 1px solid #cad7e4; border-radius: 4px; background: #fff; color: #2e4565; }
.pnx-calibration-pager button:disabled { opacity: .45; }

@media (max-width: 1100px) {
  .pnx-calibration-coverage { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pnx-calibration-coverage article:nth-child(3) { border-right: 0; }
  .pnx-calibration-models { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .pnx-calibration-coverage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pnx-calibration-coverage article:nth-child(odd) { border-right: 1px solid var(--pnx-line); }
  .pnx-calibration-coverage article:nth-child(even) { border-right: 0; }
  .pnx-calibration-window-strip { overflow-x: auto; }
  .pnx-calibration-controls { align-items: stretch; flex-direction: column; }
  .pnx-calibration-filter { width: 100%; }
  .pnx-calibration-export { width: 100%; margin-left: 0; }
  .pnx-calibration-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pnx-calibration-metrics > div:nth-child(3n) { border-right: 1px solid var(--pnx-line); }
  .pnx-calibration-metrics > div:nth-child(even) { border-right: 0; }
}



/* ======================================================================
   Match Detail — approved light PolyNews visual system
   ====================================================================== */
#detail-overlay.detail-overlay {
  align-items: stretch;
  justify-content: flex-end;
  padding-left: 216px;
  background: rgba(6, 29, 53, .26);
  backdrop-filter: blur(7px);
}

#detail-overlay .detail-panel {
  width: 100%;
  max-width: none;
  height: 100vh;
  overflow-y: auto;
  padding: 18px 30px 50px;
  border: 0;
  border-radius: 0;
  background: #f7fbff;
  color: var(--pnx-ink);
  box-shadow: -18px 0 46px rgba(6, 29, 53, .18);
}

#detail-overlay .detail-close {
  position: sticky;
  top: 0;
  z-index: 10;
  float: right;
  width: 38px;
  height: 38px;
  border: 1px solid #d5e1ec;
  border-radius: 50%;
  background: #fff;
  color: #5f7290;
  box-shadow: 0 8px 24px rgba(6, 29, 53, .12);
}

#detail-overlay .detail-close:hover {
  border-color: var(--pnx-cyan);
  background: #effcfd;
  color: #078e9a;
}

#detail-content {
  clear: both;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 6px 0 40px;
}

#detail-overlay .match-detail-header-section {
  position: relative;
  overflow: visible;
  margin: 4px 0 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#detail-overlay .match-detail-header-section::before,
#detail-overlay .match-detail-header-section::after {
  display: none;
}

#detail-overlay .match-detail-hero-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0 2px 10px;
  border-bottom: 1px solid var(--pnx-line);
}

#detail-overlay .match-detail-competition {
  gap: 9px;
  color: #596f95;
  font: 600 10px/1.4 "JetBrains Mono", monospace;
  letter-spacing: .06em;
}

#detail-overlay .match-detail-competition .badge,
#detail-overlay .match-detail-country {
  border: 0;
  background: transparent;
  color: #7c8da8;
}

#detail-overlay .match-detail-status {
  padding: 6px 10px;
  border: 1px solid #d5e2ed;
  border-radius: 6px;
  background: #fff;
  color: #667895;
  font: 600 9px/1 "JetBrains Mono", monospace;
  letter-spacing: .04em;
}

#detail-overlay .match-detail-status.has-feed-state {
  border-color: #bfeedd;
  background: #e7fbf3;
  color: #00865e;
}

#detail-overlay .match-detail-team-row {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) 55px minmax(0, 1fr) 76px;
  align-items: center;
  gap: 18px;
  min-height: 174px;
  margin: 0;
  padding: 24px 34px;
  border-bottom: 1px solid var(--pnx-line);
  background: #fff;
}

#detail-overlay .match-detail-team-row .team-visual {
  width: 76px;
  height: 76px;
  padding: 7px;
  border: 1px solid #dbe5ef;
  background: #fff;
  box-shadow: none;
}

#detail-overlay .match-detail-team-row .match-header-team-name {
  margin: 0;
  color: var(--pnx-ink);
  font: 560 clamp(28px, 3vw, 45px)/1 Fraunces, Georgia, serif;
  letter-spacing: -1.1px;
}

#detail-overlay .match-detail-team-row .match-header-team-name:nth-child(2) { text-align: right; }
#detail-overlay .match-detail-team-row .match-header-team-name:nth-child(4) { text-align: left; }
#detail-overlay .match-card-vs {
  color: #93a1b5;
  font: 600 12px/1 "JetBrains Mono", monospace;
  letter-spacing: .14em;
}

#detail-overlay .match-detail-hero-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-bottom: 1px solid var(--pnx-line);
  background: #fff;
}

#detail-overlay .match-detail-meta-item {
  min-height: 62px;
  padding: 13px 20px;
  border: 0;
  border-right: 1px solid var(--pnx-line);
  border-radius: 0;
  background: transparent;
}

#detail-overlay .match-detail-meta-item:last-child { border-right: 0; }
#detail-overlay .match-detail-meta-label {
  color: #6c7f9f;
  font: 600 9px/1.2 "JetBrains Mono", monospace;
  letter-spacing: .08em;
}
#detail-overlay .match-detail-meta-value {
  margin-top: 6px;
  color: #243a60;
  font: 550 11px/1.45 "JetBrains Mono", monospace;
}
#detail-overlay .match-detail-result-proof {
  margin: 0;
  padding: 11px 18px;
  border-bottom: 1px solid var(--pnx-line);
  background: #e9fbf5;
  color: #007c59;
}

#detail-overlay .detail-tabs {
  position: sticky;
  top: -18px;
  float: none;
  z-index: 8;
  display: flex;
  flex-direction: row;
  gap: 4px;
  width: 100%;
  margin: 0 0 16px;
  padding: 10px 0;
  overflow-x: auto;
  border-bottom: 1px solid var(--pnx-line);
  background: rgba(247, 251, 255, .96);
}

#detail-overlay .detail-tabs::before { display: none; }
#detail-overlay .detail-tab-button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #607493;
  font-size: 11px;
  transform: none;
}
#detail-overlay .detail-tab-button:hover {
  border-color: #d7e3ed;
  background: #fff;
  color: #21385e;
  transform: none;
}
#detail-overlay .detail-tab-button.active {
  border-color: #28c9d4;
  background: #e9fcfd;
  color: #087f8a;
  box-shadow: none;
}
#detail-overlay .detail-tab-mark { display: none; }
#detail-overlay .detail-tab-num {
  color: #9aa8bb;
  font: 600 9px/1 "JetBrains Mono", monospace;
}
#detail-overlay .detail-tab-button.active .detail-tab-num { color: #08a5b0; }

#detail-overlay .prediction-card,
#detail-overlay .detail-section-expandable,
#detail-overlay .material-strip,
#detail-overlay .sparse-detail-notice,
#detail-overlay .intelligence-source-section,
#detail-overlay .section-card,
#detail-overlay .technical-details,
#detail-overlay .provider-box,
#detail-overlay .itimeline {
  border: 1px solid var(--pnx-line);
  border-radius: 8px;
  background: #fff;
  color: #273d62;
  box-shadow: none;
}

#detail-overlay .prediction-card {
  margin: 0;
  padding: 22px 24px;
}
#detail-overlay .prediction-card-heading {
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--pnx-line);
}
#detail-overlay .prediction-card-heading strong,
#detail-overlay .sparse-detail-headline {
  color: var(--pnx-ink);
  font: 560 25px/1 Fraunces, Georgia, serif;
}
#detail-overlay .prediction-card-body { gap: 28px; }
#detail-overlay .detail-section-title {
  margin: 22px 0 10px;
  color: var(--pnx-ink) !important;
  font: 560 24px/1 Fraunces, Georgia, serif;
  letter-spacing: 0;
  text-transform: none;
}
#detail-overlay .detail-section-title::before { display: none; }

#detail-overlay .hero-strip {
  border: 1px solid var(--pnx-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}
#detail-overlay .hero-cell,
#detail-overlay .hero-decision { border-color: var(--pnx-line); background: #fff; }
#detail-overlay .hero-cell-label { color: #6b7f9f; }
#detail-overlay .hero-cell-sub,
#detail-overlay .hero-decision-reason,
#detail-overlay .hero-decision-warn { color: #6b7f9f; }
#detail-overlay .hero-decision-word { color: #078e9a; }
#detail-overlay .hero-arrow { color: #7c8ea9; background: #f3f8fc; }

#detail-overlay .detail-section-expandable { margin-top: 10px; }
#detail-overlay .detail-section-expandable > summary {
  padding: 14px 44px 14px 16px;
  color: #31486d;
  font-size: 12px;
}
#detail-overlay .detail-section-expandable > summary::after { color: #0aa3ae; }
#detail-overlay .detail-section-expandable[open] > summary {
  border-bottom: 1px solid var(--pnx-line);
  color: var(--pnx-ink);
}

#detail-overlay .intelligence-probability-grid span,
#detail-overlay .probability-grid > * {
  border: 1px solid var(--pnx-line);
  background: #f4f8fc;
  color: #32496e;
}
#detail-overlay .outcome-table th { color: #6d7f9e; }
#detail-overlay .outcome-table td,
#detail-overlay .outcome-table th { border-color: var(--pnx-line); }
#detail-overlay .technical-details,
#detail-overlay .intelligence-source-section,
#detail-overlay .section-card,
#detail-overlay .provider-box,
#detail-overlay .itimeline { background: #f9fcff; }
#detail-overlay .technical-details summary,
#detail-overlay .itimeline-body,
#detail-overlay .itimeline-detail,
#detail-overlay .provider-heading,
#detail-overlay .market-outcomes,
#detail-overlay .match-card-meta,
#detail-overlay .muted { color: #657897; }
#detail-overlay .technical-details[open] summary,
#detail-overlay .intelligence-divider { color: #078e9a; }
#detail-overlay .itimeline-top { color: #23395e; }

#detail-overlay h1,
#detail-overlay h2,
#detail-overlay h3,
#detail-overlay h4 { color: var(--pnx-ink); }

@media (max-width: 900px) {
  #detail-overlay.detail-overlay { padding-left: 0; }
  #detail-overlay .detail-panel { padding: 12px 16px 40px; }
  #detail-overlay .match-detail-team-row {
    grid-template-columns: 52px minmax(0, 1fr) 34px minmax(0, 1fr) 52px;
    gap: 9px;
    min-height: 132px;
    padding: 18px 12px;
  }
  #detail-overlay .match-detail-team-row .team-visual { width: 52px; height: 52px; }
  #detail-overlay .match-detail-team-row .match-header-team-name { font-size: 20px; }
  #detail-overlay .match-detail-hero-meta { grid-template-columns: 1fr; }
  #detail-overlay .match-detail-meta-item { border-right: 0; border-bottom: 1px solid var(--pnx-line); }
  #detail-overlay .match-detail-meta-item:last-child { border-bottom: 0; }
}



/* ======================================================================
   Sidebar navigation — unified rounded icon system
   ====================================================================== */
.brand-name {
  position: relative;
  text-shadow: 0 6px 24px rgba(0, 0, 0, .18);
}
.brand-period {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 4px;
  overflow: hidden;
  border-radius: 50%;
  background: #1bdde4;
  color: transparent;
  box-shadow: 0 0 0 5px rgba(27, 221, 228, .08);
  vertical-align: baseline;
}

.tabs { gap: 7px; }
.tab-button {
  height: 56px;
  gap: 12px;
  padding: 0 12px;
  border-radius: 13px;
  color: #b8c8d9;
  font-weight: 600;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.tab-button > .pn-nav-icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid rgba(190, 211, 231, .14);
  border-radius: 10px;
  background: rgba(255, 255, 255, .035);
  color: #d7e6f5;
  font-size: 21px;
  line-height: 1;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  transition: inherit;
}
.tab-button:hover {
  border-color: rgba(70, 218, 226, .24);
  background: rgba(27, 101, 133, .18);
  color: #f5fbff;
  transform: translateX(2px);
}
.tab-button:hover > .pn-nav-icon {
  border-color: rgba(74, 226, 233, .34);
  background: rgba(26, 211, 220, .10);
  color: #65edf1;
}
.tab-button.active {
  border-color: #14cbd5;
  background: linear-gradient(100deg, rgba(15, 196, 207, .24), rgba(15, 105, 142, .18));
  color: #4ae5eb;
  box-shadow: inset 3px 0 #20e0e6, 0 10px 26px rgba(0, 10, 26, .15);
}
.tab-button.active::before {
  left: -15px;
  width: 4px;
  height: 38px;
  box-shadow: 0 0 16px rgba(33, 228, 233, .45);
}
.tab-button.active > .pn-nav-icon {
  border-color: rgba(66, 235, 240, .40);
  background: rgba(24, 218, 226, .13);
  color: #62f0f3;
  font-variation-settings: "FILL" 1, "wght" 450, "GRAD" 0, "opsz" 24;
}
.sidebar-foot::before { display: none; }
.sidebar-foot {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 20px 8px 0;
  color: #91a6bb;
}
.pn-status-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #5ad5aa;
  box-shadow: 0 0 0 5px rgba(90, 213, 170, .08);
}
.pn-status-copy { display: grid; gap: 2px; }
.pn-status-copy strong,
.pn-status-copy small {
  font: 600 10px/1.15 "JetBrains Mono", monospace;
  letter-spacing: .10em;
}
.pn-status-copy small { font-weight: 400; }

@media (max-width: 900px) {
  .brand-period,
  .tab-button > span:not(.pn-nav-icon),
  .sidebar-foot { display: none; }
  .tab-button > .pn-nav-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
}


/* Sidebar icon hotfix: local Lucide SVGs, no external icon-font dependency. */
.tab-button > .pn-nav-icon {
  overflow: hidden;
  font-family: inherit;
  font-size: 0 !important;
  font-variation-settings: normal;
}
.tab-button > .pn-nav-icon svg {
  display: block;
  width: 21px;
  height: 21px;
  pointer-events: none;
}
.tab-button.active > .pn-nav-icon { font-variation-settings: normal; }


/* Audit hardening: mobile uses a bottom navigation rail instead of a
   full-screen fixed sidebar. Tables remain independently scrollable and
   never force horizontal scrolling on the whole document. */
html, body { max-width: 100%; overflow-x: hidden; }
.pnx-table { max-width: 100%; }
.pnx-pager { align-items: center; justify-content: flex-end; }
.pnx-pager .muted { margin: 0 8px; white-space: nowrap; }

@media (max-width: 760px) {
  body { padding-bottom: 76px; }
  .app-shell { display: block; min-height: 100vh; }
  .sidebar {
    position: fixed;
    inset: auto 0 0 0;
    z-index: 100;
    width: 100%;
    min-width: 0;
    height: 72px;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    border-top: 1px solid #1d4968;
    background: rgba(6, 29, 53, .98);
    box-shadow: 0 -8px 28px rgba(6, 29, 53, .18);
  }
  .brand-lockup, .sidebar-foot { display: none !important; }
  .tabs {
    display: flex;
    width: 100%;
    height: 60px;
    gap: 4px;
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .tabs::-webkit-scrollbar { display: none; }
  .tab-button {
    flex: 0 0 76px;
    min-width: 76px;
    min-height: 56px;
    height: 56px;
    padding: 5px 4px;
    gap: 2px;
    border-radius: 9px;
    text-align: center;
    font-size: 10px;
    line-height: 1.05;
    flex-direction: column;
    justify-content: center;
  }
  .tab-button > span:first-child { width: auto; font-size: 18px; }
  .tab-button.active { box-shadow: inset 0 3px #13dce7; }
  .tab-button.active::before { display: none; }
  .main-column { width: 100%; margin-left: 0; }
  .status-header { height: 58px; min-height: 58px; padding: 0 12px; }
  .status-header-row { height: 58px; }
  .status-location { width: 100%; max-width: none; }
  .content-area { width: 100%; padding: 14px 12px 34px; }
  .operational-alert-banner { font-size: 11px; }
  #detail-overlay.detail-overlay { padding-left: 0; }
  #detail-overlay .detail-panel { padding: 12px 14px 96px; }
  .pnx-heading h1, .page-heading h1 { font-size: 44px; letter-spacing: -2px; }
  .pnx-entered-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pnx-entered-summary article { min-width: 0; }
  .pnx-pager { justify-content: space-between; }
}

/* Authoritative responsive overrides (kept last intentionally). */
@media (min-width: 761px) and (max-width: 1100px) {
  :root { --pn-sidebar: 76px; }
  .sidebar { width: 76px !important; min-width: 76px !important; padding: 20px 8px !important; }
  .main-column { width: auto !important; margin-left: 76px !important; }
  .brand-lockup { align-items: center; padding: 0 !important; }
  .brand-kicker, .badge-readonly, .brand-period, .sidebar-foot,
  .tab-button > span:not(.pn-nav-icon) { display: none !important; }
  .brand-name { font-size: 0 !important; }
  .brand-name::before { content: "P" !important; font: 650 30px/1 Fraunces, serif !important; color: #fff; }
  .tabs { padding: 18px 0 0 !important; }
  .tab-button { width: 58px !important; min-width: 58px !important; justify-content: center !important; padding: 0 !important; }
  .tab-button > .pn-nav-icon { width: 40px !important; height: 40px !important; flex-basis: 40px !important; }
  .content-area, .status-header { padding-left: 20px !important; padding-right: 20px !important; }
  #detail-overlay.detail-overlay { padding-left: 76px !important; }
}

@media (max-width: 760px) {
  .pnx-model-row *, .pnx-research-row *, .pnx-tr * { min-width: 0; overflow-wrap: anywhere; }
  .pnx-source, .pnx-model-metric small { max-width: 100%; white-space: normal; }
}



/* Second visual audit: one league label, multilingual-safe metadata,
   intentional crest fallbacks, and a real seven-destination mobile bar. */
.pn-row-competition .competition-visual > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pn-row-competition .competition-flag {
  flex: 0 0 auto;
  font-size: 16px;
}
.multilingual-label[dir="auto"],
.competition-visual[dir="auto"] {
  unicode-bidi: plaintext;
}
.multilingual-label[dir="auto"] {
  letter-spacing: 0 !important;
  text-transform: none;
}
.team-visual-fallback {
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
  font-weight: 750;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 4px 12px rgba(11,31,53,.10);
}
.team-visual-tone-0 { background: linear-gradient(145deg,#165f86,#16a6b6) !important; }
.team-visual-tone-1 { background: linear-gradient(145deg,#613c86,#9a65ba) !important; }
.team-visual-tone-2 { background: linear-gradient(145deg,#8a3f52,#d26b6f) !important; }
.team-visual-tone-3 { background: linear-gradient(145deg,#28684f,#36ad7d) !important; }
.team-visual-tone-4 { background: linear-gradient(145deg,#7a5623,#d79a37) !important; }
.team-visual-tone-5 { background: linear-gradient(145deg,#344d73,#6389bd) !important; }

@media (max-width: 760px) {
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .sidebar {
    height: calc(68px + env(safe-area-inset-bottom)) !important;
    padding: 4px 5px env(safe-area-inset-bottom) !important;
  }
  .tabs {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    width: 100% !important;
    height: 64px !important;
    gap: 2px !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .tab-button {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 4px 1px 3px !important;
    gap: 2px !important;
    overflow: hidden;
    border-radius: 8px !important;
  }
  .tab-button > .pn-nav-icon {
    width: 29px !important;
    height: 29px !important;
    flex: 0 0 29px !important;
  }
  .tab-button > .pn-nav-icon svg {
    width: 18px;
    height: 18px;
  }
  .tab-button > span:not(.pn-nav-icon) {
    display: block !important;
    width: 100%;
    overflow: hidden;
    color: inherit;
    font-size: 7px;
    line-height: 1.05;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
