/**
 * Fixed scoring grid for 1280×800 frame / 1200×720 safe area.
 * Active when [data-kiosk-layout="v2"] and .kiosk-scoring-grid on keypad zone.
 */

.kiosk-scoring-grid {
  --scoring-header-budget: 48px;
  --scoring-scoreboard-budget: 120px;
  --scoring-roster-budget: 96px;
  --scoring-roster-budget-compact: 72px;
  --scoring-keypad-budget: calc(
    var(--kiosk-safe-height) - var(--scoring-header-budget) - var(--scoring-scoreboard-budget) -
      var(--scoring-roster-budget)
  );
  box-sizing: border-box;
  width: 100%;
  max-width: var(--kiosk-width);
  margin-inline: auto;
}

.kiosk-scoring-grid__safe {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--kiosk-safe-width);
  min-height: min(var(--kiosk-safe-height), 100%);
  margin-inline: auto;
  padding-inline: var(--kiosk-safe-inset-x);
  padding-block: var(--kiosk-safe-inset-y);
}

[data-scorer-roster="quad"] .kiosk-scoring-grid,
[data-scorer-roster="triple"] .kiosk-scoring-grid {
  --scoring-roster-budget: var(--scoring-roster-budget-compact);
}

/* Keypad + history inside safe area */
.kiosk-scoring-grid .scorer-keypad-history-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 0.75rem;
  align-items: stretch;
  max-height: var(--scoring-keypad-budget);
  min-height: 0;
  margin-inline: 0 !important;
  max-width: none !important;
}

.kiosk-scoring-grid .scorer-keypad-history-grid > section {
  min-height: 0;
  max-height: var(--scoring-keypad-budget);
  overflow: hidden;
}

.kiosk-scoring-grid .scorer-keypad-zone {
  overflow: visible;
}

.kiosk-scoring-grid .scorer-keypad-body,
.kiosk-scoring-grid .kiosk-scorer-keypad-overlay-host {
  overflow: visible;
}

.kiosk-scoring-grid .scorer-keypad-history-grid > aside {
  max-height: var(--scoring-keypad-budget);
  min-width: 300px;
  /* max-width: 360px; */
  max-width: 100%
}

/* History is drawer-only — keypad spans full safe width */
.kiosk-scoring-grid .scorer-keypad-history-grid--no-aside {
  grid-template-columns: minmax(0, 1fr);
}

.kiosk-scoring-grid .scorer-keypad-history-grid--no-aside > section {
  grid-column: 1 / -1;
}

.kiosk-scoring-grid .scorer-history-scroll {
  max-height: var(--scoring-keypad-budget);
}

/* Numeric keypad — 6 columns on landscape tablet grid only (not quick overlay). */
.kiosk-scoring-grid .scorer-keypad-row,
.kiosk-scoring-grid .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid:not(.kiosk-scorer-keypad-quick-overlay).grid-cols-4,
.kiosk-scoring-grid .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid:not(.kiosk-scorer-keypad-quick-overlay).grid-cols-6 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.5rem;
}

.kiosk-scoring-grid .kiosk-scorer-keypad-layer.kiosk-scorer-keypad-quick-overlay.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.kiosk-scoring-grid .kiosk-scorer-keypad-layer.kiosk-scorer-keypad-quick-overlay.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

/* Quick overlay: same column/gap/row tracks as the digit layer underneath */
.kiosk-scoring-grid .kiosk-scorer-keypad-overlay-host > .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid:not(.kiosk-scorer-keypad-quick-overlay) {
  gap: 0.5rem !important;
  align-items: stretch !important;
  align-content: stretch !important;
  grid-auto-rows: minmax(var(--kiosk-touch-score-min), 1fr);
}

.kiosk-scoring-grid .kiosk-scorer-keypad-overlay-host > .kiosk-scorer-keypad-layer.kiosk-scorer-keypad-quick-overlay {
  gap: 0.5rem !important;
  align-items: stretch !important;
  align-content: stretch !important;
  grid-auto-rows: minmax(var(--kiosk-touch-score-min), 1fr);
}

[data-kiosk-tier="tabletLandscape"] .kiosk-scoring-grid,
[data-kiosk-tier="desktopTv"] .kiosk-scoring-grid {
  --scoring-roster-budget: var(--scorer-player-card-h, 12rem);
}

.kiosk-scoring-grid .scorer-keypad-digit,
.kiosk-scoring-grid .scorer-keypad-util-btn {
  min-height: var(--kiosk-touch-score-min) !important;
  max-height: var(--kiosk-touch-score-max);
  font-size: clamp(1.25rem, 2.2vw, 1.85rem);
}

