/* Marina: approved NFL visual cleanup. Existing structure, typefaces, palette and content retained. */
/* Visual refinement v2: existing views/handlers/columns and semantic colors retained.
   Inline overrides below affect presentation only. */
.nfl-page-slate-controls select,
.nfl-page-slate-controls button { line-height:1.25; vertical-align:middle; }
.nfl-main th,.nfl-main td { font-variant-numeric:tabular-nums; vertical-align:middle; }
.capture-reference th,.capture-reference td { font-variant-numeric:tabular-nums; vertical-align:middle; }
.nfl-main .txs { line-height:1.45; }
.nfl-main :is(.ts4,.ts5) { color:var(--sp-secondary,#b5c2d4); }
.nfl-main input::placeholder { color:var(--sp-muted,#93a6bf); opacity:1; }
/* Existing article tables, prose and metadata: local rhythm and numeric alignment. */
.wrap article th,.wrap article td { font-variant-numeric:tabular-nums; vertical-align:middle; }
.wrap article td.num { text-align:right; }
.wrap article table:has(tbody td:nth-child(1).num) th:nth-child(1),
.wrap article table:has(tbody td:nth-child(2).num) th:nth-child(2),
.wrap article table:has(tbody td:nth-child(3).num) th:nth-child(3),
.wrap article table:has(tbody td:nth-child(4).num) th:nth-child(4),
.wrap article table:has(tbody td:nth-child(5).num) th:nth-child(5),
.wrap article table:has(tbody td:nth-child(6).num) th:nth-child(6),
.wrap article table:has(tbody td:nth-child(7).num) th:nth-child(7),
.wrap article table:has(tbody td:nth-child(8).num) th:nth-child(8),
.wrap article table:has(tbody td:nth-child(9).num) th:nth-child(9),
.wrap article table:has(tbody td:nth-child(10).num) th:nth-child(10),
.wrap article table:has(tbody td:nth-child(11).num) th:nth-child(11),
.wrap article table:has(tbody td:nth-child(12).num) th:nth-child(12) { text-align:right; }
.wrap article .cap { color:#94a3b8; }
.wrap article h2 + p { margin-top:4px; }
@media(max-width:600px){
 .nfl-page-slate-controls { row-gap:8px; }
 .nfl-page-slate-controls :is(button,select) { min-height:44px; }
}

/* Quiet navigation; the existing cyan active tab owns the emphasis. */
body[data-sp-ui=nfl] .sp-app-nav .btn {
 font-family:'DM Sans',system-ui,sans-serif;font-size:12px;font-weight:600;
 letter-spacing:0;border-radius:6px;
}
body[data-sp-ui=nfl] .sp-app-nav .btn.bs:not(.blk):not(:disabled) {
 background:transparent;border-color:transparent;color:var(--sp-secondary,#b5c2d4);
}
body[data-sp-ui=nfl] .sp-app-nav .btn.bs:not(.blk):not(:disabled):hover {
 background:var(--sp-raised,#172638);border-color:var(--sp-line,#2a3c51);
}
body[data-sp-ui=nfl] .sp-app-header .btn {border-radius:6px;letter-spacing:.015em}
.nfl-main .sp-page-title {font-weight:500;letter-spacing:.025em;line-height:1.2}
.nfl-main :is(.gc,.gl,.mc) {border-radius:10px;box-shadow:none}
.nfl-main :is(.btn,select.edit-input) {
 font-family:'DM Sans',system-ui,sans-serif;font-weight:600;letter-spacing:0;border-radius:6px;
}
.nfl-main :is(input,select) {font-variant-numeric:tabular-nums}
.nfl-main .btn:focus-visible,.nfl-main :is(input,select):focus-visible {
 outline:2px solid var(--sp-accent,#49c8ff);outline-offset:2px;
}

/* One clean header / baseline across the existing data tables. */
.nfl-main table:not(.nfl-dfs-dense) th {
 font-family:'DM Sans',system-ui,sans-serif!important;font-size:11.5px!important;
 font-weight:600!important;letter-spacing:.025em;line-height:1.4;padding:7px 6px!important;
}
.nfl-main th[style*="--sp-muted"] {color:var(--sp-secondary,#b5c2d4)!important}
.nfl-main td {line-height:1.4}
.nfl-main table:has(input[aria-label^="SPAGS"]) th {padding:11px 12px!important;font-size:12px!important}
.nfl-main table:has(input[aria-label^="SPAGS"]) tbody td {
 padding:7px 12px!important;font-size:13px;height:42px;border-bottom-color:rgba(147,166,191,.14);
}
.nfl-main table:has(input[aria-label^="SPAGS"]) tbody td:first-child {
 font-family:'DM Sans',system-ui,sans-serif;font-weight:600;font-size:14px;letter-spacing:0;
}
.nfl-main table:has(input[aria-label^="SPAGS"]) .team-badge {
 font-family:'DM Sans',system-ui,sans-serif;font-size:10px;line-height:18px;
 letter-spacing:.025em;padding:2px 7px;border-radius:5px;
}
.nfl-main input[aria-label^="SPAGS"] {
 min-height:28px;padding:4px 6px!important;font:600 12px/1.2 'DM Sans',sans-serif;
 text-align:right;border-radius:4px;
}
.nfl-main [data-nfl-props-name] {
 text-decoration-color:rgba(181,194,212,.45)!important;text-underline-offset:3px!important;
}

/* Matchups: readable bands and groups, still the same two-sided sheet. */
.nfl-main .nfl-matchup-panels > div > .fm,.nfl-main .nfl-qb-splits > .fm {
 font-size:11px!important;font-weight:600;letter-spacing:.075em!important;
 line-height:1.5;margin:12px 0 5px!important;
}
.nfl-main .nfl-matchup-panels > div > .fm[style*="rgb(100, 116, 139)"],
.nfl-main .nfl-matchup-panels > div > .fm[style*="#64748b"] {
 color:var(--sp-secondary,#b5c2d4)!important;
}
.nfl-main .nfl-matchup-panels table {font-size:11.5px!important}
.nfl-main .nfl-matchup-panels table td {padding:3px 5px!important;font-size:11.5px!important}
.nfl-main .nfl-matchup-panels table th {padding:4px 5px!important}
.nfl-main .nfl-matchup-scroll {border-radius:5px}
.nfl-main .nfl-team-matchup {margin-bottom:18px!important}
.nfl-main .nfl-team-matchup > .flex .fm {font-size:10px!important;line-height:1.5}
.nfl-main .nfl-pressure-inline {font-size:11px;line-height:1.5}

/* Matrix retains fixed card height, metric widths and native horizontal scrolling. */
.nfl-main .sp-matrix-card > div:first-child {padding:8px 12px!important}
.nfl-main .sp-matrix-card > div:last-child > .flex:first-child {
 font-size:11px!important;line-height:16px;padding:3px 4px 6px!important;margin-bottom:2px!important;
}
.nfl-main .sp-matrix-card .hr {
 font-size:12px!important;line-height:16px;padding:4px!important;border-color:rgba(147,166,191,.14);
}
.nfl-main .sp-matrix-card .hr > .f1 {font-size:12px!important;font-weight:500}
.nfl-main .sp-matrix-card .hr > .f1 > .ts5 {font-size:9px!important}

/* Same editorial column/copy; refine paragraph, heading and table rhythm. */
.wrap article p {line-height:1.75;margin-bottom:16px}
.wrap article h1 {letter-spacing:-.012em;line-height:1.15}
.wrap article h2 {letter-spacing:.005em;line-height:1.3}
.wrap article .meta {line-height:1.65;color:#94a3b8}
.wrap article th {font-family:'DM Sans',system-ui,sans-serif;padding:11px 10px;font-size:12px;letter-spacing:.035em;font-weight:600;line-height:1.4}
.wrap article td {padding:10px;line-height:1.4}

/* Single-line native slate label. Full option text remains in the native menu. */
body[data-sp-ui=nfl] .nfl-main select[aria-label="NFL slate"] {
 white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.3;
 font-family:'DM Sans',system-ui,sans-serif;font-size:12px;font-weight:500;
}
@media(max-width:600px) {
 body[data-sp-ui=nfl] .nfl-main .nfl-page-slate-controls {
  width:100%;max-width:100%;flex-wrap:nowrap!important;gap:8px!important;align-items:center;
 }
 body[data-sp-ui=nfl] .nfl-main .nfl-page-slate-controls > .nav-toggle {flex:0 0 auto}
 body[data-sp-ui=nfl] .nfl-main .nfl-page-slate-controls > :has(select) {flex:1 1 0;min-width:0}
 body[data-sp-ui=nfl] .nfl-main select[aria-label="NFL slate"] {
  height:44px;min-height:44px;white-space:nowrap!important;font-size:14px!important;
  line-height:1.3!important;max-width:100%!important;min-width:0;padding:8px 26px 8px 8px!important;
 }
 body[data-sp-ui=nfl] .nfl-main .nfl-page-slate-controls .nav-toggle button {
  min-height:44px;padding:6px 9px!important;white-space:nowrap;font-size:12px!important;
 }
 body[data-sp-ui=nfl] .nfl-main .sp-page-title {font-size:23px!important}
 .nfl-main table:has(input[aria-label^="SPAGS"]) tbody td {padding:3px 10px!important}
 .nfl-main .nfl-matchup-panels table th {padding:4px 5px!important}
 .nfl-main .nfl-matchup-panels table td {padding:4px 5px!important}
}
