/* RSV v7 – final responsive layer loaded after MKTT generated CSS.
   Goal: dense mobile overview without horizontal scrolling on normal tables.
   KO brackets remain the deliberate exception. */

/* ---------- Overall density ---------- */
#mktt_Main{
  width:min(1320px,calc(100% - 10px))!important;
  margin:5px auto 12px!important;
  border-radius:16px!important;
}
.rsv-body-grid{gap:8px!important;padding:8px!important}
.rsv-layout-left{grid-template-columns:200px minmax(0,1fr)!important}
#mktt_Navigation .rsv-nav-card{padding:8px!important}
#mktt_Navigation a{min-height:36px!important;padding:7px 9px!important;font-size:12px!important;border-radius:9px!important}
.rsv-classes-toggle>summary{min-height:36px!important;padding:7px 9px!important;font-size:11.5px!important}
#mktt_Content{overflow-x:hidden!important;max-width:100%!important;min-width:0!important;padding:13px!important}
.mktt_gruppen_ueberschrift{font-size:clamp(20px,2.2vw,29px)!important;margin:0 0 8px!important;line-height:1.12!important}
.mktt_grouptype{display:block!important;font-size:13px!important;margin:11px 0 6px!important}
span.mktt_gruppen_links{display:block;margin:4px 0 3px;color:#60778c;font-size:11px;font-weight:700}

/* MKTT emits many BR tags as layout spacers. CSS margins handle this more cleanly. */
#mktt_Content.rsv-content-compact > br{display:none!important}

/* ---------- Compact view / group links ---------- */
#mktt_Content table.rsv-view-links{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 5px!important;
  border:0!important;
  border-collapse:separate!important;
  background:transparent!important;
}
#mktt_Content table.rsv-view-links tbody{display:block!important}
#mktt_Content table.rsv-view-links tr{display:flex!important;flex-wrap:wrap!important;gap:4px!important;width:100%!important}
#mktt_Content table.rsv-view-links td{display:block!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important}
#mktt_Content table.rsv-view-links a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:30px!important;padding:5px 9px!important;border:1px solid #d4e2ed!important;border-radius:8px!important;
  background:#f5f9fc!important;color:#166fac!important;font-size:10.5px!important;font-weight:800!important;white-space:nowrap!important
}
#mktt_Content table.rsv-view-links .mktt_ko_link a{background:#eaf6fd!important;color:#075f9a!important}

/* ---------- General normal tables ---------- */
#mktt_Content .rsv-compact-table,
#mktt_Content .mktt_gruppen,
#mktt_Content .mktt_group_single_results,
#mktt_Content .mktt_active_tables{
  width:100%!important;max-width:100%!important;min-width:0!important;
  table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;
  margin:0 0 10px!important
}
#mktt_Content .rsv-compact-table th,#mktt_Content .rsv-compact-table td,
#mktt_Content .mktt_gruppen th,#mktt_Content .mktt_gruppen td,
#mktt_Content .mktt_group_single_results th,#mktt_Content .mktt_group_single_results td,
#mktt_Content .mktt_active_tables th,#mktt_Content .mktt_active_tables td{
  height:auto!important;max-width:none!important;
  padding:6px 6px!important;font-size:11px!important;line-height:1.22!important;
  white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
  vertical-align:middle!important
}
#mktt_Content .rsv-compact-table th,#mktt_Content .mktt_gruppenheader th,#mktt_Content .mktt_active_tables th,#mktt_Content .mktt_group_single_results th{
  font-size:10px!important;line-height:1.15!important
}

/* ---------- Repair MKTT group geometry ---------- */
#mktt_Content table.mktt_gruppen .mktt_gruppenname{
  width:auto!important;text-align:left!important;padding:7px 9px!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}
#mktt_Content table.mktt_gruppen .mktt_gruppenname a:not(.rsv-group-up){
  display:inline!important;color:#fff!important;white-space:nowrap!important
}
#mktt_Content .rsv-group-up{
  float:right;display:inline-flex!important;align-items:center;justify-content:center;
  width:24px;height:22px;margin:-2px -2px -2px 8px;border-radius:7px;
  background:rgba(255,255,255,.18);color:#fff!important;font-size:14px!important;font-weight:900!important;text-decoration:none!important
}