.kiosk-scoring-grid .scorer-action-btn,
.kiosk-scoring-grid .scorer-keypad-edit-action {
  box-sizing: border-box;
  min-height: var(--kiosk-touch-score-min) !important;
  max-height: var(--kiosk-touch-score-max);
  padding-block: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.kiosk-scoring-grid .scorer-keypad-submit-row .grid {
  align-items: stretch;
}

.kiosk-scoring-grid .scorer-quick-preset-btn {
  min-height: var(--kiosk-touch-min) !important;
  min-width: var(--kiosk-touch-min);
}

.kiosk-scoring-grid .kiosk-scorer-keypad-quick-overlay .scorer-quick-preset-btn,
.kiosk-scoring-grid .kiosk-scorer-keypad-quick-overlay .kiosk-scorer-keypad-quick-spacer {
  min-height: var(--kiosk-touch-score-min) !important;
  max-height: var(--kiosk-touch-score-max);
  min-width: 0;
}

.kiosk-scoring-grid .kiosk-scorer-keypad-quick-overlay .scorer-quick-preset-btn {
  border: 0;
  box-shadow: none;
}

.kiosk-scoring-grid .kiosk-scorer-score-field,
.kiosk-scoring-grid .scorer-score-input-field {
  min-height: 3.85rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: 3.85rem !important;
}

/* Segment (dart-segments) — compact tap grid, not full numeric keypad sizing */
.kiosk-scoring-grid .scorer-segment-keypad {
  min-height: 0;
}

.kiosk-scoring-grid .scorer-segment-keypad__grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.kiosk-scoring-grid .scorer-segment-keypad__grid .scorer-keypad-segment-btn {
  min-height: 2.65rem !important;
  min-width: 0 !important;
  padding: 0.1rem 0.15rem;
  font-size: clamp(0.62rem, 1.35vw, 0.78rem);
  line-height: 1.1;
}

.kiosk-scoring-grid .scorer-cricket-segment-grid__input .scorer-segment-keypad__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* Cricket segment entry: marks board beside tap grid */
.kiosk-scoring-grid .scorer-cricket-segment-grid {
  max-height: none;
  min-height: 0;
}

.kiosk-scoring-grid .scorer-cricket-segment-grid__board {
  max-height: min(14rem, 42vh);
  overflow-y: auto;
}

.kiosk-scoring-grid .scorer-cricket-segment-grid__input .scorer-keypad-segment-btn {
  min-height: 2.5rem !important;
  min-width: 0 !important;
}

main.vk-score-embed[data-kiosk-layout="v2"] .scorer-segment-keypad__grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

main.vk-score-embed[data-kiosk-layout="v2"] .scorer-segment-keypad__grid .scorer-keypad-segment-btn {
  min-height: 2.35rem !important;
  font-size: clamp(0.58rem, 1.1vw, 0.72rem);
}

[data-kiosk-tier="tabletLandscape"] main.vk-score-embed[data-kiosk-layout="v2"] .scorer-segment-keypad__grid,
[data-kiosk-tier="desktopTv"] main.vk-score-embed[data-kiosk-layout="v2"] .scorer-segment-keypad__grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.35rem;
}

[data-kiosk-tier="tabletLandscape"] main.vk-score-embed[data-kiosk-layout="v2"] .scorer-segment-keypad__grid .scorer-keypad-segment-btn,
[data-kiosk-tier="desktopTv"] main.vk-score-embed[data-kiosk-layout="v2"] .scorer-segment-keypad__grid .scorer-keypad-segment-btn {
  min-height: 2.5rem !important;
  font-size: clamp(0.62rem, 0.95vw, 0.76rem);
}

[data-kiosk-tier="mobile"] .kiosk-scoring-grid .scorer-keypad-history-grid,
[data-kiosk-tier="tabletPortrait"] .kiosk-scoring-grid .scorer-keypad-history-grid {
  grid-template-columns: 1fr;
  max-height: none;
}

[data-kiosk-tier="mobile"] .kiosk-scoring-grid__safe,
[data-kiosk-tier="tabletPortrait"] .kiosk-scoring-grid__safe {
  max-width: 100%;
  padding-inline: max(0.5rem, env(safe-area-inset-left, 0));
}

/* Portrait mobile: keep 3-col keypad from legacy */
[data-kiosk-tier="mobile"] .kiosk-scoring-grid .scorer-keypad-row,
[data-kiosk-tier="mobile"] .kiosk-scoring-grid .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid:not(.kiosk-scorer-keypad-quick-overlay),
[data-kiosk-tier="tabletPortrait"] .kiosk-scoring-grid .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid:not(.kiosk-scorer-keypad-quick-overlay) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

main.vk-score-embed.vk-score-embed--phone-scorer .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid:not(.kiosk-scorer-keypad-quick-overlay) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Embed: full width frame, safe padding only */
main.vk-score-embed .kiosk-scoring-grid {
  max-width: 100%;
}

