/* =========================
   Game Totals Card
   Extracted from main.css
   ========================= */

/* =============================================================================
   Game Totals Card (collapsible mini-results above scorecard footer)
   ============================================================================= */
#gameTotalsCard.game-totals-card {
  /* Card sits ABOVE the scorecard-controls-shell. Flat bottom + edge-to-edge
     so it visually merges with the shell below as one connected container. */
  margin: 0;
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
  background: var(--panel);
  overflow: hidden;
}
#gameTotalsCard[hidden] { display: none; }

#gameTotalsCard.game-totals-card::after {
  display: none;
}

/* Header row matches the games-mode "Junk Results ▼ Show" bar pattern: ONE
   unified flat bar with the toggle filling the row + a subtle Round Report
   button on the right that doesn't read as a floating pill. */
.game-totals-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 0;
  padding: 0;
  min-height: 44px;
}

.game-totals-toggle {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: transparent;
  color: inherit;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
  position: relative;
  /* No own radius — parent #gameTotalsCard owns the top corners; the toggle
     fills inside it as a flat row. */
  border-radius: 0;
  font-size: 0.95rem;
  font-weight: 600;
}
.game-totals-toggle:hover { background: color-mix(in srgb, var(--panel-alt) 85%, transparent); }

/* Round Report sits flush in the bar's right edge — no rounded floating pill.
   Visually it's a small flat tab that's clearly clickable but reads as part of
   the same bar, not a separate chip. */
.game-totals-report-btn {
  align-self: stretch;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0 14px;
  white-space: nowrap;
  flex-shrink: 0;
  min-height: 0;
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0 !important;
  background: transparent;
  color: inherit;
  display: inline-flex;
  align-items: center;
}
.game-totals-report-btn:hover { background: color-mix(in srgb, var(--panel-alt) 85%, transparent); }