/* Never split player names or result numbers character-by-character. */
#mktt_Content .rsv-col-spieler,
#mktt_Content .rsv-col-spieler1,
#mktt_Content .rsv-col-spieler2,
#mktt_Content .rsv-col-name,
#mktt_Content .rsv-col-vorname,
#mktt_Content .rsv-col-qttr,
#mktt_Content .rsv-col-spiele,
#mktt_Content .rsv-col-saetze,
#mktt_Content .rsv-col-balle,
#mktt_Content .rsv-col-bhz,
#mktt_Content .rsv-col-fbhz,
#mktt_Content .rsv-col-raster{
  overflow-wrap:normal!important;word-break:keep-all!important
}

/* ---------- Participants ---------- */
.rsv-participant-table{width:100%!important;table-layout:fixed!important}
.rsv-participant-table .rsv-col-index{width:34px!important;text-align:center!important}
.rsv-participant-table .rsv-col-name{width:21%!important}
.rsv-participant-table .rsv-col-vorname{width:21%!important}
.rsv-participant-table .rsv-col-verein{width:auto!important}
.rsv-participant-table .rsv-col-qttr{
  width:62px!important;min-width:62px!important;max-width:62px!important;
  white-space:nowrap!important;text-align:center!important;font-variant-numeric:tabular-nums!important;font-weight:800!important
}