main.vk-score-embed .kiosk-scoring-grid__safe {
  max-width: 100%;
  padding-top: max(0.25rem, env(safe-area-inset-top, 0));
  padding-bottom: 0;
  padding-inline: max(0.5rem, env(safe-area-inset-left, 0), env(safe-area-inset-right, 0));
}

/* Embed admin scorers (challenge / fixture / training) — touch targets on keypad zone */
main[data-kiosk-layout="v2"].vk-score-embed .kiosk-scoring-grid .scorer-keypad-digit,
main[data-kiosk-layout="v2"].vk-score-embed .kiosk-scoring-grid .scorer-keypad-util-btn {
  min-height: var(--kiosk-touch-score-min) !important;
}

main[data-kiosk-layout="v2"].vk-score-embed .kiosk-scoring-grid .scorer-action-btn,
main[data-kiosk-layout="v2"].vk-score-embed .kiosk-scoring-grid .scorer-keypad-edit-action {
  min-height: var(--kiosk-touch-score-min) !important;
  max-height: var(--kiosk-touch-score-max);
}

main[data-kiosk-layout="v2"].vk-score-embed.scorer-tablet-wide .scorer-keypad-history-grid,
main[data-kiosk-layout="v2"].scorer-tablet-wide .kiosk-scoring-grid .scorer-keypad-history-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

[data-kiosk-tier="tabletLandscape"] main[data-kiosk-layout="v2"].scorer-tablet-wide .kiosk-scoring-grid .scorer-keypad-history-grid,
[data-kiosk-tier="desktopTv"] main[data-kiosk-layout="v2"].scorer-tablet-wide .kiosk-scoring-grid .scorer-keypad-history-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

[data-kiosk-tier="tabletLandscape"] main[data-kiosk-layout="v2"].scorer-tablet-wide .kiosk-scoring-grid .scorer-keypad-history-grid > section,
[data-kiosk-tier="desktopTv"] main[data-kiosk-layout="v2"].scorer-tablet-wide .kiosk-scoring-grid .scorer-keypad-history-grid > section {
  grid-column: 1 / -1 !important;
}

[data-kiosk-tier="tabletLandscape"] main[data-kiosk-layout="v2"].scorer-tablet-wide
  .kiosk-scoring-grid
  .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid.grid-cols-6:not(.kiosk-scorer-keypad-quick-overlay)
  .scorer-keypad-cell-zero,
[data-kiosk-tier="desktopTv"] main[data-kiosk-layout="v2"].scorer-tablet-wide
  .kiosk-scoring-grid
  .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid.grid-cols-6:not(.kiosk-scorer-keypad-quick-overlay)
  .scorer-keypad-cell-zero {
  grid-column: 4 / 5;
}

[data-kiosk-tier="tabletLandscape"] main[data-kiosk-layout="v2"].scorer-tablet-wide
  .kiosk-scoring-grid
  .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid.grid-cols-6:not(.kiosk-scorer-keypad-quick-overlay)
  .scorer-keypad-util--back,
[data-kiosk-tier="desktopTv"] main[data-kiosk-layout="v2"].scorer-tablet-wide
  .kiosk-scoring-grid
  .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid.grid-cols-6:not(.kiosk-scorer-keypad-quick-overlay)
  .scorer-keypad-util--back {
  grid-column: 5 / 6;
}

[data-kiosk-tier="tabletLandscape"] main[data-kiosk-layout="v2"].scorer-tablet-wide
  .kiosk-scoring-grid
  .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid.grid-cols-6:not(.kiosk-scorer-keypad-quick-overlay)
  .scorer-keypad-util--clear,
[data-kiosk-tier="desktopTv"] main[data-kiosk-layout="v2"].scorer-tablet-wide
  .kiosk-scoring-grid
  .kiosk-scorer-keypad-layer.kiosk-mobile-portrait-keypad-grid.grid-cols-6:not(.kiosk-scorer-keypad-quick-overlay)
  .scorer-keypad-util--clear {
  grid-column: 6 / 7;
}

/* Embed v2: fill live-stack height — fixed keypad budget clips Enter/Undo when roster grows */
main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid,
main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid__safe {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}

main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid__safe {
  display: flex;
  flex-direction: column;
}

main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid .scorer-keypad-zone,
main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid .scorer-keypad-history-grid,
main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid .scorer-keypad-history-grid > section,
main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid .vk-embed-keypad-block,
main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid .scorer-keypad-stack {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}

main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid .scorer-keypad-history-grid {
  display: flex;
  flex-direction: column;
}