.game-totals-label {
  font-weight: 600;
  line-height: 0.95;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.game-totals-toggle-state {
  flex: 0 0 auto;
  min-width: 36px;
  text-align: right;
  font-size: 0.76em;
  font-weight: 700;
  letter-spacing: 0.01em;
  opacity: 0.82;
  white-space: nowrap;
  margin-left: auto;
}
.game-totals-chevron {
  flex: 0 0 auto;
  margin-left: 0;
  width: 12px;
  height: 12px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 150ms ease;
  opacity: 0.7;
}
.game-totals-card.is-collapsed .game-totals-chevron {
  transform: rotate(-45deg);
}

.game-totals-card.is-collapsed .game-totals-tabs-shell,
.game-totals-card.is-collapsed .game-totals-tabs {
  display: none;
}

.game-totals-card.is-collapsed .game-totals-scroll-indicator {
  display: none;
}

.game-totals-card.is-collapsed::after,
.game-totals-card.is-collapsed::before {
  display: none;
}

.game-totals-card.is-collapsed {
  border: 2px solid var(--line-soft);
  border-radius: 18px;
  background: linear-gradient(180deg, var(--surface-l1), var(--surface-l2));
  box-shadow: var(--mobile-surface-shadow-light);
  margin-bottom: 0;
  overflow: hidden;
}

.game-totals-card.is-collapsed .game-totals-header {
  border-bottom: 0;
}

.game-totals-card.is-collapsed .game-totals-toggle {
  min-height: 40px;
  padding: 6px 12px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  font-size: 14px;
  letter-spacing: 0.01em;
}

.game-totals-card.is-collapsed .game-totals-label {
  font-size: 13px;
  color: #5d7387;
  font-weight: 700;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.game-totals-card.is-collapsed .game-totals-toggle-state {
  font-size: 11px;
  font-weight: 700;
  opacity: 0.8;
  color: #4a6177;
}

.game-totals-card.is-collapsed .game-totals-toggle:hover {
  background: linear-gradient(180deg, rgba(247, 250, 254, 0.98), rgba(235, 243, 251, 0.96));
}

.game-totals-tabs-shell {
  flex: 1 1 auto;
  min-width: 0;
  display: block;
}

.game-totals-header {
  border-bottom: 1px solid var(--line);
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
  overflow: visible;
}

@media (max-width: 768px) {
  .final-round-report-panel {
    padding:
      max(8px, calc(env(safe-area-inset-top, 0px) + 8px), calc(var(--safe-top-inset, 0px) + 8px))
      6px
      max(6px, calc(env(safe-area-inset-bottom, 0px) + 6px));
  }

  .final-round-report-sheet {
    max-width: calc(100vw - 12px);
    max-height: calc(
      100dvh -
      max(14px, calc(env(safe-area-inset-top, 0px) + 8px), calc(var(--safe-top-inset, 0px) + 8px)) -
      max(12px, calc(env(safe-area-inset-bottom, 0px) + 6px))
    );
  }

  .game-totals-header {
    gap: 6px;
    padding-right: 6px;
  }

  .game-totals-report-btn {
    padding: 0 10px;
    font-size: 0.76rem;
  }
}

.game-totals-body {
  padding: 0;
  max-height: min(32vh, 220px);
  overflow-y: auto;
  overflow-x: hidden;
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
}
.game-totals-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  padding: 0;
  margin: 0;
  scroll-snap-type: x proximity;
}

.game-totals-tabs::-webkit-scrollbar {
  display: none;
}

.game-totals-tab {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  scroll-snap-align: start;
  appearance: none;
  border: 2px solid var(--line);
  background: var(--panel);
  color: var(--ink);
  min-height: var(--footer-action-h);
  height: var(--footer-action-h);
  max-height: var(--footer-action-h);
  padding: 0 14px;
  border-radius: var(--radius-lg);
  font-size: var(--text-md);
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
}
.game-totals-tab:hover { filter: brightness(1.1); }
.game-totals-tab.is-active,
.game-totals-tab[aria-selected="true"] {
  background: #0b74d1;
  border-color: #095ba3;
  color: #fff;
  box-shadow: inset 0 0 0 1px var(--hi-medium), 0 0 0 1px rgba(11, 116, 209, 0.3);
}

.game-totals-scroll-indicator {
  margin: 2px 14px 4px;
  height: 3px;
  background: rgba(74, 158, 255, 0.18);
}

.game-totals-header .gamesbar-scroll-indicator__thumb {
  opacity: 0;
  transition: left 80ms linear, width 120ms ease, opacity 120ms ease;
}

.game-totals-header.has-scroll-overflow .gamesbar-scroll-indicator__thumb {
  opacity: 0.95;
}

.game-totals-content {
  font-size: 1em;
  max-width: 100%;
  overflow-x: hidden;
}
.game-totals-content > .game-totals-clone,
.game-totals-content > .game-totals-hilo-mini,
.game-totals-content > .game-totals-skins-mini {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
  max-width: 100%;
}

.game-totals-content .game-totals-clone .live-results-card,
.game-totals-content .game-totals-clone .banker-header-totals,
.game-totals-content .game-totals-clone .wolf-bottom-results,
.game-totals-content .game-totals-clone .live-results-table {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  max-width: 100%;
  overflow-x: hidden;
}
.game-totals-content .results-collapse-bar { display: none; }

.game-totals-content .live-results-table,
.game-totals-content .banker-header-totals-table,
.game-totals-content .game-totals-skins-mini-table,
.game-totals-content table {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#gameTotalsContent th,
#gameTotalsContent td {
  font-size: var(--text-md) !important;
  line-height: 1.35;
  padding-left: 8px;
  padding-right: 8px;
}

#gameTotalsContent .live-results-label {
  position: static;
  left: auto;
  width: auto;
  min-width: 72px;
  box-shadow: none;
}

.game-totals-content .banker-header-totals-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.game-totals-content .banker-header-totals-table .banker-header-data-row td {
  min-width: 0;
}