/* Optional roster picker in the otherwise fully manual handicap calculator. */
.rsv-roster-status{margin:0 0 8px;color:#60778c;font-size:10px;line-height:1.35}
.rsv-roster-status[data-state="ready"]{color:#0b669f}
.rsv-roster-status[data-state="error"]{color:#8a5b17}
.rsv-pair-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 9px}
.rsv-pair-preset{min-width:0}
.rsv-pair-preset label{display:block;margin:0 0 4px;color:#536b80;font-size:9px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.03em}
.rsv-player-select,.rsv-pair-select{
  width:100%;min-width:0;min-height:34px;margin:0 0 5px;padding:6px 25px 6px 8px;
  border:1px solid #c8d9e6;border-radius:8px;background:#f4f9fc;color:#17324d;
  font:inherit;font-size:11px;white-space:nowrap;text-overflow:ellipsis
}
.rsv-player-select:disabled,.rsv-pair-select:disabled{color:#7790a5;cursor:wait}
.rsv-quip{display:block;margin-top:6px;padding-top:6px;border-top:1px solid #dbe7f0;line-height:1.5}
.rsv-quip em{color:#0b669f;font-style:normal;font-weight:700}

/* ---------- KO: deliberately keep the good existing bracket behavior ---------- */
.rsv-ko-table{width:auto!important;min-width:max-content!important;table-layout:auto!important}
.rsv-ko-scroll{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

/* ---------- Mobile-first dense overview ---------- */
@media(max-width:920px){
  .rsv-layout-left{grid-template-columns:1fr!important;grid-template-areas:"nav" "content" "footer"!important}
  .rsv-layout-left #mktt_Navigation{position:static!important}
  .rsv-header-inner{padding:9px 11px!important;gap:6px!important}
  .rsv-brand-link{max-width:300px!important}
  .rsv-header-meta{padding-top:6px!important}
  .rsv-title{font-size:20px!important}
}

@media(max-width:640px){
  body{font-size:12px!important}
  #mktt_Main{width:calc(100% - 4px)!important;margin:2px auto 7px!important;border-radius:12px!important}
  .rsv-body-grid{padding:6px!important;gap:6px!important}
  .rsv-header-inner{grid-template-columns:minmax(128px,45%) minmax(0,1fr)!important;gap:8px!important;padding:7px 8px!important}
  .rsv-brand-link{max-width:none!important}
  .rsv-header-meta{align-self:stretch;display:flex!important;flex-direction:column;justify-content:center;padding:0 0 0 8px!important;border-top:0!important;border-left:1px solid rgba(255,255,255,.18)!important}
  .rsv-kicker{font-size:6.5px!important;letter-spacing:.1em!important;margin-bottom:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .rsv-title{font-size:14px!important;line-height:1.05!important;overflow-wrap:normal!important}
  .rsv-update{font-size:8px!important;line-height:1.15!important;margin-top:3px!important}

  /* 5 primary actions in two compact rows instead of five full-width rows. */
  #mktt_Navigation .mktt_nav_bar_fix{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important
  }
  #mktt_Navigation .mktt_nav_bar_fix>li{display:block!important;min-width:0!important}
  #mktt_Navigation .mktt_nav_bar_fix>li:last-child{grid-column:span 2!important}
  #mktt_Navigation .mktt_nav_bar_fix a{
    width:100%!important;min-height:32px!important;padding:5px 5px!important;
    justify-content:center!important;text-align:center!important;font-size:9.6px!important;line-height:1.1!important
  }
  .rsv-tool-link:before{margin-right:4px!important}
  .rsv-classes-toggle{margin-top:5px!important;padding-top:5px!important}
  .rsv-classes-toggle>summary{min-height:32px!important;padding:5px 8px!important;font-size:10px!important}
  .rsv-classes-toggle #mktt_Navigation a,.rsv-classes-toggle a{font-size:10px!important}

  #mktt_Content{padding:9px!important;border-radius:12px!important}
  .mktt_gruppen_ueberschrift{font-size:18px!important;margin-bottom:6px!important}
  .mktt_grouptype{font-size:11.5px!important;margin:8px 0 4px!important}
  span.mktt_gruppen_links{font-size:9.5px!important;margin:2px 0!important}
  #mktt_Content table.rsv-view-links{margin-bottom:3px!important}
  #mktt_Content table.rsv-view-links a{min-height:27px!important;padding:4px 7px!important;font-size:9px!important}

  #mktt_Content .rsv-compact-table th,#mktt_Content .rsv-compact-table td,
  #mktt_Content .mktt_gruppen th,#mktt_Content .mktt_gruppen td,
  #mktt_Content .mktt_group_single_results th,#mktt_Content .mktt_group_single_results td,
  #mktt_Content .mktt_active_tables th,#mktt_Content .mktt_active_tables td{
    padding:5px 3px!important;font-size:9.6px!important;line-height:1.15!important
  }
  #mktt_Content .rsv-compact-table th,#mktt_Content .mktt_gruppenheader th,#mktt_Content .mktt_active_tables th,#mktt_Content .mktt_group_single_results th{
    font-size:8.8px!important
  }

  /* Participants: if everyone belongs to the same club, the club column adds no mobile value. */
  .rsv-participant-table .rsv-col-index{display:none!important}
  .rsv-participant-table.rsv-single-club .rsv-col-verein{display:none!important}
  .rsv-participant-table.rsv-single-club .rsv-col-name{width:35%!important}
  .rsv-participant-table.rsv-single-club .rsv-col-vorname{width:35%!important}
  .rsv-participant-table.rsv-single-club .rsv-col-qttr{width:30%!important;min-width:58px!important;max-width:none!important}
  .rsv-participant-table:not(.rsv-single-club) .rsv-col-name{width:23%!important}
  .rsv-participant-table:not(.rsv-single-club) .rsv-col-vorname{width:22%!important}
  .rsv-participant-table:not(.rsv-single-club) .rsv-col-verein{width:35%!important}
  .rsv-participant-table:not(.rsv-single-club) .rsv-col-qttr{width:20%!important;min-width:56px!important;max-width:none!important}
  .rsv-participant-table .rsv-col-name,.rsv-participant-table .rsv-col-vorname,.rsv-participant-table .rsv-col-verein{
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
  }

  /* All group overview tables: remove data with low mobile information density. */
  table.mktt_gruppen .rsv-col-spacing,
  table.mktt_gruppen .rsv-col-saetze,
  table.mktt_gruppen .rsv-col-balle{display:none!important}
  table.mktt_gruppen.rsv-single-club .rsv-col-verein{display:none!important}
  table.mktt_gruppen .rsv-col-index{text-align:center!important;width:6%!important;white-space:nowrap!important}
  table.mktt_gruppen .rsv-col-spieler{
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
  }
  table.mktt_gruppen .rsv-col-spiele,
  table.mktt_gruppen .rsv-col-bhz,
  table.mktt_gruppen .rsv-col-fbhz,
  table.mktt_gruppen .rsv-col-raster{text-align:center!important;white-space:nowrap!important}

  /* Round-robin matrix: player + W/L record + every head-to-head result on one screen. */
  table.rsv-group-matrix.rsv-single-club .rsv-col-spieler{width:36%!important}
  table.rsv-group-matrix.rsv-single-club .rsv-col-spiele{width:14%!important}
  table.rsv-group-matrix.rsv-single-club .rsv-col-raster{width:calc(44% / var(--rsv-raster-count,4))!important}
  table.rsv-group-matrix:not(.rsv-single-club) .rsv-col-spieler{width:26%!important}
  table.rsv-group-matrix:not(.rsv-single-club) .rsv-col-verein{width:22%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  table.rsv-group-matrix:not(.rsv-single-club) .rsv-col-spiele{width:12%!important}
  table.rsv-group-matrix:not(.rsv-single-club) .rsv-col-raster{width:calc(34% / var(--rsv-raster-count,4))!important}

  /* Swiss system: standings stay meaningful without the repeated club. */
  table.rsv-group-swiss.rsv-single-club .rsv-col-spieler{width:48%!important}
  table.rsv-group-swiss.rsv-single-club .rsv-col-spiele{width:15%!important}
  table.rsv-group-swiss.rsv-single-club .rsv-col-bhz{width:15%!important;text-align:center!important}
  table.rsv-group-swiss.rsv-single-club .rsv-col-fbhz{width:16%!important;text-align:center!important}

  /* Simple ranking without matrix. */
  table.rsv-group-simple.rsv-single-club .rsv-col-spieler{width:46%!important}
  table.rsv-group-simple.rsv-single-club .rsv-col-spiele{width:18%!important}

  /* Detailed matches: keep round, players and final sets. Long point-by-point sets are optional on phones. */
  table.rsv-match-table .rsv-col-uhrzeit,
  table.rsv-match-table .rsv-col-einzelsaetze,
  table.rsv-match-table .rsv-col-datum{display:none!important}
  table.rsv-match-table .rsv-col-runde{width:9%!important;text-align:center!important}
  table.rsv-match-table .rsv-col-spieler1,
  table.rsv-match-table .rsv-col-spieler2{width:36%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  table.rsv-match-table .rsv-col-ergebnis,
  table.rsv-match-table .rsv-col-saetze{width:19%!important;text-align:center!important;white-space:nowrap!important}

  /* Active tables: type is less important than the live pairing. */
  table.rsv-active-table .rsv-col-typ{display:none!important}
  table.rsv-active-table .rsv-col-tisch{width:10%!important;text-align:center!important}
  table.rsv-active-table .rsv-col-spieler1,
  table.rsv-active-table .rsv-col-spieler2{width:31%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  table.rsv-active-table .rsv-col-klasse{width:28%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Winner lists with one club: drop repeated club and use the space for the name. */
  .mktt_active_tables.rsv-single-club:not(.rsv-participant-table) .rsv-col-verein{display:none!important}
  .mktt_active_tables.rsv-single-club:not(.rsv-participant-table) .rsv-col-index{width:12%!important;text-align:center!important}
  .mktt_active_tables.rsv-single-club:not(.rsv-participant-table) .rsv-col-name,
  .mktt_active_tables.rsv-single-club:not(.rsv-participant-table) .rsv-col-spieler{width:88%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Calculator stays compact when explicitly opened. */
  .rsv-tools-head{padding:9px 10px!important}.rsv-tools-head h2{font-size:15px!important}.rsv-tools-head p{font-size:9px!important}
  .rsv-tabbar{padding:7px!important}.rsv-tab{min-height:33px!important;padding:5px 7px!important;font-size:10px!important}
  .rsv-tabpanel{padding:8px!important}.rsv-field label{font-size:8.5px!important}.rsv-field input{min-height:35px!important;font-size:12px!important}
  .rsv-button{min-height:35px!important;font-size:10px!important}.rsv-result{font-size:10px!important;padding:7px 8px!important}
  .rsv-roster-status{margin-bottom:6px!important;font-size:8.8px!important}
  .rsv-pair-preset-grid{gap:5px!important;margin-bottom:7px!important}
  .rsv-pair-preset label{font-size:7.8px!important}
  .rsv-player-select,.rsv-pair-select{min-height:31px!important;margin-bottom:4px!important;padding:5px 22px 5px 6px!important;font-size:9.5px!important}

  #mktt_Footer{padding:11px 12px 12px!important;font-size:9.5px!important;line-height:1.45!important}
  .rsv-footer-title{font-size:11px!important}
}

@media(max-width:360px){
  #mktt_Navigation .mktt_nav_bar_fix{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #mktt_Navigation .mktt_nav_bar_fix>li:last-child{grid-column:span 2!important}
  .rsv-header-inner{grid-template-columns:minmax(124px,44%) minmax(0,1fr)!important;gap:6px!important}
  #mktt_Content .rsv-compact-table th,#mktt_Content .rsv-compact-table td,
  #mktt_Content .mktt_gruppen th,#mktt_Content .mktt_gruppen td{font-size:9px!important;padding-left:2px!important;padding-right:2px!important}
  table.rsv-group-matrix.rsv-single-club .rsv-col-spieler{width:34%!important}
  table.rsv-group-matrix.rsv-single-club .rsv-col-spiele{width:14%!important}
  table.rsv-group-matrix.rsv-single-club .rsv-col-raster{width:calc(46% / var(--rsv-raster-count,4))!important}
}

/* ---------- v7 generated mobile group table ---------- */
.rsv-mobile-group-table{display:none!important}
#mktt_Content table.rsv-desktop-group-table{table-layout:auto!important}
#mktt_Content table.rsv-desktop-group-table .mktt_gruppenheader th{white-space:nowrap!important}
#mktt_Content .rsv-empty-row td{
  padding:10px!important;text-align:center!important;color:#6b8296!important;background:#f8fbfd!important;font-style:italic!important
}
.rsv-pair-label td{
  background:#eaf6fd!important;color:#0b669f!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}

@media(max-width:640px){
  #mktt_Content table.rsv-desktop-group-table{display:none!important}
  #mktt_Content table.rsv-mobile-group-table{
    display:table!important;width:100%!important;max-width:100%!important;table-layout:fixed!important;
    margin:0 0 9px!important;border:1px solid var(--rsv-border)!important;border-radius:11px!important;overflow:hidden!important
  }
  #mktt_Content table.rsv-mobile-group-table th,
  #mktt_Content table.rsv-mobile-group-table td{
    padding:5px 3px!important;font-size:9.4px!important;line-height:1.14!important;
    white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;
    overflow:hidden!important;text-overflow:ellipsis!important;vertical-align:middle!important
  }
  #mktt_Content table.rsv-mobile-group-table .mktt_gruppenname{
    padding:7px 8px!important;font-size:9.7px!important;text-overflow:ellipsis!important
  }
  #mktt_Content table.rsv-mobile-group-table .mktt_gruppenheader th{
    font-size:8.6px!important;text-align:center!important
  }
  #mktt_Content table.rsv-mobile-group-table .rsv-col-spieler{text-align:left!important}
  #mktt_Content table.rsv-mobile-group-table .rsv-col-index,
  #mktt_Content table.rsv-mobile-group-table .rsv-col-spiele,
  #mktt_Content table.rsv-mobile-group-table .rsv-col-raster,
  #mktt_Content table.rsv-mobile-group-table .rsv-col-bhz,
  #mktt_Content table.rsv-mobile-group-table .rsv-col-fbhz,
  #mktt_Content table.rsv-mobile-group-table .rsv-col-saetze,
  #mktt_Content table.rsv-mobile-group-table .rsv-col-balle{text-align:center!important}
  .rsv-pairing-participant-table .rsv-repeat-header{display:none!important}
  .rsv-pairing-participant-table .rsv-pair-label td{padding:6px 5px!important;font-size:9.5px!important}
}
.rsv-pairing-participant-table .rsv-pair-label td{
  display:table-cell!important;width:auto!important;max-width:none!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}

@media(min-width:921px){
  .rsv-header-inner{grid-template-columns:minmax(260px,440px) minmax(0,1fr)!important;gap:18px!important;padding:12px 18px!important}
  .rsv-brand-link{max-width:440px!important}
  .rsv-title{font-size:32px!important}
  .rsv-kicker{font-size:9px!important}
  .rsv-update{font-size:11px!important;margin-top:5px!important}
  .rsv-layout-left{grid-template-columns:190px minmax(0,1fr)!important}
  .mktt_gruppen_ueberschrift{font-size:26px!important}
  #mktt_Content .rsv-compact-table th,#mktt_Content .rsv-compact-table td,
  #mktt_Content .mktt_gruppen th,#mktt_Content .mktt_gruppen td,
  #mktt_Content .mktt_group_single_results th,#mktt_Content .mktt_group_single_results td,
  #mktt_Content .mktt_active_tables th,#mktt_Content .mktt_active_tables td{font-size:10.5px!important;padding:5px 6px!important}
}
