/* Forged arena material. Native table geometry, sticky columns and mobile rules stay intact. */
.table-panel,
.picker-table-wrap,
.form-team,
.team-comparison,
.scorer-card {
  --gt-ink: #e3edf7;
  --gt-muted: #a5bbd0;
  --gt-amber: #ffb573;
  --gt-line: #d59c654d;
  --gt-lane: #20384d;
  --gt-sheen: linear-gradient(180deg, #fff2d80c, transparent 25%, #0411232b 100%), repeating-linear-gradient(135deg, transparent 0 11px, #fff1d006 11px 12px, transparent 12px 23px);
  --gt-tint: linear-gradient(180deg, #ffb56e0d, transparent 44%, #88d8bb08);
  --gt-head: linear-gradient(180deg, #eaa26629, transparent 48%, #07142930), repeating-linear-gradient(135deg, transparent 0 11px, #fff1d006 11px 12px, transparent 12px 23px), #294252;
  --gt-hover: #354b58;
  --gt-selected: #51483f;
}

.table-panel,
.picker-table-wrap {
  border-color: #d99c6470;
  background: radial-gradient(ellipse at 0 0, #ff9a3d24, transparent 55%), linear-gradient(145deg, #26394a, #142d43 62%, #183e40);
  box-shadow: 0 4px 0 #08162899, 0 16px 35px #06112240, inset 0 1px #ffe2bc47, inset 1px 0 #ffb77d26;
}

.table-wrap table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 5px;
  color: var(--gt-ink, #e3edf7);
}

.table-wrap table > thead > tr > th {
  height: 46px;
  padding: 12px 18px;
  border: 0;
  background: var(--gt-head);
  color: #ffe5c8;
  box-shadow: inset 0 1px #ffe0b55c, inset 0 -2px #ffac616b, 0 3px 6px #04102326;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .045em;
  vertical-align: middle;
  white-space: nowrap;
}

.table-wrap table > thead > tr > th:first-child {
  box-shadow: inset 4px 0 #ffad69, inset 0 1px #ffe0b55c, inset 0 -2px #ffac616b;
}

.table-wrap table > tbody > tr {
  --gt-row: var(--gt-lane, #1c354e);
  --gt-accent: #f4a3678c;
  background: transparent;
}

.table-wrap.table-wrap table > tbody > tr > td {
  padding: 17px 18px;
  border: 0;
  background: var(--gt-sheen), var(--gt-tint), var(--gt-row);
  color: var(--gt-ink, #e3edf7);
  line-height: 1.45;
  vertical-align: middle;
  box-shadow: inset 0 1px #ffe1b91f, inset 0 -2px #07182a66, 0 2px 0 #07162933;
  transition: background-color .18s ease, box-shadow .18s ease;
}

.table-wrap.table-wrap table > tbody > tr > td:first-child {
  border-radius: 9px 0 0 9px;
  box-shadow: inset 4px 0 var(--gt-accent), inset 1px 0 10px #ff9a3d17, inset 0 1px #ffe1b92b, inset 0 -2px #07182a66;
}

.table-wrap.table-wrap table > tbody > tr > td:last-child { border-radius: 0 9px 9px 0; }
.table-wrap.table-wrap table > tbody > tr > td:only-child { border-radius: 9px; }

.table-wrap table > tbody > tr:focus-within {
  --gt-row: var(--gt-hover, #274660);
  --gt-accent: #edbd8db3;
}

.table-wrap table > tbody > tr:is(.selected-player-row, .has-selection) {
  --gt-row: var(--gt-selected, #35414d);
  --gt-accent: #edbd8d;
}

.table-wrap .standings-table > tbody > tr.leader {
  --gt-row: #514636;
  --gt-accent: #edbd8d;
}

.table-wrap table :is(.numeric, .score-cell, .rank-column),
.form-score,
.form-date,
.comparison-row > strong,
.scorer-card > b {
  font-variant-numeric: tabular-nums lining-nums;
}

.table-wrap table .numeric { text-align: right; }
.table-wrap .rank-column { color: #9db5ce; }
.table-wrap .sort-heading { letter-spacing: .025em; }
.table-wrap .sort-heading.active { color: #ffca91; text-shadow: 0 1px #2c2f3c; }
.table-wrap .sort-heading.active .sort-glyph { color: #ffba76; }
.table-wrap .sort-glyph { color: #9eb4c8; }
.table-wrap :is(.player-cell, .table-user) strong { color: #ecf3fa; }
.table-wrap :is(.player-cell, .table-user, .fixture-cell, .date-cell) small { color: #a1b9cd; }
.table-wrap .fixture-dash { color: #94acc2; }
.table-wrap .stat-emphasis { color: #ffcc94; text-shadow: 0 1px #182637; }
.table-wrap .visual-metric.mint > span { color: #bcefd9; }
.table-wrap .score-cell { color: #f2cc9f; }
.table-wrap .score-cell > span { color: #91a9bf; }

.table-wrap .position-badge {
  border-color: #88a6c540;
  background: #92b6d10a;
  color: #c5d8e8;
}
.table-wrap .position-badge.keeper {
  border-color: #e2b6755c;
  background: #d6a65410;
  color: #f1cf9d;
}
.table-wrap .jersey-number {
  border-color: #789bb64d;
  background: linear-gradient(140deg, #87623f66, #294a60 58%, #244d4b);
  color: #fff0da;
  box-shadow: inset 0 1px #ffdda547, inset 0 -2px #071a2a66, 0 2px 3px #07132244;
}
.table-wrap .visual-metric > i { height: 3px; background: linear-gradient(90deg, #f07c3938, #ffb36edb); box-shadow: 0 0 8px #ffa34a24; }
.table-wrap .visual-metric.mint > i { background: linear-gradient(90deg, #75bba438, #a7ddc9bb); }

.standings-table .place-chip {
  min-width: 39px;
  height: 38px;
  border: 1px solid #7894b04d;
  border-radius: 8px 3px 8px 3px;
  background: linear-gradient(145deg, #7b60403d, #2b4c60 65%);
  color: #e6d6be;
  box-shadow: inset 0 1px #ffd2a13b, inset 0 -2px #071b2c99, 0 3px 5px #07132244;
  font-variant-numeric: tabular-nums;
}
.standings-table .place-chip.place-1 { border-color: #ffd29b; background: linear-gradient(145deg, #ffe0ab, #ffad67 50%, #d77c3f); color: #263845; box-shadow: inset 0 1px #fff2d7, inset 0 -2px #a95b3177, 0 4px 12px #f8953b2e; }
.standings-table .place-chip.place-2 { border-color: #b4cadd55; background: #a5bdd817; color: #d5e5f2; }
.standings-table .place-chip.place-3 { border-color: #b5927455; background: #b283571a; color: #d9b99a; }
.standings-table .fantasy-points-chip { border-color: #79a3aa35; background: #9ed7ca09; color: #c4e1dd; }
.standings-table .fantasy-points-chip small { color: #a4c4c8; }
.standings-table .me-label { border-color: #edbd8d47; color: #edc499; }

.standings-title,
.form-team-header,
.comparison-heading {
  background: linear-gradient(175deg, #ffe0b30c, transparent 60%), linear-gradient(110deg, #7c533645, #213d54 52%, #29504d);
  border-color: #f6ac6270;
}
.standings-title { box-shadow: inset 0 1px #e3bc9229; }
.table-pagination,
.table-bottom-note,
.picker-result-count { border-color: #7395af24; color: #a7bdd0; }
.analytics-table-topline > span:last-child { color: #9fb6cc; }

/* History and comparison cards use the same lanes, without an artificial grid. */
.form-team,
.team-comparison,
.scorer-card { background: linear-gradient(145deg, #523f361a, #142d43 55%, #21474366), #142d43; border-color: #d59c6566; box-shadow: inset 0 1px #ffdcac24, 0 4px 0 #06162866, 0 12px 25px #07162826; }
.form-game {
  margin: 5px 7px;
  border: 0;
  border-radius: 8px;
  background: var(--gt-sheen), var(--gt-tint), var(--gt-lane);
  box-shadow: inset 3px 0 #f6aa6159, inset 0 1px #ffe2bf1a, inset 0 -2px #071a2b55;
  transition: background-color .18s ease;
}
.form-game > div { color: #aac0d4; }
.form-game .own-team { color: #ecf3fa; }
.form-game .form-date { color: #a4b9cc; }
.form-game .form-score { color: #e6edf4; }
.form-result { box-shadow: inset 0 1px #ffffff12; }
.form-result.win { background: #294f47; border-color: #81b29d55; color: #c0ebd5; }
.form-result.loss { background: #593f49; border-color: #bc8d9155; color: #f1c3bd; }
.form-result.draw { background: #605638; border-color: #d2b66f66; color: #f8dc8e; }
.history-more { border-color: #7395af24; }
.history-count { color: #a6bdcf; }
.comparison-row { margin: 5px 7px; border: 0; border-radius: 8px; background: var(--gt-sheen), var(--gt-tint), var(--gt-lane); box-shadow: inset 3px 0 #f6aa6147, inset 0 1px #ffe2bf17, inset 0 -2px #071a2b55; }
.comparison-row > span { color: #b4c7d8; }
.comparison-row > strong { color: #c5e4d9; }
.comparison-row.draw-stat > strong { color: #f2d28a; }
.scorer-card { box-shadow: inset 3px 0 #edbd8d65, inset 0 1px #d7e9f309; }
.scorer-card > span > small { color: #a2bbd0; }
.scorer-card strong { color: #e5eff7; }
.scorer-card > b { color: #f2c99f; }

@media (hover: hover) {
  .table-wrap table > tbody > tr:hover { --gt-row: var(--gt-hover, #274660); --gt-accent: #ffb978d9; }
  .table-wrap table > tbody > tr:is(.selected-player-row, .has-selection):hover,
  .table-wrap .standings-table > tbody > tr.leader:hover { --gt-row: #64513e; --gt-accent: #ffc58a; }
  .form-game:hover { background: var(--gt-sheen), var(--gt-tint), var(--gt-hover); }
}

@media (max-width: 600px) {
  .table-wrap table { border-spacing: 0 4px; }
  .table-wrap table > thead > tr > th { padding: 12px 14px; }
  .table-wrap.table-wrap table > tbody > tr > td { padding: 15px 14px; }
  /* Keep opaque pinned cells consistent while their tables scroll horizontally. */
  .table-wrap.table-wrap :is(.analytics-table, .history-table, .player-table) > tbody > tr > td { background: var(--gt-sheen), var(--gt-tint), var(--gt-row) !important; }
  .table-wrap .player-table > tbody > tr:is(:hover, .selected-player-row) > td:is(:first-child, :last-child) { background: var(--gt-sheen), var(--gt-tint), var(--gt-row) !important; }
  .table-wrap :is(.analytics-table, .history-table, .player-table) > thead > tr > th { background: var(--gt-head) !important; }
  .table-wrap .analytics-table:not(.history-table) :is(td, th):nth-child(2),
  .table-wrap .history-table :is(td, th):first-child { border-right: 1px solid #7595b52b; }
  .table-wrap .player-table :is(td, th):last-child { border-left: 1px solid #7595b52b; }
  /* Existing Fantasy cards retain their responsive grid and hidden columns. */
  .table-wrap .fantasy-table > tbody > tr { margin: 5px 0; border: 0; border-radius: 10px; background: var(--gt-sheen), var(--gt-tint), var(--gt-row); box-shadow: inset 4px 0 var(--gt-accent), inset 0 1px #ffdfaf29, 0 3px 0 #06182c55; }
  .table-wrap.table-wrap table.fantasy-table > tbody > tr > td { padding: 0; background: transparent; box-shadow: none; border-radius: 0; }
  .standings-table .place-chip { min-width: 35px; height: 35px; }
  .comparison-row { margin: 4px 5px; }
  .form-game { margin: 4px 5px; }
  #fantasy-dialog .player-table > thead > tr > th,
  #fantasy-dialog .player-table > tbody > tr > td { padding: 12px 8px; }
  #fantasy-dialog .player-table :is(th, td):first-child { padding-left: 10px; }
  #fantasy-dialog .player-table :is(th, td):last-child { border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .table-wrap.table-wrap table > tbody > tr > td,
  .form-game,
  .table-wrap .visual-metric > i { transition: none; }
}
/* Published lineup and absence lists share the table material. */
.lu-roster,.lu-absences{background:linear-gradient(140deg,#5d42332e,#152f45 60%,#20494166),#142d43;border-color:#d59c6566;box-shadow:inset 0 1px #ffdcac29,0 4px 0 #06162866,0 12px 28px #07162833}
.lu-list-heading{background:linear-gradient(170deg,#ffe0b314,transparent 60%),linear-gradient(110deg,#704d35,#304253 45%,#29504d);border-color:#f6ac6270}
.lu-player-row{margin:5px 7px;border:0;border-radius:8px;background:linear-gradient(170deg,#ffffff0a,transparent 40%,#04112325),linear-gradient(110deg,#7050393d,#20384d 45%,#23483f66),#20384d;box-shadow:inset 3px 0 #f6aa6159,inset 0 1px #ffe2bf1a,inset 0 -2px #071a2b55;transition:background .18s}
.lu-jersey{font-family:var(--font-control);font-weight:700;background:linear-gradient(145deg,#a16e4259,#2a4a5d 60%);border-color:#c79a6873;box-shadow:inset 0 1px #ffe0b338,inset 0 -2px #09203570;color:#ffdcaf}
@media(hover:hover){.lu-player-row:hover{background:linear-gradient(170deg,#ffe0b718,transparent 45%,#04112325),linear-gradient(110deg,#a06e4359,#314e60 50%,#335d4f),#314c5b;box-shadow:inset 3px 0 #ffb978b3,inset 0 1px #ffe2bf47,inset 0 -2px #071a2b66}}
@media(prefers-reduced-motion:reduce){.lu-player-row{transition:none}}
