/* Cards */
.nfl-summary-card,.nfl-card{
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  padding:18px;
  margin:0 0 18px 0;
}
.nfl-card-title{margin:0 0 12px 0;font-size:28px;font-weight:900;letter-spacing:-0.02em}
.nfl-summary-title{font-size:13px;font-weight:900;letter-spacing:0.08em;color:#6b7280;margin-bottom:10px}
.nfl-summary-line{font-size:18px;font-weight:700}

/* Week select */
.nfl-week-select{margin:0 0 12px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nfl-week-select select{padding:6px 8px}

/* Messages */
.nfl-saved{background:#d4edda;border:1px solid #c3e6cb;padding:10px;border-radius:12px;margin:10px 0}
.nfl-locked-banner{background:#f8d7da;border:1px solid #f5c2c7;padding:10px;border-radius:12px;margin:10px 0}

/* Weekly pick form */
.nfl-game{margin:10px 0 16px 0}
.nfl-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin:4px 0 6px 0}
.nfl-date{font-weight:600}
.nfl-locked{padding:2px 10px;border:1px solid #000;border-radius:999px;font-weight:800}
.nfl-locked-empty{border-color:transparent;color:transparent}

.nfl-pick-card{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nfl-team{display:flex;border:3px solid #000;border-radius:18px;overflow:hidden;cursor:pointer;position:relative}
.nfl-team input{position:absolute;opacity:0;pointer-events:none}
.nfl-left{width:50%;display:flex;justify-content:center;align-items:center;min-height:58px}
.nfl-left img{height:42px;width:auto}
.nfl-right{width:50%;background:#fff;color:#000;display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:800}
.nfl-rec{font-weight:800;font-size:13px;opacity:.95}
.nfl-team.selected{outline:none !important;box-shadow:0 0 0 3px rgba(34,197,94,0.55),0 10px 22px rgba(34,197,94,0.18);border-color:#16a34a !important}

.nfl-submit{position:sticky;bottom:10px;width:100%;padding:14px 16px;font-size:18px;border-radius:16px;border:2px solid #000;background:#000;color:#fff;margin-top:12px}
.nfl-submit:disabled{opacity:.6}

/* Tables */
.nfl-scroll{overflow-x:auto}
.nfl-picks-table, .nfl-leader-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}
.nfl-picks-table th, .nfl-picks-table td, .nfl-leader-table th, .nfl-leader-table td{
  border-bottom:1px solid #eef2f7;
  text-align:center;
  white-space:nowrap;
  vertical-align:middle;
}
.nfl-picks-table thead th, .nfl-leader-table thead th{
  background:#f8fafc;
  font-weight:900;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.06em;
}
/* Tighter columns for leaderboard (requested) */
.nfl-tight-leader th, .nfl-tight-leader td{padding:10px 10px;font-size:15px}
.nfl-tight-leader th.nfl-wk-col, .nfl-tight-leader td.nfl-wk-col{padding:10px 8px;min-width:52px}
.nfl-tight-leader th:nth-child(1), .nfl-tight-leader td:nth-child(1){min-width:64px}
.nfl-tight-leader th:nth-child(2), .nfl-tight-leader td:nth-child(2){text-align:left;padding-left:14px;min-width:160px}
.nfl-tight-leader th:nth-child(3), .nfl-tight-leader td:nth-child(3){min-width:64px}
.nfl-tight-leader th:nth-child(4), .nfl-tight-leader td:nth-child(4){min-width:76px}
.nfl-tight-leader th:nth-child(5), .nfl-tight-leader td:nth-child(5){min-width:64px}

/* Highlight logged-in user row light blue */
.nfl-leader-table tbody tr.nfl-me td{
  background:#dbeafe !important;
}
.nfl-leader-table tbody tr.nfl-me td.nfl-user{
  font-weight:900;
}

/* Weekly picks table tight (from earlier) */
.nfl-tight th, .nfl-tight td{padding:8px 8px}
.nfl-gamehead{min-width:140px}
.nfl-gh-team{font-weight:800}
.nfl-gh-score{font-size:13px;opacity:.85;margin-top:2px}
.nfl-usercell{text-align:left;font-weight:700}
.nfl-pickcell{padding:6px 6px}

/* Pick tiles */
.nfl-pick-tile{
  width:44px;height:44px;margin:0 auto;
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;
  border:1px solid #d1d5db;
  box-shadow:0 2px 6px rgba(0,0,0,0.08);
  background:#fff;
}
.nfl-pick-tile img{height:26px;width:auto}
.nfl-pick-tile.nfl-incorrect{background:#f8d7da}
.nfl-nopick{opacity:.6;font-weight:800}

@media(max-width:768px){
  .nfl-pick-card{grid-template-columns:1fr}
  .nfl-summary-line{font-size:16px}
  .nfl-card-title{font-size:24px}
}


/* ===== SMX-style Leaderboard Skin (NFL) ===== */

.smx-pickem{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.smx-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin:14px 0;box-shadow:0 2px 10px rgba(0,0,0,.05);}
.smx-title{margin:0 0 10px 0;font-size:28px;line-height:1.1;font-weight:900;letter-spacing:-0.02em;}
.smx-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;color:#6b7280;}
.smx-flex{display:flex;align-items:center;}
.smx-flex-between{justify-content:space-between;}
.smx-gap{gap:12px;}
.smx-pill{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid #e5e7eb;font-size:12px;font-weight:700;}
.smx-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.smx-table{width:100%;border-collapse:collapse;border-spacing:0;min-width:840px;border:1px solid #e5e7eb;}
.smx-table th,.smx-table td{border:1px solid #e5e7eb !important;padding:10px 10px;font-size:13px;white-space:nowrap;}
.smx-table th{background:#f9fafb;text-align:left;font-weight:900;position:sticky;top:0;z-index:1;}
.smx-center{text-align:center;}
.smx-medal{display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;vertical-align:middle;margin-right:4px;}
.smx-me td{background:#dbeafe !important;outline:none !important;box-shadow:none !important;}
.smx-user-summary .smx-summary-line{font-size:18px;font-weight:800;margin-top:6px}
.smx-user-summary .smx-summary-sub{font-size:13px;color:#6b7280;margin-top:6px}
/* Tighten NFL columns vs default SMX */
.nfl-lb-table.smx-table th,.nfl-lb-table.smx-table td{padding:8px 8px;font-size:13px;}
.nfl-lb-table.smx-table th:nth-child(2), .nfl-lb-table.smx-table td:nth-child(2){min-width:160px;}


/* v4.7.1 – Match SMX leaderboard column widths (dense layout) */
.nfl-lb-table.smx-table{
  table-layout: fixed !important;
  width: 100% !important;
}
.nfl-lb-table.smx-table th,
.nfl-lb-table.smx-table td{
  padding: 6px 6px !important;
  font-size: 13px !important;
}
/* POS */
.nfl-lb-table.smx-table th:nth-child(1),
.nfl-lb-table.smx-table td:nth-child(1){
  width: 56px !important;
}
/* USERNAME */
.nfl-lb-table.smx-table th:nth-child(2),
.nfl-lb-table.smx-table td:nth-child(2){
  width: 130px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
/* PTS, PTS BEH, AVG */
.nfl-lb-table.smx-table th:nth-child(3),
.nfl-lb-table.smx-table td:nth-child(3){
  width: 58px !important;
}
.nfl-lb-table.smx-table th:nth-child(4),
.nfl-lb-table.smx-table td:nth-child(4){
  width: 70px !important;
}
.nfl-lb-table.smx-table th:nth-child(5),
.nfl-lb-table.smx-table td:nth-child(5){
  width: 58px !important;
}
/* Week columns (from 6th onward) */
.nfl-lb-table.smx-table th:nth-child(n+6),
.nfl-lb-table.smx-table td:nth-child(n+6){
  width: 52px !important;
}
/* Logged-in user highlight stays */
.nfl-lb-table.smx-table tbody tr.nfl-me td,
.nfl-lb-table.smx-table tbody tr.smx-me td{
  background:#dbeafe !important;
}



/* v4.7.2 – Ultra-compact leaderboard columns (match NCAA/SMX density) */
.smx-pickem .smx-table.nfl-lb-table.smx-dense{
  table-layout: fixed !important;
}
.smx-pickem .smx-table.nfl-lb-table.smx-dense th,
.smx-pickem .smx-table.nfl-lb-table.smx-dense td{
  padding: 5px 6px !important;
  font-size: 13px !important;
}
.smx-pickem .smx-table.nfl-lb-table.smx-dense th.col-pos,
.smx-pickem .smx-table.nfl-lb-table.smx-dense td.col-pos{ width: 52px !important; }
.smx-pickem .smx-table.nfl-lb-table.smx-dense th.col-user,
.smx-pickem .smx-table.nfl-lb-table.smx-dense td.col-user{
  width: 118px !important;
  max-width: 118px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.smx-pickem .smx-table.nfl-lb-table.smx-dense th.col-pts,
.smx-pickem .smx-table.nfl-lb-table.smx-dense td.col-pts{ width: 52px !important; }
.smx-pickem .smx-table.nfl-lb-table.smx-dense th.col-beh,
.smx-pickem .smx-table.nfl-lb-table.smx-dense td.col-beh{ width: 66px !important; }
.smx-pickem .smx-table.nfl-lb-table.smx-dense th.col-avg,
.smx-pickem .smx-table.nfl-lb-table.smx-dense td.col-avg{ width: 52px !important; }
.smx-pickem .smx-table.nfl-lb-table.smx-dense th.col-week,
.smx-pickem .smx-table.nfl-lb-table.smx-dense td.col-week{ width: 44px !important; }
.nfl-summary-sub{
  margin-top:10px;
  font-size:13px;
  font-weight:600;
  color:#6b7280;
}




/* v4.7.3 – Force SMX/PGA/NCAA dense leaderboard sizing (no stretch) */
.smx-pickem .smx-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.smx-pickem .nfl-lb-table.smx-table{
  width: max-content !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  display: inline-table;
}
.smx-pickem .nfl-lb-table.smx-table th,
.smx-pickem .nfl-lb-table.smx-table td{
  padding: 6px 6px !important;
  font-size: 13px !important;
}
.smx-pickem .nfl-lb-table.smx-table th.col-pos,
.smx-pickem .nfl-lb-table.smx-table td.col-pos{width:56px !important;}
.smx-pickem .nfl-lb-table.smx-table th.col-user,
.smx-pickem .nfl-lb-table.smx-table td.col-user{
  width:120px !important; max-width:120px !important;
  overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important;
}
.smx-pickem .nfl-lb-table.smx-table th.col-pts,
.smx-pickem .nfl-lb-table.smx-table td.col-pts{width:52px !important;}
.smx-pickem .nfl-lb-table.smx-table th.col-beh,
.smx-pickem .nfl-lb-table.smx-table td.col-beh{width:66px !important;}
.smx-pickem .nfl-lb-table.smx-table th.col-avg,
.smx-pickem .nfl-lb-table.smx-table td.col-avg{width:52px !important;}
.smx-pickem .nfl-lb-table.smx-table th.col-week,
.smx-pickem .nfl-lb-table.smx-table td.col-week{width:44px !important;}

/* NCAA-style summary typography */
.smx-user-summary .smx-summary-line{
  font-size:18px;
  font-weight:900;
  letter-spacing:-0.01em;
}
.smx-user-summary .smx-summary-sub{
  margin-top:10px;
  font-size:13px;
  color:#6b7280;
  font-weight:700;
}