main.vk-score-embed[data-kiosk-layout="v2"][data-scorer-theme="sidecar"]
  .kiosk-scoring-grid
  .scorer-keypad-history-grid:not(.scorer-keypad-history-grid--no-aside) {
  display: grid !important;
  flex-direction: unset;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: stretch;
}

main.vk-score-embed[data-kiosk-layout="v2"] .kiosk-scoring-grid .scorer-keypad-history-grid > section {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/*
 * Tablet-wide / venue embed (not framed 1280×800 TV): fill leftover viewport height.
 * Digit keys grow with flex rows; keep fixed budgets only for .kiosk-frame--scorer.
 */
main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid,
main.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid {
  --scoring-keypad-budget: none;
  --kiosk-touch-score-max: none;
  flex: 1 1 auto;
  min-height: 0;
  max-width: none;
  max-height: none;
  height: 100%;
}

main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid .scorer-keypad-history-grid,
main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid .scorer-keypad-history-grid > section,
main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid .scorer-keypad-history-grid > aside,
main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid .scorer-history-scroll {
  max-height: none;
}

main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid .scorer-keypad-digit,
main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid .scorer-keypad-util-btn,
main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid .scorer-action-btn,
main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer) .kiosk-scoring-grid .scorer-keypad-edit-action,
main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer)
  .kiosk-scoring-grid
  .kiosk-scorer-keypad-quick-overlay
  .scorer-quick-preset-btn,
main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer)
  .kiosk-scoring-grid
  .kiosk-scorer-keypad-quick-overlay
  .kiosk-scorer-keypad-quick-spacer {
  max-height: none;
}

main.vk-score-embed.scorer-tablet-wide[data-kiosk-layout="v2"]:not(.kiosk-frame--scorer)
  .kiosk-scoring-grid
  .kiosk-scorer-keypad-overlay-host
  > .kiosk-scorer-keypad-layer {
  grid-auto-rows: minmax(var(--kiosk-touch-score-min), 1fr);
  height: 100%;
}

/* Sidecar: restore two-column keypad + history on tablet-wide scoring grid */
[data-kiosk-tier="tabletLandscape"]
  main[data-kiosk-layout="v2"][data-scorer-theme="sidecar"].scorer-tablet-wide
  .kiosk-scoring-grid
  .scorer-keypad-history-grid:not(.scorer-keypad-history-grid--no-aside),
[data-kiosk-tier="desktopTv"]
  main[data-kiosk-layout="v2"][data-scorer-theme="sidecar"].scorer-tablet-wide
  .kiosk-scoring-grid
  .scorer-keypad-history-grid:not(.scorer-keypad-history-grid--no-aside) {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
  align-items: stretch;
  height: 100%;
  max-height: none;
}

[data-kiosk-tier="tabletLandscape"]
  main[data-kiosk-layout="v2"][data-scorer-theme="sidecar"].scorer-tablet-wide
  .kiosk-scoring-grid
  .scorer-keypad-history-grid:not(.scorer-keypad-history-grid--no-aside)
  > section,
[data-kiosk-tier="desktopTv"]
  main[data-kiosk-layout="v2"][data-scorer-theme="sidecar"].scorer-tablet-wide
  .kiosk-scoring-grid
  .scorer-keypad-history-grid:not(.scorer-keypad-history-grid--no-aside)
  > section {
  grid-column: 1 / 2 !important;
  min-height: 0;
}

[data-kiosk-tier="tabletLandscape"]
  main[data-kiosk-layout="v2"][data-scorer-theme="sidecar"].scorer-tablet-wide
  .kiosk-scoring-grid
  .scorer-keypad-history-grid:not(.scorer-keypad-history-grid--no-aside)
  > aside,
[data-kiosk-tier="desktopTv"]
  main[data-kiosk-layout="v2"][data-scorer-theme="sidecar"].scorer-tablet-wide
  .kiosk-scoring-grid
  .scorer-keypad-history-grid:not(.scorer-keypad-history-grid--no-aside)
  > aside {
  grid-column: 2 / 3 !important;
  min-height: 0;
  max-height: none;
  min-width: 0;
  max-width: none;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Default theme: fill available height instead of fixed 1280×800 budget */
main[data-scorer-theme="default"] .kiosk-scoring-grid .scorer-keypad-history-grid,
main[data-scorer-theme="default"] .kiosk-scoring-grid .scorer-keypad-history-grid > section,
main[data-scorer-theme="default"] .kiosk-scoring-grid .scorer-keypad-history-grid > aside,
main[data-scorer-theme="default"] .kiosk-scoring-grid .scorer-history-scroll {
  max-height: none;
  min-height: 0;
  height: 100%;
}

main[data-scorer-theme="default"] .kiosk-scoring-grid {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

main[data-scorer-theme="default"] .kiosk-scoring-grid__safe {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