.game-totals-content .wolf-bottom-results {
  overflow: hidden;
  -webkit-overflow-scrolling: auto;
}

.game-totals-content .wolf-bottom-results .live-results-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.game-totals-content .wolf-bottom-results .live-results-table td,
.game-totals-content .wolf-bottom-results .live-results-table th {
  min-width: 0;
}

#gameTotalsContent .wolf-results-table tbody tr:first-child td,
#gameTotalsContent .wolf-results-table tbody tr:first-child th {
  background: transparent !important;
  color: var(--ink) !important;
}

.game-totals-hilo-mini-table td {
  padding: 5px 8px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  text-align: left;
}

.game-totals-hilo-mini-table tr:last-child td {
  border-bottom: 0;
}

.game-totals-hilo-mini-table td:first-child {
  width: auto;
  font-weight: 600;
  white-space: normal;
  overflow-wrap: anywhere;
}

.game-totals-hilo-mini-table td:last-child {
  width: 1%;
  white-space: nowrap;
  text-align: right;
  font-weight: 700;
  padding-left: 12px;
}

.game-totals-skins-mini-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.game-totals-skins-mini-table th,
.game-totals-skins-mini-table td {
  padding: 2px 5px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

/* Keep Vegas mini table density aligned with the custom Skins mini table. */
.game-totals-content .vegas-results-table th,
.game-totals-content .vegas-results-table td {
  padding: 2px 5px;
  line-height: 1.35;
}

#gameTotalsContent .vegas-results-table col.lr-col-label {
  width: 72px;
}

#gameTotalsContent .vegas-results-table .live-results-label {
  width: 72px;
  min-width: 72px;
  max-width: 72px;
}

.game-totals-content .vegas-results-table .live-results-data-row td {
  height: auto;
  min-height: 0;
  padding-top: 2px;
  padding-bottom: 2px;
}
.game-totals-skins-mini-table th:nth-child(1),
.game-totals-skins-mini-table td:nth-child(1) {
  width: 30%;
  font-weight: 600;
}
.game-totals-skins-mini-table th:nth-child(2),
.game-totals-skins-mini-table td:nth-child(2) {
  width: 30%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.game-totals-skins-holes {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: anywhere;
}

.game-totals-skins-mini-table th:nth-child(3),
.game-totals-skins-mini-table td:nth-child(3) {
  width: 40%;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
  font-weight: 700;
}
.game-totals-skins-mini-table td.is-positive {
  color: var(--accent) !important;
}
.game-totals-skins-mini-table td.is-negative {
  color: var(--danger) !important;
}
.game-totals-skins-mini-table td.is-neutral {
  color: var(--muted);
}

#gameTotalsContent .banker-total-positive,
#gameTotalsContent .is-positive {
  color: var(--accent) !important;
}

#gameTotalsContent .banker-total-negative,
#gameTotalsContent .is-negative {
  color: var(--danger) !important;
}
.game-totals-skins-mini-table tbody tr:last-child td {
  border-bottom: 0;
}
.game-totals-empty {
  text-align: center !important;
  opacity: 0.7;
  font-style: italic;
}

.game-totals-clone-readonly {
  display: inline-block;
}
@media (max-width: 520px) {
  .game-totals-toggle {
    gap: 6px;
    padding: 5px 10px 4px;
  }

  .game-totals-body {
    max-height: min(48vh, 340px);
  }

  .game-totals-label {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: calc(var(--text-lg) + var(--font-descriptive-adjust));
    letter-spacing: -0.01em;
  }

  .game-totals-tabs {
    gap: 5px;
  }

  .game-totals-tab {
    min-height: 40px;
    height: 40px;
    padding: 0 11px;
    font-size: 0.8em;
  }

  .game-totals-chevron {
    margin-left: 2px;
  }

  .game-totals-toggle-state {
    min-width: 32px;
    font-size: 0.72em;
    letter-spacing: 0;
  }

  .game-totals-scroll-indicator {
    margin: 1.4px 12px;
  }
}

/* Desktop compact mode — reduce footer and game totals heights */
@media (min-width: 769px) {
  :root {
    --footer-action-h-desktop: 40px;
  }

  .scorecard-add-player-btn {
    min-width: 118px !important;
    width: 118px !important;
  }

  .scorecard-card-footer {
    min-height: 44px;
    padding: 4px 8px;
  }

  .games-card-footer {
    min-height: 42px;
    padding: 2px 6px 0;
  }

  .game-totals-toggle {
    padding: 3px 6px 2px;
  }

  .game-totals-body {
    max-height: min(40vh, 180px);
    padding: 2px 4px 2px;
  }

  .footer-entry-switcher .entry-switcher-btn {
    min-height: var(--footer-action-h);
    height: var(--footer-action-h);
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* Keep Par/HCP row compactness consistent across desktop and tablet. */
@media (min-width: 481px) {
  #scorecard thead th {
    padding-top: calc(var(--space-xs) * var(--score-header-height-scale, 1) * 0.5);
    padding-bottom: calc(var(--space-xs) * var(--score-header-height-scale, 1) * 0.5);
  }

  #scorecard tr.player-row td,
  #scorecard tr.player-row th {
    padding-top: calc(var(--space-xs) * 0.4);
    padding-bottom: calc(var(--space-xs) * 0.4);
  }

  #scorecard .player-row .name-edit {
    padding-top: 3px;
    padding-bottom: 3px;
  }

  #scorecard #parRow td,
  #scorecard #parRow th,
  #scorecard #hcpRow td,
  #scorecard #hcpRow th {
    padding-top: calc(var(--space-xs) * 0.4);
    padding-bottom: calc(var(--space-xs) * 0.4);
  }

  .par-row input,
  .hcp-row input {
    padding-top: 3px;
    padding-bottom: 3px;
    min-height: 18px;
  }

  #scorecard .par-row input,
  #scorecard .hcp-row input {
    display: block;
    margin: 0 auto;
    padding: 1px 1px;
    min-height: 18px;
    height: 18px;
    line-height: 1;
  }
}

/* =========================================================================
   Light theme overrides — moved from light-theme-overrides.css
   ========================================================================= */

:root[data-theme="light"] .game-totals-tab.is-active,
:root[data-theme="light"] .game-totals-tab[aria-selected="true"] {
  background: #0b74d1;
  border-color: #095ba3;
  color: #fff;
  box-shadow: inset 0 0 0 1px var(--hi-medium);
}

:root[data-theme="light"] .game-totals-tab {
  background: #d7e1ea;
  border-color: #aebdcb;
  color: #1a1c1f;
}

:root[data-theme="light"] .game-totals-tab:hover {
  background: #cdd9e4;
  filter: none;
}

:root[data-theme="light"] #gameTotalsCard.game-totals-card {
  background: #e8eef4;
  border-color: #b7c2cd;
}

:root[data-theme="light"] .game-totals-toggle:hover {
  background: rgba(37, 99, 235, 0.08);
}

:root[data-theme="light"] .game-totals-content,
:root[data-theme="light"] .game-totals-content .game-totals-clone,
:root[data-theme="light"] .game-totals-content .game-totals-hilo-mini,
:root[data-theme="light"] .game-totals-content .game-totals-skins-mini,
:root[data-theme="light"] .game-totals-content .live-results-card,
:root[data-theme="light"] .game-totals-content .banker-header-totals,
:root[data-theme="light"] .game-totals-content .live-results-table,
:root[data-theme="light"] .game-totals-content .banker-header-totals-table,
:root[data-theme="light"] .game-totals-content table {
  background: #ffffff;
  color: #1a1c1f;
  border-color: #bcc7d2;
}
