:root {
  --bg: #f2f5f8;
  --card: #ffffff;
  --ink: #17212b;
  --muted: #617181;
  --line: #d7e0e8;
  --brand: #1e6f52;
  --brand-dark: #124c38;
  --accent: #e9b949;
  --action: #1e6f52;
  --action-text: #ffffff;
  --danger: #b42318;
  --ok: #1d7a46;
  --shadow: 0 12px 35px rgba(25, 48, 64, .12);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--ink); }
body { min-height: 100vh; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: var(--brand); }
.topbar {
  position: sticky; top: 0; z-index: 30; min-height: 68px; display: flex; align-items: center;
  justify-content: space-between; gap: 18px; padding: 10px 22px; color: #fff;
  background: linear-gradient(120deg, var(--brand-dark), var(--brand)); box-shadow: 0 4px 18px rgba(0,0,0,.15);
}
.brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-logo { width: 46px; height: 46px; border-radius: 12px; background: #fff; padding: 5px; }
.brand h1 { margin: 0; font-size: clamp(17px, 2.5vw, 24px); line-height: 1.15; }
.brand small { display: block; color: rgba(255,255,255,.76); font-size: 12px; }
.top-actions { display: flex; align-items: center; gap: 8px; }
.shell { width: min(1440px, 100%); margin: 0 auto; padding: 20px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 20px; box-shadow: var(--shadow); }
.card + .card { margin-top: 18px; }
.card h2, .card h3 { margin-top: 0; }
.hero { text-align: center; padding: 28px; }
.hero h2 { font-size: clamp(25px, 4vw, 40px); margin-bottom: 8px; }
.hero p { color: var(--muted); margin-top: 0; }
.grid { display: grid; gap: 16px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field { display: flex; flex-direction: column; gap: 7px; }
.field label { font-weight: 700; font-size: 14px; }
.field small { color: var(--muted); }
input, select, textarea {
  width: 100%; border: 1px solid #b9c6d2; border-radius: 11px; padding: 12px 13px; background: #fff; color: var(--ink); min-height: 46px;
}
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(30,111,82,.17); border-color: var(--brand); }
.btn { border: 0; border-radius: 11px; padding: 12px 17px; min-height: 46px; font-weight: 800; background: #e6edf2; color: var(--ink); display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.btn:hover { filter: brightness(.97); }
.btn.primary { background: var(--action, var(--brand)); color: var(--action-text, #fff); }
.btn.warning { background: var(--accent); color: #332500; }
.btn.danger { background: var(--danger); color: #fff; }
.btn.ghost { background: transparent; color: inherit; border: 1px solid currentColor; }
.btn.small { min-height: 34px; padding: 7px 10px; border-radius: 8px; font-size: 13px; }
.btn.full { width: 100%; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.actions.end { justify-content: flex-end; }
.actions.between { justify-content: space-between; }
.status-pill { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: 999px; background: #e6edf2; font-size: 13px; font-weight: 800; }
.status-pill.ok { background: #dff4e8; color: #14532d; }
.status-pill.warn { background: #fff3cf; color: #6b4d00; }
.status-pill.danger { background: #fde6e3; color: #8c1d18; }
.progress { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-bottom: 18px; }
.progress span { height: 7px; border-radius: 999px; background: #d8e0e8; }
.progress span.active { background: var(--brand); }
.team-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 15px; }
.team-head h2 { margin: 0; }
.lineup-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lineup-row { border: 1px solid var(--line); background: #f9fbfc; padding: 12px; border-radius: 12px; }
.lineup-row strong { display: block; margin-bottom: 7px; }
.locked-panel { position: relative; overflow: hidden; }
.locked-panel .locked-content { filter: blur(12px); user-select: none; pointer-events: none; opacity: .62; }
.locked-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: rgba(235,241,245,.52); backdrop-filter: blur(2px); text-align: center; padding: 20px; }
.unlock-failures { margin-top: 2px; padding: 7px 12px; border-radius: 999px; background: rgba(153,27,27,.1); color: #991b1b; font-weight: 800; font-size: .95rem; }
.lock-icon { font-size: 42px; }
.scoreboard { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; text-align: center; margin-bottom: 18px; }
.scoreboard .team { font-size: clamp(18px,3vw,30px); font-weight: 900; }
.scoreboard .score { font-size: clamp(28px,5vw,52px); font-weight: 950; color: var(--brand-dark); white-space: nowrap; }
.game-card { overflow: hidden; }
.game-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.game-title h2 { margin: 0; }
.players-versus { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin: 18px 0; }
.player-box { background: #f7fafb; border: 1px solid var(--line); border-radius: 14px; padding: 16px; text-align: center; font-weight: 850; font-size: clamp(16px,2.6vw,24px); min-height: 70px; display: flex; flex-direction: column; justify-content: center; }
.player-box small { color: var(--muted); font-weight: 600; font-size: 12px; }
.vs { font-weight: 950; color: var(--muted); }
.score-entry { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 16px; border-radius: 14px; background: #edf4f1; margin-bottom: 16px; }
.score-entry input { text-align: center; font-size: 24px; font-weight: 900; }
.stats-table { width: 100%; border-collapse: collapse; margin: 12px 0; }
.stats-table th, .stats-table td { border: 1px solid var(--line); padding: 8px; text-align: center; }
.stats-table th { background: #edf2f5; }
.stats-table input { min-height: 40px; padding: 8px; text-align: center; }
.report-wrap { overflow-x: auto; padding-bottom: 8px; }
.report-paper { min-width: 1050px; background: white; border: 1px solid #222; color: #111; padding: 14px; box-shadow: 0 10px 28px rgba(0,0,0,.15); }
.report-title { font-size: 25px; font-weight: 950; text-align: center; margin: 4px 0 10px; }
.report-meta { display: grid; grid-template-columns: 1fr 1fr 230px; border: 2px solid #111; border-bottom: 0; }
.report-meta > div { min-height: 70px; padding: 7px; border-right: 2px solid #111; }
.report-meta > div:last-child { border-right: 0; }
.report-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.report-table th, .report-table td { border: 1.5px solid #111; padding: 6px; text-align: center; height: 42px; }
.report-table th { font-size: 13px; }
.report-table .name { text-align: left; }
.report-bottom { display: grid; grid-template-columns: 1fr 210px; gap: 12px; margin-top: 0; }
.checks { padding: 10px 3px; }
.check-row { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin: 8px 0; }
.signature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 12px; }
.signature-box { border-bottom: 2px solid #222; height: 96px; display: flex; align-items: flex-end; justify-content: center; cursor: pointer; position: relative; }
.signature-box img { max-height: 102px; max-width: 96%; object-fit: contain; object-position: center; }
.signature-box span { color: var(--muted); margin-bottom: 10px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(12,24,32,.68); backdrop-filter: blur(7px); display: none; align-items: center; justify-content: center; padding: 20px; }
.modal-backdrop.open { display: flex; }
.modal { width: min(620px, 100%); max-height: calc(100vh - 40px); overflow: auto; background: white; border-radius: 18px; padding: 20px; box-shadow: 0 25px 80px rgba(0,0,0,.4); }
.modal.wide { width: min(1000px, 100%); }
.modal h2 { margin-top: 0; }
.signature-canvas { width: 100%; height: min(45vh, 330px); border: 2px dashed #7c8d9b; border-radius: 12px; background: #fff; touch-action: none; }
.toast { position: fixed; right: 18px; bottom: 18px; z-index: 200; min-width: 260px; max-width: min(440px, calc(100vw - 36px)); padding: 14px 16px; border-radius: 12px; color: #fff; background: #1e2933; box-shadow: var(--shadow); transform: translateY(140%); opacity: 0; transition: .25s; }
.toast.show { transform: translateY(0); opacity: 1; }
.toast.error { background: var(--danger); }
.empty { text-align: center; padding: 35px; color: var(--muted); }
.hidden { display: none !important; }
.admin-layout { display: grid; grid-template-columns: 240px minmax(0,1fr); min-height: calc(100vh - 68px); }
.admin-nav { background: #142c25; padding: 15px; color: white; }
.admin-nav button { display: block; width: 100%; text-align: left; background: transparent; border: 0; color: rgba(255,255,255,.82); padding: 12px 13px; border-radius: 9px; margin: 3px 0; font-weight: 700; }
.admin-nav button.active, .admin-nav button:hover { background: rgba(255,255,255,.13); color: #fff; }
.admin-menu-toggle,.admin-nav-mobile-head,.admin-nav-backdrop{display:none}
.admin-main { padding: 20px; min-width: 0; }
.kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.kpi { background: white; border: 1px solid var(--line); border-radius: 15px; padding: 18px; }
.kpi strong { display: block; font-size: 30px; }
.table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.data-table th, .data-table td { border-bottom: 1px solid var(--line); padding: 10px; text-align: left; vertical-align: top; }
.data-table th { position: sticky; top: 0; background: #eef3f6; z-index: 1; }
.data-table tr:last-child td { border-bottom: 0; }
.login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 20px; background: linear-gradient(135deg,#102a22,#2e8161); }
.login-card { width: min(470px,100%); }
.muted { color: var(--muted); }
.code-input { font-size: 38px; letter-spacing: 18px; text-align: center; font-weight: 950; }
.offline-banner { display: none; background: #7a271a; color: white; padding: 8px 16px; text-align: center; font-weight: 800; }
body.offline .offline-banner { display: block; }
@media (max-width: 900px) {
  .grid.two, .grid.three, .lineup-grid, .signature-row { grid-template-columns: 1fr; }
  .admin-layout { grid-template-columns: 1fr; }
  .admin-nav { display: flex; overflow-x: auto; position: sticky; top: 68px; z-index: 20; padding: 8px; }
  .admin-nav button { width: auto; white-space: nowrap; margin: 0 3px; }
  .kpi-grid { grid-template-columns: repeat(2,1fr); }
  .score-entry { grid-template-columns: repeat(2,1fr); }
  .shell { padding: 12px; }
}
@media (max-width: 600px) {
  .topbar { padding: 8px 12px; }
  .brand small { display: none; }
  .brand-logo { width: 38px; height: 38px; }
  .top-actions .hide-mobile { display: none; }
  .players-versus, .scoreboard { grid-template-columns: 1fr; }
  .vs { padding: 2px; }
  .kpi-grid { grid-template-columns: 1fr 1fr; }
  .card { padding: 14px; border-radius: 14px; }
}
@media print {
  .topbar, .offline-banner, .no-print, .actions { display:none !important; }
  body { background:white; }
  .shell { width:100%; padding:0; }
  .card { border:0; box-shadow:none; padding:0; }
  .report-paper { box-shadow:none; border:0; }
}

/* Statistik */
.compact-select { width: auto; min-width: 145px; }
.statistics-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 16px; }
.chart-legend { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:12px; font-size:13px; font-weight:700; }
.chart-legend span { display:inline-flex; align-items:center; gap:7px; }
.chart-legend i { width:12px; height:12px; border-radius:3px; display:inline-block; }
.legend-page, .bar.page { background:#1e6f52; }
.legend-pdf, .bar.pdf { background:#d59b16; }
.legend-report, .bar.report { background:#426a8c; }
.chart-bars { height:280px; display:flex; gap:5px; align-items:stretch; overflow-x:auto; border-left:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 8px 0; }
.chart-day { flex:1 0 34px; min-width:34px; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:5px; }
.bar-cluster { width:100%; height:235px; display:flex; align-items:flex-end; justify-content:center; gap:2px; }
.bar { display:block; width:28%; min-height:2px; border-radius:4px 4px 0 0; }
.chart-day small { font-size:10px; color:var(--muted); transform:rotate(-45deg); transform-origin:center; margin-bottom:14px; white-space:nowrap; }
.breakdown-list { display:grid; gap:9px; }
.breakdown-list > div { display:flex; justify-content:space-between; gap:12px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.breakdown-list > div:last-child { border-bottom:0; }
.statistics-breakdowns { align-items:start; }
@media (max-width: 1050px) { .statistics-kpis { grid-template-columns:repeat(3,1fr); } }
@media (max-width: 700px) { .statistics-kpis { grid-template-columns:repeat(2,1fr); } .chart-bars { height:240px; } .bar-cluster { height:195px; } }

/* HHEDL-Gesamtimport */
.import-status{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.import-status-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.import-status-head>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.progress-track{height:14px;border-radius:999px;background:var(--line);overflow:hidden;margin:12px 0 16px}
.progress-track i{display:block;height:100%;background:var(--primary);border-radius:inherit;transition:width .25s ease}
.kpi-grid.compact{grid-template-columns:repeat(4,minmax(120px,1fr));margin-top:10px}
.warning-list{max-height:260px;overflow:auto;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.warning-list>div{padding:6px 0;border-bottom:1px solid var(--line)}
.warning-list>div:last-child{border-bottom:0}
.small-text{font-size:.86rem}
.alert.error{margin-top:12px;padding:12px;border-radius:10px;background:#ffe8e8;color:#8a1f1f}
.status-pill.error{background:#ffe8e8;color:#8a1f1f}
@media(max-width:800px){.kpi-grid.compact{grid-template-columns:repeat(2,minmax(120px,1fr))}.import-status-head{align-items:flex-start;flex-direction:column}}

/* Tabletoptimierte Leg- und Schnellwerteingabe */
.btn.large { min-height: 52px; padding: 13px 20px; font-size: 17px; }
.fixture-hint { margin-top: 16px; padding: 14px 16px; border-radius: 12px; background: #e8f5ee; border: 1px solid #a8d6c1; }
.mode-line { margin: 6px 0 0; color: var(--muted); font-weight: 700; }
.set-score { display: flex; justify-content: center; align-items: center; gap: 18px; flex-wrap: wrap; margin: 12px 0 18px; padding: 12px; border-radius: 14px; background: #edf4f1; }
.set-score strong { font-size: 32px; }
.legs-list { display: grid; gap: 14px; }
.leg-row { display: grid; grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr); gap: 18px; align-items: stretch; padding: 14px; border: 2px solid var(--line); border-radius: 18px; background: #fff; }
.leg-row.played { border-color: #93bca9; background: #fbfefc; }
.leg-row.disabled { opacity: .55; }
.leg-side { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.performance-button { min-height: 72px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: #f5f8fa; color: var(--ink); }
.performance-button span { display: block; font-size: 12px; color: var(--muted); font-weight: 800; }
.performance-button strong { display: block; margin-top: 5px; font-size: 13px; line-height: 1.25; }
.performance-button:disabled { opacity: .45; cursor: not-allowed; }
.leg-win { grid-column: 1 / -1; min-height: 50px; border: 2px solid #b8c7d0; border-radius: 12px; background: white; font-weight: 900; font-size: 16px; }
.leg-win.selected { background: var(--primary); color: white; border-color: var(--primary); }
.leg-team-divider { width: 1px; min-width: 1px; align-self: stretch; margin: 2px 0; border-radius: 999px; background: var(--line); }
.special-score-summary { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; margin: 16px 0; padding: 12px 14px; border-radius: 12px; background: #f6f1df; }
.rule-key { margin: 14px 0; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; }
.rule-key summary { cursor: pointer; font-weight: 850; }
.rule-key-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 12px; }
.rule-key table { width: 100%; border-collapse: collapse; }
.rule-key th,.rule-key td { border: 1px solid var(--line); padding: 6px 8px; text-align: center; }
.rule-key th { background: #edf2f5; }
.game-actions { margin-top: 18px; }
.code-display,.number-display { min-height: 82px; display: grid; place-items: center; margin: 14px 0; border: 2px solid var(--line); border-radius: 14px; font-size: 46px; font-weight: 950; letter-spacing: 14px; background: #f8fafb; }
.number-display { letter-spacing: 2px; }
.numeric-pad { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.numeric-pad button,.value-grid button,.counter-grid button,.player-choice button { min-height: 62px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-size: 24px; font-weight: 900; }
.numeric-pad button:active,.value-grid button:active,.counter-grid button:active,.player-choice button:active { transform: scale(.97); }
.numeric-pad .key-clear { grid-column: span 5; font-size: 16px; background: #f1f4f6; }
.value-grid { display: grid; grid-template-columns: repeat(4,minmax(80px,1fr)); gap: 10px; max-height: 62vh; overflow: auto; padding: 2px; }
.value-grid.digits { grid-template-columns: repeat(5,1fr); }
.value-grid button { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.value-grid button small { display: block; font-size: 12px; color: var(--muted); margin-top: 4px; }
.value-grid button.selected,.player-choice button.selected { background: var(--primary); border-color: var(--primary); color: #fff; }
.value-grid button.selected small { color: rgba(255,255,255,.85); }
.player-choice { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 16px 0; }
.player-choice button { font-size: 17px; padding: 10px; }
.counter-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 14px 0; }
.counter-summary strong { padding: 16px 8px; border: 1px solid var(--line); border-radius: 12px; text-align: center; font-size: 18px; }
.counter-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-bottom: 16px; }
.counter-grid button { font-size: 20px; }
@media(max-width:1050px){
  .leg-row { grid-template-columns: 1fr; }
  .leg-center { order: -1; border: 0; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
  .leg-side { grid-template-columns: repeat(3,1fr); }
}
@media(max-width:650px){
  .leg-side { grid-template-columns: 1fr 1fr; }
  .performance-button:last-of-type { grid-column: 1 / -1; }
  .value-grid { grid-template-columns: repeat(3,1fr); }
  .numeric-pad { grid-template-columns: repeat(5,1fr); }
  .numeric-pad button { min-height: 58px; }
  .rule-key-grid { grid-template-columns: 1fr; }
  .game-actions { align-items: stretch; }
  .game-actions,.game-actions>.actions { flex-direction: column; }
  .game-actions .btn { width: 100%; }
}

/* v1.4.0 - vollständig responsive Aufstellung, Abschluss und öffentliche Saisonstatistik */
html,body{max-width:100%;overflow-x:hidden}
*{min-width:0}
img{max-width:100%}
.brand-logo{object-fit:contain;background:#fff;border-radius:12px;padding:3px}
.centered{text-align:center}
.review-kicker{display:block;color:var(--primary);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;margin-bottom:5px}
.lineup-card{overflow:hidden}
.lineup-actions{margin-top:18px}
.lineup-row{min-width:0}
.lineup-row select{width:100%;max-width:100%}
.lineup-review{max-width:1050px;margin-inline:auto}
.lineup-review>h2{text-align:center;font-size:clamp(1.55rem,4vw,2.35rem);margin:3px 0 14px}
.lineup-review>.review-kicker{text-align:center}
.match-meta-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px auto 16px;max-width:760px}
.match-meta-strip span{display:flex;flex-direction:column;gap:4px;text-align:center;background:#f3f7f5;border:1px solid var(--line);border-radius:12px;padding:11px}
.match-meta-strip b{font-size:.76rem;color:var(--muted);text-transform:uppercase}
.lineup-overview-list{display:grid;gap:12px;margin-top:20px}
.lineup-match{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;display:grid;grid-template-columns:135px minmax(0,1fr);gap:14px;align-items:center}
.lineup-match-number{display:flex;flex-direction:column;gap:3px;border-right:1px solid var(--line);padding-right:12px}
.lineup-match-number span{font-size:.78rem;color:var(--muted);font-weight:800}
.lineup-match-number strong{font-size:1rem}
.lineup-team-names{display:grid;grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);gap:10px;align-items:center;text-align:center}
.lineup-team-names>div{display:flex;flex-direction:column;gap:5px}
.lineup-team-names small{color:var(--muted);font-weight:800}
.lineup-team-names strong{display:flex;flex-direction:column;font-size:clamp(.95rem,2vw,1.12rem)}
.lineup-team-names strong span{font-size:.72rem;color:var(--muted);font-weight:700;margin:2px}
.lineup-team-names>b{color:var(--muted);font-size:.84rem}
.lineup-versus{color:var(--muted);font-size:.84rem}
.lineup-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:76px;padding:7px 6px;border:1px solid var(--line);border-radius:11px;background:#f6f8f7;line-height:1.1}
.lineup-result small{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.lineup-result strong{font-size:1.15rem;color:var(--brand-dark);font-variant-numeric:tabular-nums}
.lineup-result span{font-size:.66rem;font-weight:800;color:var(--muted);white-space:nowrap}
.lineup-result.running{background:#fff8e7;border-color:#e7cc82}
.lineup-result.complete{background:#edf8f3;border-color:#b8dbc9}
.lineup-review-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.choice-stack{display:grid;gap:10px;margin-top:16px}

.review-page{overflow:hidden}
.review-header,.review-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}
.review-footer{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.report-wrap{max-width:100%;overflow:visible}
.report-paper{max-width:100%;overflow:hidden}
.desktop-report{table-layout:fixed;width:100%}
.desktop-report th,.desktop-report td{overflow-wrap:anywhere}
.result-label{text-align:right;font-weight:900}
.result-value{font-size:1.05rem;font-weight:950;text-align:center}
.result-value.final{font-size:1.25rem}
.mobile-report{display:none}
.review-controls{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#f8faf9}
.review-controls h3{margin:0 0 12px}
.review-controls h3:not(:first-child){margin-top:20px}
.check-list{display:grid;gap:10px}
.check-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px}
.check-row>div{display:flex;gap:8px;flex:0 0 auto}
.check-choice{position:relative;cursor:pointer}
.check-choice input{position:absolute;opacity:0;pointer-events:none}
.check-choice span{display:grid;place-items:center;min-width:58px;min-height:44px;border:2px solid var(--line);border-radius:10px;font-weight:900;background:#fff}
.check-choice input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}
.signature-panel{display:grid;gap:8px}
.signature-label{display:flex;justify-content:space-between;gap:8px;align-items:end}
.signature-label small{color:var(--muted);text-align:right}
.signature-box{min-height:115px}
.signature-canvas{width:100%;height:min(42vh,340px);touch-action:none}

.stats-filter-card,.public-stat-card,.team-stat-detail{max-width:1200px;margin-inline:auto}
.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:14px}
.section-heading h2{margin:0}
.link-button{appearance:none;border:0;background:none;color:var(--primary);font:inherit;font-weight:900;padding:0;text-align:left;cursor:pointer}
.form-list{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}
.form-badge{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-weight:950;font-size:.78rem;color:#fff}
.form-badge.win{background:#27845f}.form-badge.draw{background:#c08a13}.form-badge.loss{background:#ad3e36}
.selected-row{background:#edf8f3}
.team-stat-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.25fr);gap:20px;align-items:start}
.team-stat-hero h2{font-size:clamp(1.7rem,4vw,2.5rem);margin:3px 0 6px}
.team-stat-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.team-stat-facts span{display:flex;flex-direction:column;gap:4px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#f7faf8}
.team-stat-facts b{font-size:.75rem;color:var(--muted);text-transform:uppercase}
.statistics-detail-grid{margin-top:20px;align-items:start}
.match-history,.player-stat-list{display:grid;gap:9px}
.match-history article,.player-stat-list article{border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}
.match-history article>span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;margin-bottom:7px}
.match-history article>div{display:grid;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);gap:8px;align-items:center}
.match-history article>div strong:last-child{text-align:right}
.match-history article b{text-align:center;font-size:1rem}
.player-stat-list article{display:flex;justify-content:space-between;gap:12px;align-items:center}
.player-stat-list article>div{display:flex;flex-direction:column;gap:3px}
.player-stat-list article small{color:var(--muted)}
.player-stat-list article>span{text-align:right;font-size:.78rem;color:var(--muted)}
.player-stat-list article.inactive{opacity:.58;background:#f4f4f4}

@media(max-width:900px){
  .lineup-match{grid-template-columns:110px minmax(0,1fr)}
  .team-stat-hero{grid-template-columns:1fr}
  .team-stat-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-header{align-items:flex-start}
}
@media(max-width:760px){
  .topbar{gap:8px}
  .topbar .brand h1{font-size:clamp(1rem,4.6vw,1.25rem)}
  .top-actions .btn{min-height:42px;padding:9px 12px}
  .match-meta-strip{grid-template-columns:1fr 1fr 1fr}
  .lineup-match{grid-template-columns:1fr;gap:10px}
  .lineup-match-number{border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px;flex-direction:row;justify-content:space-between}
  .lineup-team-names{grid-template-columns:1fr;gap:8px}
  .lineup-team-names>b{padding:2px}
  .lineup-result{width:min(190px,100%);margin-inline:auto}
  .lineup-review-actions,.review-header,.review-footer{flex-direction:column;align-items:stretch}
  .lineup-review-actions .btn,.review-header .btn,.review-footer .btn{width:100%}
  .desktop-report{display:none}
  .mobile-report{display:grid;gap:10px}
  .mobile-report-game{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
  .mobile-report-game>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px;background:#edf4f1}
  .mobile-report-game>header span{font-size:.75rem;color:var(--muted);font-weight:800}
  .mobile-report-game>header strong{text-align:center}
  .mobile-report-game>header b{font-size:.82rem}
  .mobile-report-versus{display:grid;grid-template-columns:1fr;gap:9px;padding:12px}
  .mobile-report-versus>div{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:10px;padding:10px}
  .mobile-report-versus>div:last-child{text-align:right}
  .mobile-report-versus small{color:var(--muted);font-weight:800}
  .mobile-report-versus strong{font-size:1rem}
  .mobile-report-versus span{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}
  .mobile-report-versus em{text-align:center;font-style:normal;font-weight:950;color:var(--primary)}
  .mobile-final-score{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mobile-final-score span{display:flex;flex-direction:column;text-align:center;padding:11px;background:#edf4f1;border-radius:11px}
  .mobile-final-score b{font-size:1.25rem;margin-top:4px}
  .review-controls{padding:13px}
  .check-row{align-items:flex-start;flex-direction:column}
  .check-row>div{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .check-choice span{width:100%}
  .signature-row{grid-template-columns:1fr}
  .signature-label{align-items:flex-start;flex-direction:column}
  .signature-label small{text-align:left}
  .section-heading{align-items:flex-start;flex-direction:column}
  .responsive-table thead{display:none}
  .responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}
  .responsive-table tr{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:9px;background:#fff}
  .responsive-table td{border:0!important;padding:7px 8px;display:flex;justify-content:space-between;gap:12px;text-align:right}
  .responsive-table td::before{content:attr(data-label);font-weight:800;color:var(--muted);text-align:left}
  .responsive-table td[data-label="Team"]{font-size:1.02rem;border-bottom:1px solid var(--line)!important;margin-bottom:3px;padding-bottom:10px}
  .responsive-table td[data-label="Form"]{align-items:center}
  .form-list{justify-content:flex-end}
  .team-stat-facts{grid-template-columns:1fr}
  .match-history article>div{grid-template-columns:1fr;text-align:left}
  .match-history article>div strong:last-child{text-align:left}
  .match-history article b{text-align:left;color:var(--primary)}
}
@media(max-width:480px){
  .shell{padding:9px}
  .card{padding:12px}
  .match-meta-strip{grid-template-columns:1fr}
  .lineup-match{padding:11px}
  .topbar{position:sticky;top:0;z-index:40}
  .brand-logo{width:36px;height:36px}
  .btn.large{font-size:1rem;min-height:50px}
  .mobile-final-score{grid-template-columns:1fr}
  .numeric-pad,.value-grid.digits{grid-template-columns:repeat(5,minmax(0,1fr))}
  .numeric-pad button,.value-grid button{min-width:0}
  .modal{padding:14px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
}
.logo-settings{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:center}
.logo-preview{height:130px;border:1px solid var(--line);border-radius:14px;background:#f7faf8;display:grid;place-items:center;padding:14px}
.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.setting-check{display:flex;align-items:center;gap:9px;min-height:48px;font-weight:800}
.sync-change-summary{margin-top:16px;padding:14px;border:1px solid #afd8c6;border-radius:12px;background:#eef8f3}
.sync-change-summary h4{margin:0 0 6px}
.change-badges{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.change-badges span{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.82rem}
@media(max-width:700px){.logo-settings{grid-template-columns:1fr}.logo-preview{height:110px}}

/* v1.4.0 - öffentliche HHEDL-Teamstatistik */
.statistics-team-sections{display:grid;gap:24px;margin-top:22px}
.section-heading.compact{align-items:end;margin-bottom:10px}
.section-heading.compact h3{margin:0}
.team-form{margin-top:10px}
.player-public-table td:nth-child(n+3),.player-public-table th:nth-child(n+3){text-align:center}
.player-public-table tr.inactive{opacity:.68}
.player-public-table td strong+small{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:760px){
  .player-public-table thead{display:none}
  .player-public-table,.player-public-table tbody,.player-public-table tr,.player-public-table td{display:block;width:100%}
  .player-public-table tr{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:0 0 10px;background:var(--surface)}
  .player-public-table td{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 0!important;border:0!important;text-align:right!important;min-width:0}
  .player-public-table td::before{content:attr(data-label);font-weight:700;color:var(--muted);text-align:left;flex:0 0 42%}
  .player-public-table td:nth-child(2){align-items:flex-start}
  .player-public-table td strong{overflow-wrap:anywhere}
}

/* Harte Breitenkorrekturen gegen horizontales Seiten-Scrolling */
.report-paper{width:100%;min-width:0}
@media(max-width:760px){
  .responsive-table{min-width:0!important}
  .table-wrap:has(.responsive-table){overflow-x:visible}
  .report-wrap,.report-paper,.review-page{width:100%;min-width:0;max-width:100%}
}

/* v1.5.0 – Live-Spiele, Mehrfach-Spielleitung und bestätigte HHEDL-Statistik */
html,body{max-width:100%;overflow-x:hidden}
.top-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0}
.leader-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border-radius:9px;background:#f28c28;color:#241200;font-size:.82rem;font-weight:950;box-shadow:0 0 0 1px rgba(255,255,255,.35) inset}
.spectator-banner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:11px 14px;border:1px solid #a7c2d8;border-radius:13px;background:#edf6fd;color:#183a52;text-align:center}
.spectator-banner strong{font-weight:950}
.spectator-mode button:disabled,.spectator-mode input:disabled,.spectator-mode select:disabled,.spectator-mode textarea:disabled{cursor:not-allowed;opacity:.58}
.leadership-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:18px;border-width:2px}
.leadership-panel h3{margin:7px 0 4px}
.leadership-panel p{margin:0;color:var(--muted)}
.leadership-panel.leader{border-color:#f2a350;background:#fff8ee}
.leadership-panel.spectator{border-color:#aac4d7;background:#f3f9fd}
.leadership-panel.fallback{border-color:#e1b746;background:#fff9e7}
.leadership-help{max-width:520px;padding:12px;border-radius:11px;background:rgba(255,255,255,.72);font-size:.9rem;line-height:1.45}
.leadership-request-modal{text-align:center}
.release-code{display:flex;align-items:center;justify-content:center;min-height:118px;margin:18px 0;border:3px dashed #f28c28;border-radius:18px;background:#fff8ee;font-size:clamp(3rem,14vw,6rem);font-weight:1000;letter-spacing:.18em;color:#7a3700;padding-left:.18em}
.code-display.three{letter-spacing:.22em}
.leadership-code-pad{grid-template-columns:repeat(5,minmax(0,1fr))}

.live-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.live-intro h2{margin:3px 0 6px}
.live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.live-match-card{display:grid;gap:14px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.live-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.84rem}
.live-versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"home score away" "vs vs vs";align-items:center;gap:10px;text-align:center}
.live-versus strong:first-child{grid-area:home}.live-versus b{grid-area:score;font-size:clamp(1.7rem,5vw,2.5rem);color:var(--brand-dark);white-space:nowrap}.live-versus strong:nth-of-type(2){grid-area:away}.live-versus>span{grid-area:vs;color:var(--muted);font-weight:900}
.live-current{padding:11px 13px;border-radius:11px;background:#edf4f1;font-weight:850;text-align:center;overflow-wrap:anywhere}
.live-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;color:var(--muted);font-size:.82rem}
.live-meta span{padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fafcfd;text-align:center}

.source-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:999px;background:#edf4f1;color:var(--brand-dark);font-size:.78rem;font-weight:850}
.provisional-value,.provisional-result{font-style:italic;color:#7d8790;font-weight:700}
.provisional-result{display:inline-block;margin-left:5px}
.pending-note{display:block;color:#7d8790;font-style:italic;font-size:.7rem;line-height:1.25}
.history-score{text-align:center;min-width:68px}
.match-history article>a{display:inline-block;margin-top:8px;font-size:.78rem;font-weight:800}
.player-link,.team-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.inactive-row{opacity:.64;background:#f5f6f7}
.official-stat-note{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 14px;border:1px solid #b8d9ca;border-radius:12px;background:#eef8f3;margin-bottom:16px}
.official-stat-note span{color:var(--muted)}
.official-stat-note a{margin-left:auto;font-weight:800}
.player-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:20px}
.player-kpis>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fafb;text-align:center}
.player-kpis span{font-size:.76rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.player-kpis strong{font-size:1.3rem;overflow-wrap:anywhere}
.player-match-list{display:grid;gap:10px}
.player-match-entry{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}
.player-match-entry.provisional{border-style:dashed;background:#fffaf0;font-style:italic}
.player-match-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:10px}
.player-match-head strong{text-align:center}
.player-match-head span{color:var(--muted);font-size:.8rem}
.player-match-values{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.player-match-values span{display:flex;flex-direction:column;gap:3px;padding:8px;border-radius:9px;background:#f3f6f8;text-align:center;font-size:.75rem;color:var(--muted)}
.player-match-values b{font-size:.94rem;color:var(--ink);overflow-wrap:anywhere}
.player-match-entry>small{display:block;margin-top:8px;color:#8a5a00}
.confirmed-note{color:var(--ok)!important}

@media(max-width:900px){
  .live-grid{grid-template-columns:1fr}
  .player-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .player-match-values{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .topbar{align-items:flex-start;padding:9px 11px}
  .top-actions{gap:5px}
  .top-actions .btn.small{font-size:.75rem;min-height:36px;padding:7px 9px}
  .leader-badge{font-size:.72rem;min-height:32px;padding:6px 8px}
  .leadership-panel{grid-template-columns:1fr;align-items:stretch}
  .leadership-panel>.btn{width:100%}
  .live-intro{align-items:stretch;flex-direction:column}
  .live-intro .btn{width:100%}
  .live-meta{grid-template-columns:1fr 1fr}
  .player-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .player-match-head{grid-template-columns:1fr;text-align:left}
  .player-match-head strong{text-align:left}
  .player-match-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .official-stat-note{align-items:flex-start;flex-direction:column}
  .official-stat-note a{margin-left:0}
  .match-history article>div{grid-template-columns:1fr!important}
  .history-score{text-align:left}
}
@media(max-width:480px){
  .topbar{flex-direction:column;align-items:stretch}
  .top-actions{justify-content:flex-start;width:100%}
  .top-actions .btn.small{flex:1 1 auto}
  .live-versus{grid-template-columns:1fr;grid-template-areas:"home" "vs" "away" "score"}
  .live-meta,.player-kpis,.player-match-values{grid-template-columns:1fr}
  .release-code{min-height:92px}
}
.pending-leadership-list{min-width:min(100%,430px);padding:12px;border-radius:12px;background:rgba(255,255,255,.78);border:1px solid rgba(242,140,40,.35)}
.pending-leadership-list h4{margin:0 0 10px;font-size:.95rem}
.pending-leadership-request{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border-radius:10px;background:#fff;border:1px solid #f0c28c}
.pending-leadership-request+ .pending-leadership-request{margin-top:8px}
.pending-leadership-request strong,.pending-leadership-request small{display:block}
.pending-leadership-request small{margin-top:3px;color:var(--muted)}
.release-code.compact{font-size:1.65rem;min-width:96px;padding:8px 12px;letter-spacing:.16em}
.closed-match-card{max-width:850px;margin:0 auto;text-align:center;border:2px solid #d66}
.closed-match-card h2{margin-top:14px}
.closed-match-card .match-meta-strip{margin:22px auto;justify-content:center}
@media(max-width:640px){.pending-leadership-request{grid-template-columns:1fr;text-align:center}.release-code.compact{width:100%}.closed-match-card .actions{display:grid;grid-template-columns:1fr}.closed-match-card .actions .btn{width:100%}}

/* v1.8.0 – gut sichtbare Spielleiter-Anfrage ohne Fachbegriffe */
.leadership-popup-backdrop{
  position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;
  padding:clamp(12px,3vw,34px);background:rgba(8,18,24,.82);backdrop-filter:blur(10px)
}
.leadership-popup-backdrop.open{display:flex}
.leadership-popup{
  width:min(560px,100%);max-height:calc(100dvh - 36px);overflow:auto;text-align:center;
  background:#fff;border:3px solid #ee9a3d;border-radius:22px;padding:clamp(18px,3vw,28px);
  box-shadow:0 30px 100px rgba(0,0,0,.55)
}
.leadership-popup-kicker{display:inline-flex;padding:8px 14px;border-radius:999px;background:#fff0dc;color:#7b3f00;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.leadership-popup h2{font-size:clamp(24px,4vw,36px);line-height:1.08;margin:14px 0 7px}
.leadership-popup-name{font-size:clamp(20px,3.4vw,28px);font-weight:950;color:var(--brand-dark);margin:7px 0}
.leadership-popup>p:not(.leadership-popup-name){font-size:clamp(16px,2vw,19px);color:var(--muted);margin:7px auto 20px;max-width:520px}
.leadership-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.leadership-popup-button{min-height:58px;font-size:clamp(17px,2.2vw,20px);border-radius:14px}
.leadership-limit{display:inline-flex;margin-top:10px}
@media(max-width:620px){
  .leadership-popup{border-radius:18px;padding:20px 14px}
  .leadership-popup-actions{grid-template-columns:1fr;gap:12px}
  .leadership-popup-button{min-height:58px}
}

/* v1.8.0 – eigenständige, direkt verlinkbare Spielerstatistik */
.standalone-player-detail{max-width:1200px;margin-inline:auto}
.player-detail-heading{align-items:center}
.player-detail-heading h2{font-size:clamp(2rem,5vw,3.4rem);margin:3px 0 6px}
.player-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.player-extra-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-8px 0 20px}
.player-extra-kpis span{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffaf0;text-align:center}
.player-extra-kpis b{font-size:.76rem;color:var(--muted);text-transform:uppercase}
.player-stat-warning{margin:0 0 18px;padding:13px 15px;border:1px solid #e1bd69;border-radius:12px;background:#fff7df;color:#674700;font-weight:750}
.player-stat-section{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.official-player-match-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.official-player-match{display:grid;gap:12px;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff;min-width:0}
.official-player-match-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.official-player-match-head>div{display:flex;flex-direction:column;gap:3px}
.official-player-match-head span{font-size:.74rem;color:var(--muted);font-weight:900;text-transform:uppercase}
.official-player-match-head time{font-size:.82rem;color:var(--muted);font-weight:800;white-space:nowrap}
.official-player-versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;text-align:center}
.official-player-versus>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px;border-radius:10px;background:#f6f8fa}
.official-player-versus small{color:var(--muted);font-weight:800}
.official-player-versus strong{overflow-wrap:anywhere;line-height:1.35}
.official-player-versus>b{color:var(--muted)}
.official-player-result{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:#edf4f1}
.official-player-result span{font-weight:800;color:var(--muted)}
.official-player-result b{font-size:1.15rem}
.official-achievements{display:flex;flex-wrap:wrap;gap:7px}
.official-achievements span{padding:6px 9px;border-radius:999px;background:#fff0d6;color:#6d4500;font-size:.8rem;font-weight:850}
.empty-inline{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px dashed var(--line);border-radius:14px;background:#fafcfd;text-align:center;color:var(--muted)}
.empty-inline strong{color:var(--ink)}
.link-button[href]{display:inline;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
@media(max-width:960px){.official-player-match-list{grid-template-columns:1fr}.player-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
  .player-detail-heading{align-items:stretch}
  .player-detail-heading .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .player-detail-heading .btn{width:100%}
  .player-extra-kpis{grid-template-columns:1fr}
  .official-player-versus{grid-template-columns:1fr}
  .official-player-versus>b{padding:0}
}
@media(max-width:480px){.player-kpis{grid-template-columns:1fr 1fr}.player-detail-heading .actions{grid-template-columns:1fr}}

.lineup-save-state{display:flex;align-items:center;gap:9px;margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#f8fafb;color:var(--muted);font-weight:750;font-size:.92rem}
.lineup-save-dot{width:10px;height:10px;border-radius:50%;background:#84929c;flex:0 0 auto}
.lineup-save-state.saving{color:#8a5a00;background:#fff8e8;border-color:#efd49a}
.lineup-save-state.saving .lineup-save-dot{background:#e59b13;animation:lineup-save-pulse 1s infinite alternate}
.lineup-save-state.saved{color:#176b3a;background:#effaf3;border-color:#b9e2c7}
.lineup-save-state.saved .lineup-save-dot{background:#2e9b58}
.lineup-save-state.error{color:#9b2424;background:#fff1f1;border-color:#efb8b8}
.lineup-save-state.error .lineup-save-dot{background:#c73c3c}
@keyframes lineup-save-pulse{from{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}
/* v1.10.0: kompakte Administration, Pokal und responsive Listen */
.grouped-nav{display:flex;flex-direction:column;gap:12px}.grouped-nav section{display:grid;gap:4px}.grouped-nav h3{margin:8px 10px 2px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.list-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.list-toolbar .field{min-width:180px}.list-toolbar .grow{flex:1 1 260px}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding-top:16px}.actions.wrap{flex-wrap:wrap}.superseded-row{opacity:.72;background:#f6f3f3}.error-text{color:#9b1c1c}.admin-login-brand{color:var(--ink);margin-bottom:18px}.admin-login-brand small{color:var(--muted)}
.cup-fixture-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.cup-fixture-card{display:grid;gap:14px}.cup-fixture-head{display:flex;justify-content:space-between;color:var(--muted);font-size:.88rem}.cup-versus{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;text-align:center}.cup-versus div{display:grid;gap:4px}.cup-versus strong{font-size:1.08rem}.cup-result{text-align:center;font-size:1.7rem;font-weight:800}.cup-leg-side{justify-content:flex-end}.cup-player-names{font-weight:700;text-align:center;min-height:2.4rem;display:grid;place-items:center}.cup-game-card .leg-row{grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr)}
@media(max-width:760px){.admin-layout{display:block}.admin-menu-toggle{display:inline-flex}.admin-nav-backdrop{display:block;position:fixed;inset:0;z-index:998;background:rgba(7,18,14,.56);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.admin-nav-backdrop.open{opacity:1;visibility:visible}.admin-nav{position:fixed;left:0;top:0;bottom:0;z-index:999;width:min(86vw,340px);display:grid;align-content:start;gap:12px;overflow-y:auto;overflow-x:hidden;padding:max(14px,env(safe-area-inset-top)) 12px max(20px,env(safe-area-inset-bottom));border:0;background:#142c25;color:#fff;box-shadow:12px 0 34px rgba(0,0,0,.28);transform:translateX(-105%);transition:transform .2s ease;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.admin-nav.open{transform:translateX(0)}.admin-nav-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 8px;border-bottom:1px solid rgba(255,255,255,.16)}.admin-nav-mobile-head strong{font-size:1.05rem}.admin-nav-mobile-head button{display:grid;place-items:center;width:42px;height:42px;margin:0;padding:0;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:1.8rem;line-height:1}.grouped-nav section{display:grid;gap:5px}.grouped-nav h3{display:block;margin:8px 8px 2px;color:rgba(255,255,255,.62);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.admin-nav button[data-tab]{width:100%;min-height:44px;white-space:normal;color:rgba(255,255,255,.88);text-align:left}.admin-nav button[data-tab].active{background:rgba(255,255,255,.16);color:#fff}body.admin-menu-open{overflow:hidden}.admin-main{padding:12px}.list-toolbar{display:grid;grid-template-columns:1fr}.list-toolbar .field{min-width:0}.cup-game-card .leg-row{grid-template-columns:1fr}.cup-game-card .leg-center{order:-1}.cup-player-names{font-size:.95rem}.cup-versus{grid-template-columns:1fr}.cup-versus>b{font-size:1.1rem}.actions.wrap{display:grid;grid-template-columns:1fr}.actions.wrap>*{width:100%}}

/* v1.11.0 – Startseite, Fußzeile und vollständige Smartphone-/Tablet-Optimierung */
:root{--primary:var(--brand);--surface:var(--card)}
html,body{overflow-x:hidden}
.brand-link{color:#fff;text-decoration:none}
.public-nav{min-width:0;flex-wrap:wrap;justify-content:flex-end}
.home-hero{text-align:center;padding:clamp(28px,5vw,54px)}
.home-hero h2{font-size:clamp(2rem,5vw,3.7rem);margin:8px 0 10px}
.home-hero p{max-width:720px;margin:0 auto;color:var(--muted);font-size:clamp(1rem,2vw,1.16rem)}
.start-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.start-choice{display:flex;flex-direction:column;gap:14px;min-height:0;color:var(--ink);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.start-choice:hover{transform:translateY(-3px);border-color:#9fc8b6;box-shadow:0 18px 46px rgba(25,48,64,.18)}
.start-choice-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:18px;background:#e7f2ed;font-size:2rem}
.start-choice h3{font-size:clamp(1.45rem,3vw,2rem);margin:0 0 8px}
.start-choice p{color:var(--muted);line-height:1.55;margin:0}
.start-choice>strong{margin-top:auto;color:var(--brand);font-size:1.05rem}

.site-footer{margin-top:36px;background:#13251e;color:#fff;border-top:5px solid var(--brand);padding:22px max(16px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.site-footer:empty{display:none}
.site-footer-inner{width:min(1440px,100%);margin:0 auto;display:flex;align-items:center;gap:20px}
.site-footer-inner>img{width:auto;max-width:min(240px,40vw);height:72px;object-fit:contain;border-radius:10px;background:#fff;padding:5px}
.site-footer-content{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:18px}
.site-footer-content p{margin:0;color:rgba(255,255,255,.8);overflow-wrap:anywhere}
.site-footer-content nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.site-footer-content a{color:#fff;text-decoration:none;font-weight:800;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 12px;white-space:nowrap}
.site-footer-content a:hover{background:rgba(255,255,255,.12)}

.current-leg-wrap{display:grid;gap:12px}
.leg-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px}
.leg-navigation .btn:last-child{justify-self:stretch}
.current-leg{box-shadow:0 10px 25px rgba(25,48,64,.08)}
.manual-player-name{margin-top:8px}

.check-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.check-row:last-child{border-bottom:0}
.check-row>div{display:flex;gap:9px}
.check-choice span{border-radius:999px;background:#fff;color:var(--ink);transition:.14s ease;min-width:64px}
.check-choice input:checked+span{background:#effaf3;color:#14532d;border:3px solid #2e9b58;box-shadow:0 0 0 4px rgba(46,155,88,.14)}

.cup-overview-card{display:grid;gap:18px}
.cup-round-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;border:1px solid #bdd7cb;border-radius:14px;background:#edf6f2}
.cup-round-summary h2{margin:3px 0 5px}
.cup-round-summary p{margin:0;color:var(--muted)}
.cup-fixture-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cup-fixture-card{position:relative;overflow:hidden;padding:0;gap:0}
.cup-fixture-card::before{content:"";height:6px;background:linear-gradient(90deg,var(--brand),#49a77d)}
.cup-fixture-body{display:grid;gap:16px;padding:18px}
.cup-fixture-head{align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}
.cup-fixture-head span:first-child{font-weight:900;color:var(--ink)}
.cup-fixture-head span:last-child{padding:5px 9px;border-radius:999px;background:#edf4f1;color:var(--brand-dark);font-weight:800}
.cup-versus{grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr)}
.cup-team{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px!important;min-height:112px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f9fbfc}
.cup-team small{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e7f1ed;color:var(--brand-dark);font-weight:900}
.cup-team strong{font-size:clamp(1.08rem,2vw,1.35rem)!important;line-height:1.3;overflow-wrap:anywhere}
.cup-versus>b{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#edf1f4;color:var(--muted);font-size:1rem}
.cup-score-box{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px;border-radius:12px;background:#edf4f1}
.cup-score-box span{color:var(--muted);font-weight:800}.cup-score-box strong{font-size:1.65rem;color:var(--brand-dark)}
.cup-fixture-actions{display:flex;gap:10px}.cup-fixture-actions>*{flex:1}

.media-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.media-setting{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr);gap:18px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafcfd}
.logo-preview,.favicon-preview,.footer-image-preview{display:grid;place-items:center;min-height:120px;border:1px dashed #aebbc5;border-radius:12px;background:#fff;overflow:hidden;color:var(--muted);text-align:center;padding:10px}
.logo-preview img{max-width:100%;max-height:110px;object-fit:contain}.favicon-preview img{width:76px;height:76px;object-fit:contain}.footer-image-preview img{max-width:100%;max-height:110px;object-fit:contain}
.bug-admin-list{display:grid;gap:16px}.bug-admin-card{display:grid;gap:14px}.bug-description{line-height:1.55;margin:0}.bug-meta{display:flex;flex-wrap:wrap;gap:9px}.bug-meta span{display:flex;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#f8fafb}.bug-form-card{max-width:900px;margin-inline:auto}.notice{margin-top:18px;padding:14px;border-radius:12px;background:#e9f7ef;color:#14532d;font-weight:800}
.help-page{display:grid;gap:18px}.help-page .card{margin-top:0}.help-page li{margin:8px 0;line-height:1.5}

@media(max-width:960px){
  .start-choice-grid{grid-template-columns:1fr 1fr}.start-choice:last-child{grid-column:1/-1;min-height:0}
  .cup-fixture-grid{grid-template-columns:1fr}.media-setting-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:9px 0 0;align-items:stretch}
  .topbar>.brand,.topbar>.brand-link{padding:0 12px 8px}
  .public-nav{width:100%;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-start;gap:7px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:0 12px 10px;scrollbar-width:none}
  .public-nav::-webkit-scrollbar{display:none}
  .public-nav>*{flex:0 0 auto!important;scroll-snap-align:start}
  .public-nav .btn.small{min-height:38px;padding:8px 11px;font-size:.82rem}
  .leader-badge{order:-1}
  .shell{padding:12px}
  .start-choice-grid{grid-template-columns:1fr}.start-choice,.start-choice:last-child{grid-column:auto;min-height:0}
  .site-footer-inner,.site-footer-content{align-items:flex-start;flex-direction:column}.site-footer-content nav{justify-content:flex-start}
  .site-footer-inner>img{max-width:260px;width:auto;height:64px}
  .media-setting{grid-template-columns:1fr}.check-row{grid-template-columns:1fr}.check-row>div{display:grid;grid-template-columns:1fr 1fr}.check-choice span{width:100%}
  .leg-navigation{grid-template-columns:1fr 1fr}.leg-navigation>span{grid-column:1/-1;grid-row:1}.leg-navigation .btn{grid-row:2;width:100%}
  .cup-round-summary{flex-direction:column}.cup-versus{grid-template-columns:1fr}.cup-versus>b{margin:auto}.cup-team{min-height:88px}.cup-fixture-actions{flex-direction:column}
}
@media(max-width:520px){
  .brand-logo{width:42px;height:42px}.brand small{font-size:11px}.brand h1{font-size:18px}
  .home-hero{padding:28px 18px}.card{padding:16px;border-radius:15px}.start-choice{padding:18px}
  .players-versus{grid-template-columns:1fr;gap:8px}.players-versus .vs{justify-self:center}
  .scoreboard{grid-template-columns:1fr}.scoreboard .score{order:3;font-size:30px}.scoreboard .team{font-size:20px}
  .leg-side{grid-template-columns:1fr!important}.leg-center{order:-1}.game-title{align-items:flex-start;flex-direction:column}.set-score{grid-template-columns:1fr!important;text-align:center}
  .site-footer-content nav{display:grid;grid-template-columns:1fr;width:100%}.site-footer-content a{text-align:center}
}
.site-footer-image-link{display:block;flex:0 0 auto}.site-footer-image-link img{display:block;width:auto;max-width:min(240px,40vw);height:72px;object-fit:contain;border-radius:10px;background:#fff;padding:5px}
@media(max-width:760px){.site-footer-image-link img{max-width:260px;height:64px}}

/* v1.13.35 – belastbare Fußzeile, eindeutige Ein-Leg-Ansicht und Freundschaftsauswahl */
.site-footer{
  margin-top:40px;
  padding:22px max(14px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
  background:#eef2f4;
  color:var(--ink);
  border-top:1px solid #cbd5dc;
  box-shadow:inset 0 8px 20px rgba(25,48,64,.04);
}
.site-footer:empty{display:none}
.site-footer-shell{width:min(1440px,100%);margin:0 auto}
.site-footer-inner{
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:20px;
  padding:18px 20px;
  background:#fff;
  border:1px solid #d4dde3;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(25,48,64,.08);
}
.site-footer-media{display:grid;place-items:center;min-width:0}
.site-footer-media img{
  display:block;
  width:auto;
  max-width:220px;
  max-height:72px;
  object-fit:contain;
}
.site-footer-content{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}
.site-footer-content p{margin:0;color:#40515d;line-height:1.5;overflow-wrap:anywhere}
.site-footer-content nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.site-footer-content a,.footer-admin-preview nav span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 12px;
  border:1px solid #b9c7d0;
  border-radius:10px;
  background:#f8fafb;
  color:var(--brand-dark);
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.site-footer-content a:hover{background:#edf5f1;border-color:#8db8a5}
.footer-admin-preview{padding:14px;background:#eef2f4;border:1px solid #cbd5dc;border-radius:16px}
.footer-admin-preview .site-footer-inner{box-shadow:none}
.footer-admin-preview nav{display:flex;gap:8px;flex-wrap:wrap}
.friendly-selection-card select{min-height:56px;font-size:1rem}

/* Selbst bei einer alten Teilansicht darf im laufenden Match nur ein Leg sichtbar sein. */
.game-card .legs-list>.leg-row:not(.current-leg),
.game-card .leg-row[data-leg-panel]:not(.current-leg),
.game-card .future-leg,
.game-card .upcoming-leg{display:none!important}
#currentLegPanel{display:grid!important}
#currentLegPanel>.leg-row{display:grid!important}

@media(max-width:760px){
  .site-footer{padding:14px 10px calc(14px + env(safe-area-inset-bottom))}
  .site-footer-inner{grid-template-columns:1fr;padding:15px;gap:14px}
  .site-footer-media{justify-items:start}
  .site-footer-media img{max-width:min(240px,100%);max-height:64px}
  .site-footer-content{grid-template-columns:1fr;gap:14px}
  .site-footer-content nav{display:grid;grid-template-columns:1fr 1fr;width:100%;justify-content:stretch}
  .site-footer-content a{width:100%;white-space:normal;text-align:center}
}
@media(max-width:440px){
  .site-footer-content nav{grid-template-columns:1fr}
}

/* v1.13.35 – mehrere sortierbare Fußzeileneinträge und Fußzeile am unteren Bildschirmrand */
body.has-site-footer{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
body.has-site-footer>.site-footer{margin-top:auto!important;flex:0 0 auto}
body.has-site-footer>main{width:100%}
.site-footer{
  margin-top:auto;
  padding:18px max(14px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
}
.site-footer-inner{
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
  align-items:stretch;
  padding:16px 18px;
}
.site-footer-summary{
  margin:0;
  color:#40515d;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.site-footer-strip{
  display:flex;
  flex-flow:row nowrap;
  align-items:stretch;
  gap:10px;
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  padding:2px 1px 7px;
}
.site-footer-item{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  max-width:320px;
  padding:7px 12px;
  border:1px solid #b9c7d0;
  border-radius:11px;
  background:#f8fafb;
  color:var(--brand-dark);
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.site-footer-item:hover{background:#edf5f1;border-color:#8db8a5}
.site-footer-item img{
  display:block;
  width:auto;
  height:44px;
  max-width:150px;
  object-fit:contain;
  border-radius:7px;
}
.site-footer-item span{overflow:hidden;text-overflow:ellipsis}
.site-footer-item.system{min-width:124px}
.footer-admin-preview .site-footer-inner{padding:14px;background:#fff}
.footer-admin-preview .site-footer-strip{padding-bottom:4px}
.footer-item-admin-list{display:grid;gap:16px}
.footer-item-admin-list>.card{margin-top:0}
.footer-item-editor{padding:17px}
.footer-item-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.footer-item-editor-head h3{margin:3px 0 0}
.footer-position{font-size:.78rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.footer-item-editor-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}
.footer-item-image-box{height:100px;display:grid;place-items:center;border:1px dashed #aebbc5;border-radius:13px;background:#f7fafb;color:var(--muted);padding:10px}
.footer-item-image-box img{max-width:100%;max-height:78px;object-fit:contain}
.footer-item-actions{align-self:end}
@media(max-width:760px){
  .site-footer{padding:12px 9px calc(12px + env(safe-area-inset-bottom))}
  .site-footer-inner{padding:13px;gap:11px}
  .site-footer-strip{gap:8px}
  .site-footer-item{min-height:46px;max-width:260px;padding:6px 10px}
  .site-footer-item img{height:38px;max-width:120px}
  .footer-item-editor-head{flex-direction:column}
  .footer-item-editor-head>.actions{width:100%}
  .footer-item-editor-head>.actions .btn{flex:1 1 130px}
  .footer-item-editor-grid{grid-template-columns:1fr}
  .footer-item-image-box{height:88px}
}
@media(max-width:440px){
  .site-footer-item{max-width:230px}
}

/* v1.13.35 – eindeutiger Abschluss eines Einzels/Doppels */
.leg-navigation-finish{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
.leg-navigation-finish .btn{width:100%;min-height:52px}
.previous-game-action{justify-content:flex-start;margin-top:14px}
@media(max-width:760px){
  .leg-navigation-finish{grid-template-columns:1fr 1fr}
  .leg-navigation-finish .btn{grid-row:auto!important}
}

/* v1.13.35 – saubere Rasterausrichtung und durchgehende Fußleiste */
/* Globale .card + .card-Abstände dürfen innerhalb von CSS-Grids keine Karten versetzen. */
.start-choice-grid > .card + .card,
.cup-fixture-grid > .card + .card,
.grid > .card + .card {
  margin-top: 0 !important;
}
.start-choice-grid,
.cup-fixture-grid {
  align-items: stretch;
}
.start-choice-grid > .start-choice,
.cup-fixture-grid > .cup-fixture-card {
  height: 100%;
  margin-top: 0 !important;
}
.start-choice-grid > .start-choice {
  align-self: stretch;
}
.cup-fixture-card .cup-fixture-body {
  height: 100%;
  grid-template-rows: auto auto auto 1fr;
}
.cup-fixture-actions {
  align-self: end;
}

/* Fußzeile als durchgehende Leiste ohne schwebenden Innenkasten. */
.site-footer {
  width: 100%;
  margin-top: auto !important;
  padding: 0 max(14px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(14px, env(safe-area-inset-left));
  background: var(--brand-dark);
  color: #fff;
  border-top: 4px solid var(--brand);
  box-shadow: 0 -7px 22px rgba(18, 39, 31, .12);
}
.site-footer-shell {
  width: min(1440px, 100%);
  margin: 0 auto;
}
.site-footer-inner {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 14px 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.site-footer-summary {
  color: rgba(255,255,255,.82);
  white-space: normal;
}
.site-footer-strip {
  min-width: 0;
  padding: 0;
  gap: 8px;
  scrollbar-color: rgba(255,255,255,.45) transparent;
}
.site-footer-item {
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.08);
  color: #fff;
  border-radius: 9px;
}
.site-footer-item:hover {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.55);
}
.site-footer-item img {
  background: #fff;
  padding: 3px;
}
.site-footer-item.system {
  min-width: 118px;
}

/* Vorschau im Adminbereich zeigt dieselbe durchgehende Leistenoptik. */
.footer-admin-preview {
  padding: 0;
  overflow: hidden;
  background: var(--brand-dark);
  border: 1px solid #9fb3a9;
  border-radius: 12px;
}
.footer-admin-preview .site-footer-inner {
  padding: 14px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.footer-admin-preview .site-footer-summary { color: rgba(255,255,255,.82); }
.footer-admin-preview .site-footer-item,
.footer-admin-preview nav span {
  color: #fff;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.28);
}

@media (max-width: 760px) {
  .site-footer {
    padding: 0 max(9px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(9px, env(safe-area-inset-left));
  }
  .site-footer-inner {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px 0;
  }
  .site-footer-strip {
    width: 100%;
    overflow-x: auto;
  }
  .site-footer-item {
    max-width: 250px;
  }
}


/* v1.13.35 – gleichbleibende Navigation, Designfarben und korrigierte Abstände */
a{color:var(--action,var(--brand))}
.topbar{width:100%;min-height:72px;padding-inline:max(18px,env(safe-area-inset-left));}
.topbar .brand{flex:1 1 auto;max-width:520px}
.public-nav{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto;overflow:hidden}
.public-nav-loop{display:flex;align-items:center;gap:0;min-width:0;overflow:visible}
.nav-segment{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:0 4px}
.public-nav .btn.active,.public-nav .btn[aria-current="page"]{background:rgba(255,255,255,.2);border-color:#fff}
@media(min-width:761px){.nav-segment[data-copy]:not([data-copy="0"]){display:none}}
@media(max-width:760px){
  .topbar{position:sticky;display:grid;grid-template-columns:1fr;padding:9px 0 0;gap:7px;overflow:hidden}
  .topbar .brand{width:100%;padding:0 12px;max-width:none}
  .public-nav{width:100%;display:flex!important;align-items:center;gap:7px;overflow:hidden;padding:0 0 9px}
  .public-nav>.leader-badge:not(.hidden){margin-left:12px;flex:0 0 auto}
  .public-nav-loop{flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:0 8px;touch-action:pan-x}
  .public-nav-loop::-webkit-scrollbar{display:none}
  .nav-segment{gap:7px;padding:0 3px}
  .public-nav .btn.small{min-height:40px;padding:8px 12px;font-size:.84rem;white-space:nowrap}
}

/* Mehr Luft an Abschlusskontrolle und Unterschriften. */
.review-controls{padding:clamp(20px,2.4vw,32px);margin-top:26px}
.review-controls>h3{padding-inline:2px}
.check-list{gap:14px}
.check-row{padding:18px 20px;min-height:78px}
.signature-row{gap:24px;margin-top:18px}
.signature-panel{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
@media(max-width:760px){.review-controls{padding:16px}.check-row{padding:15px;align-items:flex-start}.check-row>div{width:100%;justify-content:flex-start}.signature-panel{padding:12px}}

/* Fehlerformular: klare Abstände bis zum Absenden. */
.bug-form-card{padding:clamp(22px,3vw,34px)}
.bug-form-card form{display:grid;gap:18px;margin-top:22px}
.bug-form-card form>.actions{margin-top:8px;padding-top:18px;border-top:1px solid var(--line)}

/* Pokalkarten beginnen mit sichtbarem Abstand unter der Auswahl. */
.cup-fixture-grid{margin-top:20px}
.cup-overview-card+.cup-fixture-grid{margin-top:20px!important}

/* Design-Farbverwaltung. */
.setting-toggle{display:flex;align-items:flex-start;gap:12px;margin:20px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#f7faf8}
.setting-toggle input{width:22px;height:22px;min-height:22px;margin-top:2px}
.setting-toggle span{display:flex;flex-direction:column;gap:3px}.setting-toggle small{color:var(--muted)}
.design-color-grid{margin-bottom:24px}.color-control{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px}.color-control input[type="color"]{padding:4px;min-height:46px}.color-control input[type="text"],.color-control input:not([type]){font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.settings-save-actions{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}

/* Konfigurierbare Aktionsfarbe gilt auch für verlinkte Aktionen. */
.start-choice strong,.link-button{color:var(--action,var(--brand))}
.leg-win.selected,.value-grid button.selected,.player-choice button.selected,.check-choice input:checked+span{background:var(--action,var(--brand));border-color:var(--action,var(--brand));color:var(--action-text,#fff)}

/* Fußzeilenbilder bleiben sichtbar, auch wenn nur ein Bild ohne Text hinterlegt ist. */
.site-footer-item{background:color-mix(in srgb,var(--action,var(--brand)) 72%,transparent);color:var(--action-text,#fff);border-color:rgba(255,255,255,.34)}
.site-footer-item:hover{background:color-mix(in srgb,var(--action,var(--brand)) 88%,white 12%)}
.site-footer-image-frame{display:grid;place-items:center;flex:0 0 auto;min-width:54px;height:44px;padding:3px;border-radius:7px;background:#fff;overflow:hidden}
.site-footer-image-frame img,.site-footer-item img{display:block!important;width:auto!important;height:38px!important;max-width:160px!important;object-fit:contain!important;background:transparent!important;padding:0!important;border-radius:4px}
.site-footer-item.has-image{min-width:74px}
.site-footer-item-text{overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.site-footer-image-frame{height:40px}.site-footer-image-frame img,.site-footer-item img{height:34px!important;max-width:130px!important}}

/* v1.13.35 – mobiles Endlosmenü mit nativer, frei laufender Wischbewegung. */
@media(max-width:760px){
  .public-nav-loop{
    scroll-snap-type:none!important;
    overscroll-behavior-x:auto;
    overscroll-behavior-inline:auto;
    touch-action:pan-x pan-y;
    cursor:grab;
  }
  .public-nav-loop:active{cursor:grabbing}
  .nav-segment,.public-nav .btn.small{scroll-snap-align:none!important}
}

/* v1.13.35 – stabiles mobiles Endlosmenü ohne Eingriff während der Wischbewegung. */
@media(max-width:760px){
  .public-nav{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    padding:0 0 9px!important;
    gap:7px!important;
    touch-action:auto!important;
  }
  .public-nav-loop{
    display:flex!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:scroll!important;
    overflow-y:hidden!important;
    padding:0 9px!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    overscroll-behavior-x:auto!important;
    overscroll-behavior-inline:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:auto!important;
    cursor:auto!important;
  }
  .public-nav-loop:active{cursor:auto!important}
  .nav-segment{
    display:flex!important;
    flex:0 0 auto!important;
    width:max-content!important;
    min-width:max-content!important;
    gap:7px!important;
    padding:0 3px!important;
  }
  .public-nav .btn.small{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    scroll-snap-align:none!important;
  }
}

/* v1.13.35 – kompakte Leg-Eingabe: der komplette Bedienbereich bleibt auf Smartphone und Tablet sichtbar. */
@media(max-width:760px){
  body.leg-entry-active .shell{
    padding:6px 8px 18px!important;
  }
  body.leg-entry-active .progress{
    gap:3px;
    margin:0 2px 6px;
  }
  body.leg-entry-active .progress span{height:4px}
  .leg-entry-screen{
    display:grid;
    gap:6px;
    padding:8px!important;
    border-radius:12px!important;
    overflow:visible;
    align-content:start;
  }
  .leg-entry-screen>*{margin-top:0;margin-bottom:0}
  .leg-entry-screen .scoreboard{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:6px!important;
    margin:0!important;
    padding:4px 6px;
    border-radius:9px;
    background:#f7fafb;
  }
  .leg-entry-screen .scoreboard .team{
    min-width:0;
    font-size:clamp(.72rem,3.1vw,.9rem)!important;
    line-height:1.12;
    overflow-wrap:anywhere;
  }
  .leg-entry-screen .scoreboard .score{
    font-size:clamp(1.05rem,5vw,1.35rem)!important;
  }
  .leg-entry-screen .game-title{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:7px!important;
    padding:4px 2px 6px!important;
  }
  .leg-entry-screen .game-title h2{
    font-size:clamp(.9rem,3.7vw,1.05rem)!important;
    line-height:1.14;
  }
  .leg-entry-screen .review-kicker{
    font-size:.62rem;
    margin-bottom:2px;
  }
  .leg-entry-screen .mode-line{
    margin:2px 0 0;
    font-size:.68rem;
    line-height:1.15;
  }
  .leg-entry-screen .status-pill{
    padding:4px 7px;
    font-size:.65rem;
    white-space:nowrap;
  }
  .leg-entry-screen .players-versus{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important;
    gap:5px!important;
    margin:0!important;
  }
  .leg-entry-screen .player-box{
    min-height:36px!important;
    padding:5px 6px!important;
    border-radius:9px!important;
    font-size:clamp(.72rem,3.2vw,.9rem)!important;
    line-height:1.12;
    overflow-wrap:anywhere;
  }
  .leg-entry-screen .player-box small{font-size:.58rem}
  .leg-entry-screen .vs{padding:0!important;font-size:.72rem}
  .leg-entry-screen .set-score{
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr)!important;
    justify-content:center!important;
    gap:7px!important;
    margin:0!important;
    padding:5px 7px!important;
    border-radius:9px!important;
    font-size:.68rem;
    white-space:nowrap;
  }
  .leg-entry-screen .set-score strong{font-size:1.15rem!important}
  .leg-entry-screen .current-leg-wrap{gap:5px!important}
  .leg-entry-screen .leg-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:4px!important;
    padding:5px!important;
    border-width:1px!important;
    border-radius:11px!important;
  }
  .leg-entry-screen .leg-side{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px!important;
    min-width:0;
  }
  .leg-entry-screen .performance-button,
  .leg-entry-screen .leg-win{
    min-width:0;
    min-height:42px!important;
    padding:3px!important;
    border-radius:8px!important;
    line-height:1.05;
  }
  .leg-entry-screen .performance-button span{
    font-size:.65rem!important;
    font-weight:950;
    color:var(--ink);
  }
  .leg-entry-screen .performance-button strong{
    margin-top:2px!important;
    font-size:.62rem!important;
    line-height:1.08!important;
    max-height:2.2em;
    overflow:hidden;
    overflow-wrap:anywhere;
  }
  .leg-entry-screen .leg-win{
    grid-column:1/-1!important;
    font-size:.7rem!important;
    border-width:1px!important;
  }
  .leg-entry-screen .leg-team-divider{display:block!important;margin:3px 0!important;background:var(--line)!important}
  .leg-entry-screen .leg-navigation{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:5px!important;
    align-items:center!important;
  }
  .leg-entry-screen .leg-navigation .btn{
    grid-row:auto!important;
    width:100%!important;
    min-height:40px!important;
    padding:5px 7px!important;
    border-radius:8px!important;
    font-size:.7rem!important;
    white-space:nowrap;
  }
  .leg-entry-screen .leg-navigation-finish{
    grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr)!important;
  }
  .leg-entry-screen .special-score-summary{
    margin:12px 0 0!important;
    padding:9px!important;
    gap:7px!important;
    font-size:.78rem;
  }
  .leg-entry-screen .rule-key{margin:8px 0 0!important}
  .leg-entry-screen .previous-game-action{margin-top:8px!important}
}

@media(max-width:390px), (max-height:690px){
  .leg-entry-screen{gap:4px;padding:6px!important}
  .leg-entry-screen .scoreboard{padding:3px 5px}
  .leg-entry-screen .game-title{padding:2px 1px 4px!important}
  .leg-entry-screen .mode-line{font-size:.62rem}
  .leg-entry-screen .players-versus{gap:3px!important}
  .leg-entry-screen .player-box{min-height:32px!important;padding:4px!important}
  .leg-entry-screen .set-score{padding:4px 5px!important;gap:5px!important}
  .leg-entry-screen .leg-row{padding:4px!important;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important}
  .leg-entry-screen .performance-button,.leg-entry-screen .leg-win{min-height:38px!important}
  .leg-entry-screen .leg-navigation .btn{min-height:37px!important}
}

/* v1.13.35 – größere responsive Leg-Eingabe und kompaktes Kopfmenü. */
.leg-score-banner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;padding:9px 13px;border-radius:12px;background:color-mix(in srgb,var(--action,var(--brand)) 11%,white);border:1px solid color-mix(in srgb,var(--action,var(--brand)) 32%,var(--line));font-weight:950}
.leg-score-banner span:first-child{text-align:left;font-size:1rem;letter-spacing:.04em}
.leg-score-banner strong{font-size:1.65rem;color:var(--brand-dark);line-height:1;text-align:center}
.leg-score-spacer{display:block}
.responsive-player-name{display:block;width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:clip}
.leadership-request-mark{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:58px;padding:5px;border-radius:14px;background:#fff;border:2px solid var(--action,var(--brand));font-size:2.25rem;line-height:1;box-shadow:0 5px 14px rgba(0,0,0,.12)}
.leadership-request-identity{display:flex;align-items:center;gap:12px;min-width:0}
.leadership-request-identity small{font-size:.82rem;line-height:1.3}
.leadership-own-mark{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"label label" "mark text";align-items:center;gap:5px 12px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.8)}
.leadership-own-mark>small{grid-area:label;font-weight:900;color:var(--muted)}
.leadership-own-mark>.leadership-request-mark{grid-area:mark}
.leadership-own-mark>span:last-child{grid-area:text;font-weight:750;line-height:1.35}
.leadership-popup-mark{display:grid;justify-items:center;gap:8px;margin:12px 0 18px}
.leadership-popup-mark .leadership-request-mark{font-size:3.15rem;min-width:78px;min-height:78px}
.leadership-popup-mark p{margin:0;font-weight:800;color:var(--muted)}

@media(max-width:760px){
  body.leg-entry-active .topbar{min-height:0!important;padding:3px 0 0!important;gap:3px!important}
  body.leg-entry-active .topbar .brand{min-height:35px;padding:0 10px 2px!important;gap:8px!important}
  body.leg-entry-active .brand-logo{width:34px!important;height:34px!important;border-radius:9px!important;padding:3px!important}
  body.leg-entry-active .brand h1{font-size:.98rem!important;line-height:1!important}
  body.leg-entry-active .brand small{display:none!important}
  body.leg-entry-active .public-nav{padding:0 0 4px!important;gap:4px!important}
  body.leg-entry-active .public-nav-loop{padding:0 5px!important}
  body.leg-entry-active .nav-segment{gap:5px!important;padding:0 2px!important}
  body.leg-entry-active .public-nav .btn.small{min-height:32px!important;padding:5px 9px!important;font-size:.75rem!important}
  body.leg-entry-active .leader-badge{min-height:30px!important;padding:5px 7px!important;font-size:.68rem!important}
  body.leg-entry-active .shell{padding-top:4px!important}
  body.leg-entry-active .progress{margin-bottom:4px!important}

  .leg-entry-screen{gap:7px!important;padding:9px!important}
  .leg-entry-screen .scoreboard{padding:5px 7px!important}
  .leg-entry-screen .scoreboard .team{font-size:clamp(.82rem,3.5vw,1rem)!important}
  .leg-entry-screen .scoreboard .score{font-size:clamp(1.25rem,6vw,1.65rem)!important}
  .leg-entry-screen .game-title h2{font-size:clamp(.98rem,4vw,1.15rem)!important}
  .leg-entry-screen .player-box{min-height:42px!important;padding:6px 8px!important;font-size:clamp(.84rem,3.7vw,1rem)!important;gap:1px}
  .leg-entry-screen .responsive-player-name{line-height:1.12}
  .leg-entry-screen .set-score{padding:5px 8px!important;font-size:.72rem!important}
  .leg-entry-screen .set-score strong{font-size:1.25rem!important}
  .leg-score-banner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;border-radius:10px;background:color-mix(in srgb,var(--action,var(--brand)) 11%,white);border:1px solid color-mix(in srgb,var(--action,var(--brand)) 32%,var(--line));font-weight:950}
  .leg-score-banner span:first-child{font-size:1.08rem;text-transform:uppercase;letter-spacing:.04em;text-align:left}
  .leg-score-banner strong{font-size:1.65rem;color:var(--brand-dark);line-height:1;text-align:center}
  .leg-score-banner .leg-score-spacer{display:block}
  .leg-entry-screen .leg-row{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;gap:10px!important;padding:7px!important}
  .leg-entry-screen .leg-team-divider{display:block!important;margin:4px 0!important;background:var(--line)!important}
  .leg-entry-screen .leg-side{gap:5px!important}
  .leg-entry-screen .performance-button,.leg-entry-screen .leg-win{min-height:48px!important;padding:5px!important}
  .leg-entry-screen .performance-button span{font-size:.76rem!important}
  .leg-entry-screen .performance-button strong{font-size:.7rem!important;max-height:2.25em}
  .leg-entry-screen .leg-win{font-size:.78rem!important}
  .leg-entry-screen .leg-navigation .btn{min-height:42px!important;font-size:.76rem!important}
  .leadership-request-identity{justify-content:center;text-align:left}
}

@media(max-width:390px),(max-height:690px){
  body.leg-entry-active .topbar .brand{min-height:31px}
  body.leg-entry-active .brand-logo{width:30px!important;height:30px!important}
  .leg-entry-screen .performance-button,.leg-entry-screen .leg-win{min-height:44px!important}
  .leg-score-banner{padding:5px 8px}
  .leg-score-banner span:first-child{font-size:.98rem}
  .leg-score-banner strong{font-size:1.4rem}
}


/* v1.13.35 – nur eine Leganzeige, ohne automatische Satzanzeige. */
.leg-entry-screen .set-score{display:none!important}
.leg-score-banner{position:relative}
.leg-team-divider{box-shadow:0 0 0 .5px color-mix(in srgb,var(--line) 70%,transparent)}
@media(max-width:760px){
  .leg-entry-screen .leg-row{column-gap:11px!important}
  .leg-entry-screen .leg-side.home{padding-right:1px}
  .leg-entry-screen .leg-side.away{padding-left:1px}
  .leg-entry-screen .leg-navigation{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* v1.13.35 – funktionsfähige mobile Unterschrift und gerade Abschlussansichten. */
.signature-modal-open{overflow:hidden}
.signature-backdrop{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.signature-modal{display:grid;grid-template-rows:auto auto auto minmax(190px,1fr) auto;gap:12px;overflow:hidden;max-height:calc(100dvh - 16px)}
.signature-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.signature-modal-head h2{margin:0}
.signature-modal-close{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.72rem;font-family:Arial,sans-serif;line-height:1;cursor:pointer}
.signature-signer-field{min-width:0}
.signature-help{margin:0}
.signature-modal .signature-canvas{display:block;width:100%;height:100%;min-height:190px;max-height:none;box-sizing:border-box}
.signature-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:2px}
.signature-modal-actions .btn{width:100%;min-width:0;min-height:48px}
.signature-modal-actions #saveSignature{grid-column:1/-1;grid-row:1;min-height:54px}
.signature-modal-actions #clearSignature{grid-column:1;grid-row:2}
.signature-modal-actions #cancelSignature{grid-column:2;grid-row:2}

.mobile-report-game{display:grid;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.mobile-report-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#edf4f1;border-bottom:1px solid var(--line)}
.mobile-report-heading>div:first-child{display:grid;gap:2px;min-width:0}
.mobile-report-heading span,.mobile-game-result small{font-size:.72rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.mobile-report-heading strong{overflow-wrap:anywhere}
.mobile-game-result{display:grid;justify-items:center;gap:1px;flex:0 0 auto;padding-left:12px;border-left:1px solid var(--line)}
.mobile-game-result b{font-size:1.2rem;color:var(--primary)}
.mobile-report-pair{display:grid;grid-template-columns:1fr 1fr;gap:0}
.mobile-report-side{min-width:0;padding:12px}
.mobile-report-side+ .mobile-report-side{border-left:1px solid var(--line)}
.mobile-report-side>header{min-height:38px;display:flex;align-items:center;font-size:.78rem;font-weight:900;color:var(--muted);overflow-wrap:anywhere;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}
.mobile-report-player-list{display:grid;gap:10px}
.mobile-player-result{display:grid;gap:6px;min-width:0}
.mobile-player-result>strong{font-size:.94rem;line-height:1.2;overflow-wrap:anywhere}
.mobile-player-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.mobile-player-stats span{display:grid;justify-items:center;gap:1px;padding:5px 2px;border-radius:7px;background:#f4f7f6;min-width:0}
.mobile-player-stats small{font-size:.58rem;color:var(--muted);white-space:nowrap}
.mobile-player-stats b{font-size:.83rem}
.mobile-leg-result{display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 12px;background:#f8faf9;border-top:1px solid var(--line)}
.mobile-leg-result span{font-size:.74rem;font-weight:800;color:var(--muted);text-transform:uppercase}
.mobile-leg-result strong{font-size:1.08rem;color:var(--primary)}
.mobile-final-score{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px;margin-top:4px}
.mobile-final-score span{border:1px solid var(--line);background:#fff!important}

.final-page{display:grid;gap:22px}
.final-status-block{text-align:center;display:grid;justify-items:center;gap:7px;padding:4px 10px}
.final-status-block h2,.final-status-block p{margin:0}
.final-score-board{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.final-team{display:grid;align-content:center;gap:5px;padding:20px;min-width:0}
.final-team.away{text-align:right}
.final-team small,.final-result span{font-size:.72rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.final-team strong{font-size:1.15rem;overflow-wrap:anywhere}
.final-result{display:grid;place-items:center;align-content:center;gap:3px;padding:16px 24px;border-inline:1px solid var(--line);background:#edf4f1;white-space:nowrap}
.final-result b{font-size:2rem;color:var(--primary)}
.final-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.final-actions .btn{width:100%;min-width:0;min-height:52px;text-align:center;display:flex;align-items:center;justify-content:center}
.final-pdf-preview{margin-top:0}

@media(max-width:760px){
  .signature-backdrop{align-items:stretch;justify-content:stretch}
  .signature-modal{width:100%;height:calc(100dvh - max(16px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));max-height:none;border-radius:15px;padding:12px;grid-template-rows:auto auto auto minmax(150px,1fr) auto;gap:9px}
  .signature-modal .signature-canvas{min-height:150px}
  .signature-help{font-size:.82rem}
  .signature-modal-actions{gap:8px}
  .signature-modal-actions .btn{min-height:46px;padding-inline:8px;font-size:.92rem}
  .signature-modal-actions #saveSignature{min-height:50px}
  .review-page{padding:12px!important}
  .report-paper{padding:0!important;border:0!important;background:transparent!important}
  .report-title{padding:10px 4px;text-align:center}
  .report-meta{margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .mobile-report{gap:12px}
  .mobile-report-pair{grid-template-columns:1fr 1fr}
  .mobile-final-score{grid-template-columns:1fr 1fr!important}
  .review-controls{margin-top:14px!important;border:1px solid var(--line);border-radius:14px;background:#fff}
  .final-page{padding:14px!important;gap:16px}
  .final-status-block{padding:2px 0}
  .final-status-block h2{font-size:1.28rem}
  .final-score-board{grid-template-columns:1fr auto 1fr;border-radius:14px}
  .final-team{padding:13px 10px;text-align:center!important;justify-items:center}
  .final-team strong{font-size:.95rem;line-height:1.2}
  .final-result{padding:12px 10px}
  .final-result b{font-size:1.55rem}
  .final-actions{grid-template-columns:1fr;gap:9px}
  .final-actions .btn{min-height:50px}
  .final-pdf-preview{display:none!important}
}
@media(max-width:390px){
  .mobile-report-heading{padding:10px;gap:8px}
  .mobile-report-side{padding:10px 8px}
  .mobile-player-stats small{font-size:.54rem}
  .mobile-player-result>strong{font-size:.88rem}
  .final-team strong{font-size:.86rem}
  .final-result{padding-inline:7px}
}


/* v1.13.35 – flaches Unterschriftenfeld und keine Spielbericht-HTML-Vorschau auf Mobilgeräten. */
.signature-modal{
  grid-template-rows:auto auto auto auto auto;
}
.signature-modal .signature-canvas{
  display:block;
  width:100%;
  height:clamp(150px,25vw,210px);
  aspect-ratio:2.8 / 1;
  min-height:120px;
  max-height:210px;
}
@media(max-width:760px){
  .signature-backdrop{
    align-items:center;
    justify-content:center;
  }
  .signature-modal{
    width:min(680px,calc(100vw - 16px));
    height:auto;
    max-height:calc(100dvh - 16px);
    padding:12px;
    grid-template-rows:auto auto auto auto auto;
    gap:9px;
    overflow:auto;
  }
  .signature-modal .signature-canvas{
    width:100%;
    height:clamp(118px,34vw,180px);
    aspect-ratio:2.8 / 1;
    min-height:118px;
    max-height:180px;
  }
  /* Mobil nur die PDF-ähnliche HTML-Tabelle ausblenden.
     Die speziell für Smartphones gebaute Ergebnisübersicht bleibt sichtbar. */
  .review-page .desktop-report{
    display:none!important;
  }
  .review-page .mobile-report{
    display:grid!important;
  }
  .review-page .report-wrap{
    padding-bottom:0;
  }
  .review-page .review-controls{
    margin-top:0!important;
  }
}

/* v1.13.35 – mobil nur den markierten Mannschafts-/Datumsblock ausblenden. */
@media(max-width:760px){
  .review-page .report-meta{
    display:none!important;
  }
  .review-page .report-title{
    display:block!important;
  }
  .review-page .desktop-report{
    display:none!important;
  }
  .review-page .mobile-report{
    display:grid!important;
  }
}

/* v1.13.35 – vorläufige HHEDL-Ergebnisse und Legende */
.provisional-mark{margin-left:4px;font-size:.95em;font-style:italic;color:#8a5a00}
.statistics-legend{max-width:1180px;margin:16px auto 4px;padding:10px 16px;font-size:.92rem;color:var(--muted);text-align:left}
.statistics-legend em{font-style:italic;color:#8a949d;font-weight:500}
.statistics-legend sup{color:#8a5a00;font-weight:900}
\n\n/* v1.13.35 – Match-Eingabe nutzt die Bildschirmhöhe bis zur Leg-Navigation. */
body.leg-entry-active .shell{padding-bottom:max(18px,env(safe-area-inset-bottom))}
.leg-entry-screen{overflow:visible}
.leg-primary-zone{
  height:var(--leg-primary-height,auto);
  min-height:440px;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  gap:clamp(8px,1.35vh,16px);
  padding-bottom:max(12px,env(safe-area-inset-bottom));
}
.leg-primary-zone>.scoreboard,.leg-primary-zone>.game-title,.leg-primary-zone>.players-versus{margin:0}
.leg-primary-zone .current-leg-wrap{
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:clamp(8px,1.25vh,14px);
}
.leg-primary-zone .leg-row{
  min-height:0;
  height:100%;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;
  gap:clamp(10px,1.4vw,20px);
  padding:clamp(10px,1.6vh,18px);
}
.leg-primary-zone .leg-side{height:100%;min-height:0;align-content:stretch}
.leg-primary-zone .performance-button,.leg-primary-zone .leg-win{height:100%;min-height:56px}
.leg-primary-zone .performance-button span{font-size:clamp(.76rem,1.15vw,1rem)}
.leg-primary-zone .performance-button strong{font-size:clamp(.72rem,1vw,.94rem)}
.leg-primary-zone .leg-win{font-size:clamp(.88rem,1.3vw,1.08rem)}
.leg-primary-zone .leg-navigation{min-height:54px;margin-bottom:2px}
.leg-primary-zone .leg-navigation .btn{min-height:54px;font-size:clamp(.92rem,1.25vw,1.05rem)}
.leg-navigation-awaiting{visibility:hidden;opacity:0;pointer-events:none}
.leg-secondary-content{padding-top:clamp(12px,2vh,22px)}

.responsive-player-name{display:block;width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:clip}
.responsive-player-name-track{display:inline-flex;align-items:baseline;white-space:nowrap;will-change:transform}
.responsive-player-name-gap{white-space:nowrap}
.responsive-player-name.is-marquee .responsive-player-name-track{animation:player-name-marquee-loop var(--marquee-duration,10s) linear infinite}
@keyframes player-name-marquee-loop{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--marquee-loop-distance,1px)))}}

.leg-win.leg-choice-prompt{animation-duration:2.4s!important;animation-timing-function:steps(1,end)!important;animation-iteration-count:infinite!important;border-color:#d8c575;will-change:background-color,border-color,box-shadow}
.leg-win.leg-choice-home{animation-name:leg-choice-home!important}
.leg-win.leg-choice-away{animation-name:leg-choice-away!important;animation-delay:0s!important}
@keyframes leg-choice-home{0%,49.999%{background:#ffdd32;color:#211b00;border-color:#aa8b00;box-shadow:0 0 0 5px rgba(255,221,50,.25)}50%,100%{background:#fff;border-color:#b8c7d0;box-shadow:none}}
@keyframes leg-choice-away{0%,49.999%{background:#fff;border-color:#b8c7d0;box-shadow:none}50%,100%{background:#ffdd32;color:#211b00;border-color:#aa8b00;box-shadow:0 0 0 5px rgba(255,221,50,.25)}}
.counter-grid button:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.2)}

@media(min-width:761px){
  .leg-entry-screen .scoreboard .team{font-size:clamp(1.15rem,2.2vw,1.9rem)}
  .leg-entry-screen .scoreboard .score{font-size:clamp(1.8rem,3.5vw,3rem)}
  .leg-entry-screen .player-box{min-height:clamp(72px,9vh,108px);font-size:clamp(1.05rem,2vw,1.55rem)}
  .leg-entry-screen .leg-score-banner{min-height:54px;padding:10px 16px}
  .leg-entry-screen .leg-score-banner strong{font-size:clamp(1.65rem,3vw,2.25rem)}
}

@media(max-width:760px){
  body.leg-entry-active .shell{padding-left:8px!important;padding-right:8px!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
  .leg-entry-screen{padding:9px!important}
  .leg-primary-zone{min-height:440px;gap:clamp(6px,1.2vh,11px);padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .leg-primary-zone .scoreboard{min-height:42px;padding:6px 8px!important}
  .leg-primary-zone .game-title{min-height:58px;padding:4px 2px 7px!important}
  .leg-primary-zone .players-versus{min-height:52px}
  .leg-primary-zone .player-box{min-height:52px!important;padding:7px 8px!important;font-size:clamp(.9rem,3.8vw,1.08rem)!important}
  .leg-primary-zone .leg-score-banner{min-height:44px;padding:7px 10px}
  .leg-primary-zone .leg-row{gap:10px!important;padding:7px!important}
  .leg-primary-zone .leg-side{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(48px,1fr) minmax(48px,1fr) minmax(50px,1fr);gap:6px!important}
  .leg-primary-zone .performance-button,.leg-primary-zone .leg-win{min-height:48px!important;padding:6px!important}
  .leg-primary-zone .performance-button:last-of-type{grid-column:1/-1}
  .leg-primary-zone .performance-button span{font-size:.78rem!important}
  .leg-primary-zone .performance-button strong{font-size:.72rem!important;max-height:2.35em}
  .leg-primary-zone .leg-win{font-size:.82rem!important}
  .leg-primary-zone .leg-navigation{min-height:50px;gap:8px!important}
  .leg-primary-zone .leg-navigation .btn{min-height:50px!important;font-size:.84rem!important;padding:8px 9px!important}
}

@media(max-width:390px),(max-height:690px){
  .leg-primary-zone{min-height:420px;gap:5px}
  .leg-primary-zone .game-title{min-height:52px}
  .leg-primary-zone .player-box{min-height:46px!important}
  .leg-primary-zone .leg-side{grid-template-rows:minmax(44px,1fr) minmax(44px,1fr) minmax(46px,1fr);gap:5px!important}
  .leg-primary-zone .performance-button,.leg-primary-zone .leg-win{min-height:44px!important}
  .leg-primary-zone .leg-navigation,.leg-primary-zone .leg-navigation .btn{min-height:46px!important}
}

@media(prefers-reduced-motion:reduce){
  .responsive-player-name.is-marquee .responsive-player-name-track{animation:none}
}

/* v1.13.35 – Gast-QR-Spielleitung und bestätigte Ergebnisdarstellung */
.guest-qr-button{margin-top:12px;width:100%}
.guest-qr-modal{text-align:center}
.guest-qr-modal h2{margin-bottom:6px}
.guest-qr-image{display:block;width:min(320px,82vw);height:auto;margin:18px auto;padding:12px;background:#fff;border:1px solid var(--line);border-radius:18px}
.guest-qr-leader-note{max-width:600px;margin:12px auto;line-height:1.5}
.guest-qr-modal small{display:block;color:var(--muted);max-width:600px;margin:0 auto}

/* v1.13.35 – Gast-QR direkt zwischen den Aufstellungen und Rechte-Schalter */
.guest-qr-bridge{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,auto);
  gap:18px;
  align-items:center;
  scroll-margin-top:12px;
  border:2px solid color-mix(in srgb,var(--accent) 38%,var(--line));
}
.guest-qr-bridge h3{margin:7px 0 4px}
.guest-qr-bridge p{margin:0}
.guest-qr-bridge .guest-qr-button{margin:0;width:auto;min-width:270px}
.guest-qr-permission{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:16px auto 4px;
  font-size:1.05rem;
}
.guest-qr-permission>span{font-weight:700}
.guest-qr-permission>strong{min-width:34px;text-align:left}
.guest-qr-switch{position:relative;display:inline-flex;width:58px;height:32px;flex:0 0 auto}
.guest-qr-switch input{position:absolute;opacity:0;width:1px;height:1px}
.guest-qr-switch-slider{
  position:absolute;inset:0;cursor:pointer;border-radius:999px;
  background:#9ca8af;border:1px solid #7f8b92;transition:.18s ease;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12)
}
.guest-qr-switch-slider:before{
  content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;
  background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.28);transition:.18s ease
}
.guest-qr-switch input:checked + .guest-qr-switch-slider{background:var(--accent);border-color:var(--accent)}
.guest-qr-switch input:checked + .guest-qr-switch-slider:before{transform:translateX(26px)}
.guest-qr-switch input:focus-visible + .guest-qr-switch-slider{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px}
.guest-qr-switch input:disabled + .guest-qr-switch-slider{opacity:.45;cursor:not-allowed}
.guest-qr-image.is-refreshing{opacity:.45;filter:grayscale(.5)}
.guest-qr-limit-note{margin:8px auto 0;max-width:620px}
@media(max-width:760px){
  .guest-qr-bridge{grid-template-columns:1fr;gap:12px}
  .guest-qr-bridge .guest-qr-button{width:100%;min-width:0}
}

/* v1.13.35 – Sonderleistungen direkt unter dem Leg-Ergebnis. */
.leg-primary-zone .current-leg-wrap{
  grid-template-rows:auto auto minmax(0,1fr) auto;
}
.leg-performance-log{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fafb;
}
.leg-performance-log.is-empty{
  display:block;
  min-height:0;
  height:0;
  padding:0;
  border:0;
  overflow:hidden;
}
.leg-performance-column{
  display:grid;
  gap:4px;
  align-content:start;
}
.leg-performance-entry{
  min-width:0;
  min-height:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:4px 5px 4px 8px;
  border:1px solid #dbe4e9;
  border-radius:8px;
  background:#fff;
  font-size:.78rem;
  line-height:1.15;
}
.leg-performance-entry-text{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:6px;
  overflow:hidden;
}
.leg-performance-entry-text strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.leg-performance-entry-text span{
  flex:0 0 auto;
  font-weight:850;
  white-space:nowrap;
}
.leg-performance-remove{
  flex:0 0 24px;
  width:24px;
  height:24px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid #e6a5a5;
  border-radius:50%;
  background:#fff2f2;
  color:#b42318;
  font-size:18px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
}
.leg-performance-remove:hover,.leg-performance-remove:focus-visible{
  background:#b42318;
  color:#fff;
  border-color:#b42318;
}
.leg-side .performance-button strong{
  color:var(--muted);
  font-weight:750;
}
@media(max-width:760px){
  .leg-performance-log{gap:6px;padding:5px 6px}
  .leg-performance-entry{min-height:27px;padding:3px 4px 3px 6px;font-size:.68rem;gap:5px}
  .leg-performance-entry-text{gap:4px}
  .leg-performance-remove{width:21px;height:21px;flex-basis:21px;font-size:16px}
}
@media(max-width:430px){
  .leg-performance-log{grid-template-columns:1fr;gap:4px}
}


/* v1.13.35 – stabile Sonderleistungs-Liste ohne horizontales Springen. */
html{scrollbar-gutter:stable}
.leg-primary-zone{
  height:auto!important;
  min-height:var(--leg-primary-height,440px);
}
.leg-primary-zone .current-leg-wrap{
  grid-template-rows:auto auto minmax(220px,1fr) auto!important;
}
.leg-primary-zone .leg-row{
  height:auto!important;
  min-height:220px;
}
.leg-performance-log{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:visible;
}
.leg-performance-column{min-width:0}
.leg-performance-entry{width:100%;max-width:100%;box-sizing:border-box}
.leg-performance-entry-text{flex:1 1 auto;min-width:0;flex-wrap:wrap;overflow:visible}
.leg-performance-remove{
  position:relative;
  display:block;
  font-size:0;
  line-height:0;
  overflow:hidden;
}
.leg-performance-remove::before{
  content:"×";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-52%);
  font-family:Arial,Helvetica,sans-serif;
  font-size:18px;
  font-weight:900;
  line-height:1;
}
.guest-qr-image{margin-bottom:10px}
.guest-qr-permission{margin-top:6px}
@media(max-width:760px){
  .leg-primary-zone .current-leg-wrap{grid-template-rows:auto auto auto auto!important}
  .leg-primary-zone .leg-row{min-height:0}
  .leg-performance-remove::before{font-size:16px}
}

.leg-performance-entry-text strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}


/* v1.13.35 – Abschlussseite mit PDF-Vorschau und geschütztem Löschen */
.review-footer-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.review-footer-actions .btn{width:100%;min-width:0}
.review-pdf-modal{display:flex;flex-direction:column;gap:12px;min-height:min(820px,calc(100dvh - 80px))}
.review-pdf-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.review-pdf-modal-head h2{margin:2px 0 0}
.review-pdf-modal iframe{width:100%;height:min(74dvh,900px);min-height:520px;border:1px solid var(--line);border-radius:12px;background:#f4f5f6}
@media(max-width:760px){.review-footer-actions{grid-template-columns:1fr}.review-pdf-modal{min-height:calc(100dvh - 44px)}.review-pdf-modal-head{align-items:flex-start}.review-pdf-modal iframe{height:72dvh;min-height:420px}}

/* v1.13.35 – große PDF-Vorschau, E-Mail-Empfänger und SMTP-Test */
.final-pdf-preview{position:relative;overflow:hidden;min-height:420px}
.final-pdf-preview iframe{pointer-events:none}
.final-pdf-preview-hit{position:absolute;inset:0;border:0;background:transparent;cursor:zoom-in;display:flex;align-items:flex-end;justify-content:center;padding:16px}
.final-pdf-preview-hit span{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:999px;background:rgba(18,76,56,.92);color:#fff;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.final-pdf-preview-hit:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.readonly-recipient{min-height:46px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f5f8f7;font-weight:800;overflow-wrap:anywhere}
.readonly-recipient.missing{color:#9b2c2c;background:#fff5f5;border-color:#efb7b7}
.email-test-box{display:flex;align-items:end;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}
.email-test-box .btn{min-height:46px;white-space:nowrap}
@media(max-width:760px){.final-pdf-preview{display:block!important;min-height:300px}.email-test-box{display:grid;grid-template-columns:1fr}.email-test-box .btn{width:100%}}
.provisional-standing .provisional-value{font-style:italic;color:#7d8790;font-weight:700;white-space:nowrap}
.provisional-form-wrap{display:inline-flex;align-items:center;gap:1px;font-style:italic;color:#7d8790;font-weight:700}
.provisional-form-wrap .form-badge{font-style:italic;opacity:.78}
.final-pdf-preview iframe{display:block;width:100%;height:420px;border:1px solid var(--line);border-radius:12px;background:#f4f5f6}
@media(max-width:760px){.final-pdf-preview iframe{height:320px}}

/* v1.13.35 – bearbeitbare Anleitung im Adminbereich */
.help-editor-list{display:grid;gap:18px;margin-top:18px}
.help-editor-card{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:16px;box-shadow:0 4px 14px rgba(23,33,43,.06)}
.help-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.help-editor-head strong{font-size:1rem}
.help-editor-toolbar{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}
.help-rich-editor{min-height:150px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px 14px;line-height:1.5;color:var(--ink);outline:none;overflow-wrap:anywhere}
.help-rich-editor:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(30,111,82,.12)}
.help-rich-editor p:first-child,.help-rich-editor ul:first-child,.help-rich-editor ol:first-child{margin-top:0}
.help-rich-editor p:last-child,.help-rich-editor ul:last-child,.help-rich-editor ol:last-child{margin-bottom:0}
.help-editor-save{position:sticky;bottom:10px;margin-top:18px;padding:10px;border-radius:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);z-index:4}
.help-page [data-help-block] ul,.help-page [data-help-block] ol{padding-left:1.5rem}
@media (max-width:760px){.help-editor-head{align-items:flex-start;flex-direction:column}.help-editor-head .actions{width:100%}.help-editor-head .actions .btn{flex:1}.help-editor-save{bottom:calc(10px + env(safe-area-inset-bottom))}.help-rich-editor{min-height:180px}}

/* v1.13.36 - PDF-Beispiel direkt in jeder Startkachel und direkte Abschluss-PDF ohne zweiten Öffnen-Schritt */
.start-choice-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#eef2f1;
  overflow:hidden;
}
.start-choice-preview img{
  display:block;
  width:100%;
  max-width:100%;
  max-height:170px;
  object-fit:contain;
  border-radius:7px;
  background:#fff;
  box-shadow:0 5px 16px rgba(24,39,33,.12);
}
.final-pdf-preview{position:relative;overflow:hidden;min-height:420px}
.final-pdf-preview iframe{pointer-events:auto!important}
.final-actions[data-friendly="true"]{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){
  .start-choice-preview{padding:7px}
  .start-choice-preview img{max-height:150px}
  .final-actions[data-friendly="true"]{grid-template-columns:1fr}
  .final-pdf-preview iframe{pointer-events:auto!important}
}


/* v1.13.37 – PDF-Vorschau auf Mobilgeräten direkt sichtbar, ohne Browser-PDF-Zwischenschritt */
.review-pdf-modal .direct-pdf-preview{width:100%;max-height:min(76dvh,920px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:#eef2f1;padding:8px}
.review-pdf-modal .direct-pdf-preview img{display:block;width:100%;height:auto;margin:0 auto;border-radius:8px;background:#fff}
.final-pdf-preview{min-height:0!important}
.final-pdf-preview img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
@media(max-width:760px){.review-pdf-modal{min-height:0}.review-pdf-modal .direct-pdf-preview{max-height:75dvh;padding:4px}.final-pdf-preview{display:block!important;min-height:0!important}}


/* v1.13.38 – ausschließlich mobiler Touch-Zoom für die fertige PDF-Vorschau */
body.mobile-pdf-zoom-open{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
.mobile-pdf-zoom-overlay{position:fixed;inset:0;z-index:10050;background:rgba(7,12,10,.9);overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none}
.mobile-pdf-zoom-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none}
.mobile-pdf-zoom-image{display:block;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);width:auto;height:auto;object-fit:contain;transform-origin:center center;will-change:transform;background:#fff;box-shadow:0 8px 32px rgba(0,0,0,.38);-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
.mobile-pdf-zoom-close{position:fixed;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));z-index:10052;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font:400 29px/32px Arial,sans-serif;text-align:center;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.28)}
@media(max-width:900px),(pointer:coarse){.final-pdf-preview img{cursor:zoom-in;-webkit-tap-highlight-color:transparent}}

/* v1.13.41 – ausschließlich QR-Gastaufstellung und verdeckte Aufstellung für Zuschauer */
#awayLineupEntry,#awayLineupPrivate{scroll-margin-top:90px}
.private-lineup-panel .locked-overlay span{max-width:520px;color:var(--muted);line-height:1.45}
.guest-qr-lineup-permission{display:flex;justify-content:center;margin:10px auto 2px}
.guest-qr-lineup-permission label{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-weight:800;cursor:pointer}
.guest-qr-lineup-permission input{width:20px;height:20px;margin:0;accent-color:var(--accent)}

@media(max-width:760px){#awayLineupEntry,#awayLineupPrivate{scroll-margin-top:130px}}
/* v1.13.45 – mobile Sonderleistungs-Einträge wieder über die volle Breite. */
@media(max-width:760px){
  .leg-entry-screen .leg-performance-log{
    grid-template-columns:1fr!important;
    gap:6px!important;
    padding:6px 7px!important;
  }
  .leg-entry-screen .leg-performance-column{
    width:100%;
    gap:5px;
  }
  .leg-entry-screen .leg-performance-entry{
    width:100%;
    min-height:34px;
    padding:5px 6px 5px 9px;
    font-size:.8rem;
    gap:7px;
  }
  .leg-entry-screen .leg-performance-entry-text{gap:6px}
  .leg-entry-screen .leg-performance-entry-text strong{font-size:.82rem}
  .leg-entry-screen .leg-performance-entry-text span{font-size:.8rem}
  .leg-entry-screen .leg-performance-remove{width:24px;height:24px;flex-basis:24px}
}


/* v1.13.48 – direkte PDF-Vorschau bereits auf der Unterschriftenseite */
.review-inline-pdf-card{margin-top:18px;padding:18px}
.review-inline-pdf-head h3{margin:4px 0 0}
.review-inline-pdf-preview{min-height:240px;display:flex;align-items:center;justify-content:center;background:#eef2f1}
.review-inline-pdf-preview img{display:block;width:100%;height:auto;cursor:zoom-in}
.preview-loading{color:var(--muted);font-weight:700;text-align:center;padding:16px}
@media(max-width:760px){
  .review-inline-pdf-card{padding:14px}
  .review-inline-pdf-preview{min-height:180px}
}


/* v1.13.50 – nur mobile Spielernamen und Teamkopf im laufenden Spielbetrieb */
@media(max-width:760px){
  .leg-entry-screen .game-scoreboard{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:8px!important;
    row-gap:2px!important;
    align-items:center!important;
  }
  .leg-entry-screen .game-scoreboard>.team:first-child{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:stretch;
    text-align:center;
  }
  .leg-entry-screen .game-scoreboard::after{
    content:"-";
    grid-column:1;
    grid-row:2;
    justify-self:center;
    align-self:center;
    font-weight:900;
    line-height:1;
    color:var(--muted);
  }
  .leg-entry-screen .game-scoreboard>.team:last-child{
    grid-column:1!important;
    grid-row:3!important;
    justify-self:stretch;
    text-align:center;
  }
  .leg-entry-screen .game-scoreboard>.score{
    grid-column:2!important;
    grid-row:1 / 4!important;
    justify-self:center;
    align-self:center;
    text-align:center;
  }
}

/* v1.13.51 – QR-Schalter und austauschbare Screenshots in der Anleitung */
.guest-qr-options{display:grid;gap:4px;max-width:620px;margin:12px auto 6px}
.guest-qr-options .guest-qr-permission{margin:4px 0;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);justify-content:space-between}
.guest-qr-options .guest-qr-permission>span{text-align:left;flex:1}
.help-game-screenshots{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,155px));gap:12px;margin-top:16px;justify-content:start;align-items:start}
.help-game-screenshots figure{margin:0;min-width:0}
.help-screenshot-thumb{display:block;width:100%;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:zoom-in;box-shadow:0 6px 18px rgba(25,48,64,.08)}
.help-screenshot-thumb img{display:block;width:100%;height:auto;border-radius:8px;background:#eef2f1}
.help-game-screenshots figcaption{margin-top:6px;color:var(--muted);font-size:.78rem;line-height:1.3}
body.help-screenshot-open{overflow:hidden}
.help-screenshot-lightbox{position:fixed;inset:0;z-index:10080;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(7,12,10,.9);cursor:zoom-out}
.help-screenshot-lightbox img{display:block;max-width:min(94vw,620px);max-height:92dvh;width:auto;height:auto;object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 18px 60px rgba(0,0,0,.45);cursor:default}
.help-screenshot-lightbox-close{position:fixed;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));z-index:10082;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font:400 30px/34px Arial,sans-serif;cursor:pointer}
.help-screenshot-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.help-screenshot-admin-item{display:grid;gap:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface)}
.help-screenshot-admin-preview{display:flex;justify-content:center;align-items:flex-start;max-height:390px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#eef2f1;padding:7px}
.help-screenshot-admin-preview img{display:block;width:min(100%,230px);height:auto;border-radius:8px}
@media(max-width:980px){.help-screenshot-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.guest-qr-options .guest-qr-permission{gap:8px}.help-game-screenshots{grid-template-columns:repeat(2,minmax(0,145px))}.help-screenshot-admin-grid{grid-template-columns:1fr}}

/* v1.13.53 – dynamische Bild-Platzhalter in Anleitung und Impressum */
.placeholder-token{display:inline-block;margin-top:4px;padding:4px 8px;border-radius:7px;background:#edf4f1;color:var(--brand-dark);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800}
.placeholder-image-card .help-screenshot-admin-preview{max-height:260px}
.help-placeholder-gallery{margin:14px 0}
.imprint-page{width:min(1000px,100%)}
.imprint-page #imprintContent{line-height:1.65}
.imprint-placeholder-image{margin:18px 0;display:grid;justify-items:start;gap:7px}
.imprint-placeholder-image img{display:block;max-width:min(100%,420px);max-height:280px;width:auto;height:auto;object-fit:contain;border-radius:12px;border:1px solid var(--line);background:#fff;padding:7px}
.imprint-placeholder-image figcaption{color:var(--muted);font-size:.9rem}
.imprint-rich-editor{min-height:300px}
@media(max-width:760px){.imprint-placeholder-image img{max-width:100%;max-height:220px}.placeholder-image-card .actions.wrap{display:grid;grid-template-columns:1fr}.placeholder-image-card .actions.wrap .btn{width:100%}}

/* v1.13.56 – Anleitung: kleine Screenshot-Vorschauen zuverlässig paarweise nebeneinander */
.help-page p.help-placeholder-only{display:contents}
.help-page .help-placeholder-shot{
  display:inline-grid;
  grid-template-columns:minmax(0,1fr);
  width:155px;
  max-width:calc(50% - 7px);
  margin:12px 8px 12px 0;
  vertical-align:top;
  box-sizing:border-box;
}
.help-page .help-placeholder-shot .help-screenshot-thumb{width:100%;box-sizing:border-box}
.help-page .help-placeholder-caption{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;line-height:1.3}
@media(max-width:760px){
  .help-page .help-placeholder-shot{
    width:calc(50% - 10px);
    max-width:145px;
    margin:10px 6px 10px 0;
  }
  .help-page .help-placeholder-shot:nth-of-type(even){margin-right:0}
  .help-page .help-placeholder-shot .help-screenshot-thumb{padding:4px}
  .help-page .help-placeholder-caption{font-size:.7rem;line-height:1.25}
}

/* v1.13.58 – kompakte öffentliche App-Nutzungsstatistik */
.usage-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 14px}
.usage-summary-box{display:grid;align-content:center;gap:2px;min-width:0;min-height:82px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:0 2px 8px rgba(18,37,31,.04);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
a.usage-summary-box:hover,a.usage-summary-box:focus-visible{transform:translateY(-1px);border-color:var(--primary);box-shadow:0 5px 14px rgba(18,37,31,.09);outline:none}
.usage-summary-box span{font-size:.73rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.025em}
.usage-summary-box strong{display:block;min-width:0;font-size:1.18rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.usage-summary-box small{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usage-summary-box.static{cursor:default}
.usage-summary-detail{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}
.compact-app-season{max-width:260px;margin-top:8px}
.app-usage-breakdowns{margin-top:16px;align-items:start}
.app-usage-list{display:grid;gap:9px}
.app-usage-list>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.app-usage-list>div:last-child{border-bottom:0}
.app-usage-table td small{display:block;margin-top:2px;color:var(--muted)}
@media(max-width:1050px){.usage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-summary-detail{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.usage-summary-grid,.usage-summary-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.usage-summary-box{min-height:76px;padding:9px 10px}.usage-summary-box strong{font-size:1.06rem}.usage-summary-box span{font-size:.67rem}.usage-summary-box small{font-size:.65rem}.app-usage-breakdowns{grid-template-columns:1fr}}


/* v1.13.64 – Aufstellungsnavigation und echte Endlos-Laufschrift */
.game-scoreboard-open-lineup{cursor:pointer}
.game-scoreboard-open-lineup:focus-visible{outline:3px solid color-mix(in srgb,var(--action,var(--brand)) 55%,white);outline-offset:2px}
.lineup-current-return{display:flex;margin:0 0 16px}
.lineup-current-return.bottom{margin:18px 0 0}
.lineup-current-return .btn{width:100%}
.leg-secondary-content>.previous-game-action{margin-top:0!important;margin-bottom:14px;justify-content:flex-start}
@media(max-width:760px){.leg-secondary-content>.previous-game-action{margin-bottom:12px}.lineup-current-return{margin-bottom:12px}.lineup-current-return.bottom{margin-top:14px}}

/* v1.13.64 – mobile Fußzeile wie das endlose Hauptmenü, ohne seitliche Außenkante. */
.site-footer-loop{display:flex;align-items:stretch;min-width:0;overflow:visible}
.site-footer-segment{display:flex;align-items:stretch;gap:8px;flex:0 0 auto;padding:0 3px}
.imprint-image-link{display:inline-block;max-width:100%;text-decoration:none}
.imprint-image-link img{cursor:pointer}
@media(min-width:761px){
  .site-footer-segment[data-copy]:not([data-copy="0"]){display:none}
  .site-footer-loop{width:100%}
}
@media(max-width:760px){
  .site-footer{padding-left:0!important;padding-right:0!important}
  .site-footer-shell{width:100%!important;max-width:none!important}
  .site-footer-inner{width:100%!important;padding:12px 0!important}
  .site-footer-summary{padding:0 max(12px,env(safe-area-inset-left))!important}
  .site-footer-strip{width:100%!important;overflow:hidden!important;padding:0!important;touch-action:auto!important}
  .site-footer-loop{display:flex!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:scroll!important;overflow-y:hidden!important;padding:0!important;scroll-snap-type:none!important;scroll-behavior:auto!important;overscroll-behavior-x:auto!important;overscroll-behavior-inline:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:auto!important;scrollbar-width:none!important}
  .site-footer-loop::-webkit-scrollbar{display:none!important}
  .site-footer-segment{display:flex!important;flex:0 0 auto!important;width:max-content!important;min-width:max-content!important;gap:8px!important;padding:0 3px!important}
  .site-footer-item{flex:0 0 auto!important;scroll-snap-align:none!important}
}

/* v1.13.72: sichtbarer Arbeitszustand bei langsamem Mobilfunk / Doppelklick-Schutz */
.btn[aria-busy="true"],button[aria-busy="true"]{cursor:wait;opacity:.72}

/* v1.13.72: mobile Touch-Ziele mindestens 44 px */
@media(max-width:760px){
  .public-nav .btn.small,.top-actions .btn.small,.pagination .btn.small{min-height:44px}
}

/* v1.13.72 – Abschlussbericht für Zuschauer und identische gegliederte Vorschau auf Desktop/Mobil */
.review-page .desktop-report{display:none!important}
.review-page .mobile-report{display:grid!important;gap:12px}
.review-page .report-paper{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.review-page .report-meta{display:none!important}
.review-page .report-title{padding:10px 4px;text-align:center}
.mobile-stat-value{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.28;text-align:center}
.mobile-stat-value wbr{display:inline}
.final-report-summary{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#f8faf9}
.final-report-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.final-report-summary-head h3{margin:4px 0 2px}
.final-report-summary-head p{margin:0;color:var(--muted);font-size:.9rem}
.final-report-summary-score{display:grid;justify-items:center;align-content:center;gap:2px;min-width:106px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.final-report-summary-score small{font-size:.7rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.final-report-summary-score strong{font-size:1.6rem;color:var(--primary)}
.final-mobile-report{display:grid!important;gap:12px}
.final-actions[data-spectator="true"]{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){
  .final-report-summary{padding:12px;border-radius:14px}
  .final-report-summary-head{align-items:center;gap:10px}
  .final-report-summary-head h3{font-size:1.05rem}
  .final-report-summary-head p{font-size:.8rem}
  .final-report-summary-score{min-width:86px;padding:8px 10px}
  .final-report-summary-score strong{font-size:1.35rem}
  .final-actions[data-spectator="true"]{grid-template-columns:1fr}
}
.signature-box.read-only{cursor:default;background:#f7f9f8}
.spectator-review-note{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#edf4f1}
.spectator-review-note span{color:var(--muted);text-align:right}
@media(max-width:760px){.spectator-review-note{display:grid;gap:4px}.spectator-review-note span{text-align:left}}

/* v1.13.72 – Abschlussbericht: echte Nur-Ansicht, einheitliche Statistikstapel und Fehlersprung */
.mobile-stat-stack{display:grid;grid-auto-flow:row;justify-items:center;align-items:center;gap:1px;width:100%;line-height:1.18}
.mobile-stat-stack>span{display:block;width:100%;text-align:center;white-space:nowrap}
.read-only-review .check-row{cursor:default}
.check-readonly-group{display:flex;gap:8px;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.check-readonly-choice{display:grid;place-items:center;min-width:64px;min-height:42px;padding:7px 12px;border:2px solid var(--line);border-radius:999px;background:#f4f6f5;color:#6b7470;font-weight:900;box-shadow:none}
.check-readonly-choice.selected{border-color:#75a98a;background:#e9f5ee;color:#174e2e}
.read-only-review .signature-panel,.read-only-review .signature-box{pointer-events:none;-webkit-tap-highlight-color:transparent}
.review-error-target{position:relative;border-color:#c62828!important;box-shadow:0 0 0 4px rgba(198,40,40,.14)!important;animation:review-error-pulse .8s ease-out 2}
@keyframes review-error-pulse{0%,100%{box-shadow:0 0 0 4px rgba(198,40,40,.14)}50%{box-shadow:0 0 0 9px rgba(198,40,40,.06)}}
@media(max-width:700px){.check-readonly-group{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.check-readonly-choice{width:100%}}


/* v1.13.77 – Abstand vor Abschlusskontrolle und klarere PDF-Bildvorschau */
.review-page .mobile-report + .review-controls{margin-top:26px!important}
.review-inline-pdf-preview img,.final-pdf-preview img{image-rendering:auto}
@media(max-width:760px){
  .review-page .mobile-report + .review-controls{margin-top:20px!important}
}

/* v1.13.77 – öffentliche Unterschriften sichtbar, aber nicht lesbar. */
.public-pixelated-signature{
  image-rendering:pixelated!important;
  image-rendering:crisp-edges;
  width:min(100%,210px);
  max-height:76px!important;
  object-fit:contain;
}
.final-public-signatures{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.final-public-signatures>h3{margin:0 0 12px}
.final-public-signatures .signature-row{margin-top:0}
.public-signature-box{cursor:default!important;background:#f7f9f8;align-items:center}
.public-signature-empty{font-size:.86rem;color:var(--muted)}


/* v1.13.77 – Abschlussbericht: klare Ergebnis-Karten, HHEDL-Hinweis und stabile PDF-Vorschau */
.final-report-summary .mobile-final-score{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:8px!important}
.final-report-summary .mobile-final-score span{display:grid!important;place-items:center!important;gap:5px!important;min-height:76px!important;padding:12px 16px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#edf4f1!important;text-align:center!important}
.final-report-summary .mobile-final-score small{font-size:.72rem!important;font-weight:900!important;color:var(--muted)!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.final-report-summary .mobile-final-score b{display:block!important;margin:0!important;font-size:1.35rem!important;color:var(--primary)!important;line-height:1.1!important}
.hhedl-sync-confirmed{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;gap:4px 16px!important;padding:15px 17px!important}
.hhedl-sync-confirmed strong{display:block!important;font-size:1rem!important;line-height:1.25!important}
.hhedl-sync-confirmed span{display:block!important;line-height:1.45!important}
.hhedl-sync-confirmed span b{font-weight:900!important}
.final-hhedl-pdf-card{display:grid;gap:10px;padding:14px!important;margin-top:0}
.final-hhedl-pdf-card .review-inline-pdf-head{padding:0 2px}
.final-hhedl-pdf-card .final-pdf-preview{display:block!important;min-height:240px!important;overflow:hidden;border-radius:12px}
.final-hhedl-pdf-card .final-pdf-preview img{display:block!important;width:100%!important;height:auto!important;min-height:1px!important;border:0!important;border-radius:10px!important;background:#fff!important}
.closed-no-report{display:grid!important;gap:4px!important;margin-top:4px!important}
@media(max-width:760px){
  .final-report-summary .mobile-final-score{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .final-report-summary .mobile-final-score span{min-height:66px!important;padding:10px 8px!important}
  .hhedl-sync-confirmed{grid-template-columns:1fr!important;gap:5px!important}
  .final-hhedl-pdf-card{padding:10px!important}
}


/* v1.13.87 – Abschlusskontrolle: Ergebnis-Karten und zuverlässiges Leg-Blinken */
.review-page .review-score-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:8px!important}
.review-page .review-score-cards span{display:grid!important;place-items:center!important;gap:5px!important;min-height:76px!important;padding:12px 16px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#edf4f1!important;text-align:center!important}
.review-page .review-score-cards small{display:block!important;font-size:.72rem!important;font-weight:900!important;color:var(--muted)!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.review-page .review-score-cards b{display:block!important;margin:0!important;font-size:1.35rem!important;color:var(--primary)!important;line-height:1.1!important}
@media(max-width:760px){.review-page .review-score-cards{grid-template-columns:1fr 1fr!important;gap:8px!important}.review-page .review-score-cards span{min-height:66px!important;padding:10px 8px!important}}

/* v1.13.87 – parallele Einzel auf zwei Boards */
.board-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 8px;touch-action:pan-y}
.board-tab{min-width:0;min-height:48px;padding:7px 12px;border:1px solid var(--line);border-radius:12px;background:#f7f9fa;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
.board-tab span{font-weight:950;font-size:.92rem;line-height:1.05}.board-tab small{max-width:100%;font-size:.69rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-tab.active{background:var(--action,var(--brand));border-color:var(--action,var(--brand));color:var(--action-text,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--action,var(--brand)) 16%,transparent)}
.board-tab.active small{color:inherit;opacity:.9}
.board-tab.complete:not(.active){border-color:#9fc7b6;background:#f1f8f5}
.board-intro-running .board-tab.active{background:#fff1a8!important;border-color:#caa72d!important;color:#3f3300!important;box-shadow:0 0 0 4px rgba(233,185,73,.22)!important;animation:board-intro-pulse .7s ease-in-out infinite alternate}
.board-intro-running .board-tab.active small{color:#665300!important}
@keyframes board-intro-pulse{from{filter:brightness(1)}to{filter:brightness(.94)}}
.leg-entry-screen{touch-action:pan-y}
.game-scoreboard-open-lineup{position:relative;overflow:visible}
/* v1.13.87: exakt EIN Lichtkopf. Der Schweif wird auf einem Canvas gezeichnet und kann
   sich dadurch auf breiten Desktop-Kästen nicht mehr als wiederholtes Strichmuster kacheln. */
.scoreboard-route-beam{display:none;position:absolute;z-index:6;inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px);pointer-events:none;opacity:0}
.scoreboard-start-hint .scoreboard-route-beam{display:block;opacity:1}
.live-current.two-board{padding:8px;background:#edf4f1}
.live-board-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.live-board-row{display:grid;gap:3px;min-width:0;padding:9px;border:1px solid #cddbd5;border-radius:10px;background:#fff;text-align:center}
.live-board-row>strong{color:var(--brand-dark);font-size:.82rem}.live-board-row>span{font-size:.75rem;overflow-wrap:anywhere}.live-board-row>b{font-size:.78rem;color:var(--ink)}
.live-board-row.complete{background:#f2f7f5;opacity:.82}
@media(max-width:520px){.board-switcher{gap:5px;margin-bottom:5px}.board-tab{min-height:43px;padding:6px 7px}.board-tab span{font-size:.82rem}.board-tab small{font-size:.62rem}.live-board-stack{grid-template-columns:1fr}}

/* v1.13.87 – optionaler Zwei-Board-Modus für Liga 3/4, Freundschaft und Pokal */
.lineup-start-column{display:grid;gap:10px;justify-items:stretch;min-width:min(100%,390px)}
.two-board-start-option{display:grid;grid-template-columns:minmax(0,1fr) 58px auto;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#f7faf8;text-align:left}
.two-board-start-option>div{display:grid;gap:2px;min-width:0}
.two-board-start-option strong{font-size:.96rem}
.two-board-start-option small{color:var(--muted);line-height:1.3}
.two-board-start-option>b{min-width:28px;text-align:right;color:var(--muted)}
.two-board-start-option:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 8%,#fff)}
.two-board-start-option:has(input:checked)>b{color:var(--accent)}
@media(max-width:760px){.lineup-review-actions{align-items:stretch}.lineup-start-column{width:100%;min-width:0}.two-board-start-option{grid-template-columns:minmax(0,1fr) 58px auto}.lineup-start-column .btn{width:100%}}
/* v1.13.88 – Display-Wake-Lock in der laufenden Spieleingabe */
.screen-wake-control{display:flex;align-items:center;justify-content:flex-start;margin:14px 0 0}
.screen-wake-lock-button{display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;max-width:390px;width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-weight:850;text-align:left;cursor:pointer;box-shadow:0 2px 7px rgba(0,0,0,.05)}
.screen-wake-lock-button:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--line));background:color-mix(in srgb,var(--primary) 4%,#fff)}
.screen-wake-lock-button.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}
.screen-wake-lock-button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}
.screen-wake-lock-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--bg);font-size:1.1rem;line-height:1}
.screen-wake-lock-button.active .screen-wake-lock-icon{background:var(--primary);color:#fff}
.screen-wake-lock-label{min-width:0}
.screen-wake-lock-state{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:4px 7px;border-radius:999px;background:var(--bg);color:var(--muted);font-size:.72rem;font-weight:950;letter-spacing:.04em;white-space:nowrap}
.screen-wake-lock-button.active .screen-wake-lock-state{background:var(--primary);color:#fff}
.leg-secondary-content .screen-wake-control + .special-score-summary{margin-top:10px}
@media(max-width:650px){
  .leg-entry-screen .screen-wake-control{margin-top:8px!important}
  .leg-entry-screen .screen-wake-lock-button{max-width:none;min-height:42px;padding:6px 9px;border-radius:9px;gap:7px;font-size:.78rem}
  .leg-entry-screen .screen-wake-lock-icon{width:26px;height:26px;font-size:.95rem}
  .leg-entry-screen .screen-wake-lock-state{min-width:36px;padding:3px 6px;font-size:.65rem}
  .leg-entry-screen .screen-wake-control + .special-score-summary{margin-top:8px!important}
}

/* v1.13.91 – einmalige Match-Einführung: Wake-Lock kurz sichtbar AN/AUS hervorheben */
.screen-wake-lock-button.intro-preview-on{
  border-color:var(--primary)!important;
  background:color-mix(in srgb,var(--primary) 14%,#fff)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 22%,transparent),0 5px 16px rgba(0,0,0,.12)!important;
  transform:scale(1.018);
}
.screen-wake-lock-button.intro-preview-on .screen-wake-lock-icon,
.screen-wake-lock-button.intro-preview-on .screen-wake-lock-state{background:var(--primary)!important;color:#fff!important}
.screen-wake-lock-button{transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}


/* v1.13.92 – Gastaufstellung zurückholen */
.private-lineup-panel .locked-overlay .away-lineup-takeover{margin-top:12px;max-width:min(420px,92%);white-space:normal}


/* v1.13.95 – sichere Rücknahme des ersten Legs. */
.first-leg-rollback-action{display:grid;gap:6px;justify-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.first-leg-rollback-action .btn{width:min(420px,100%);min-height:48px}
.first-leg-rollback-action small{color:var(--muted);font-weight:700;text-align:center}
.btn.danger-outline{background:#fff;border-color:#b42318;color:#b42318}
.btn.danger-outline:hover{background:#fff2f0}

/* v1.13.95 – robuste mobile Unterschrift ohne Browser-Vollbild/Orientation-Lock. */
.signature-modal-head-actions{display:flex;align-items:center;gap:8px}
.signature-expand{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:10px;background:#eef2f4;color:var(--ink)}
.signature-expand svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.signature-expand[aria-pressed="true"]{background:#dfe7e3;border-color:#9eb4a9}

/* Fokusansicht wird manuell über das Symbol aktiviert. Auf einem gedrehten Handy
   wird dieselbe Ansicht automatisch verwendet. Kein requestFullscreen => kein Browser-Popup. */
.signature-backdrop.signature-focus,
.signature-backdrop.signature-landscape{padding:0;background:#eef2f4;align-items:stretch;justify-content:stretch;z-index:400}
.signature-backdrop.signature-focus .signature-modal,
.signature-backdrop.signature-landscape .signature-modal{
  width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;overflow:hidden;
  padding:max(7px,env(safe-area-inset-top)) max(9px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));
  display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);grid-template-rows:46px minmax(0,1fr) 54px;gap:7px 10px;
}
.signature-backdrop.signature-focus .signature-modal-head,
.signature-backdrop.signature-landscape .signature-modal-head{grid-column:1/-1;grid-row:1;min-width:0}
.signature-backdrop.signature-focus .signature-modal-head h2,
.signature-backdrop.signature-landscape .signature-modal-head h2{font-size:clamp(.92rem,2.2vw,1.22rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.signature-backdrop.signature-focus .signature-signer-field,
.signature-backdrop.signature-landscape .signature-signer-field{grid-column:1;grid-row:3;margin:0;min-width:0;align-self:stretch}
.signature-backdrop.signature-focus .signature-signer-field label,
.signature-backdrop.signature-landscape .signature-signer-field label{display:none}
.signature-backdrop.signature-focus .signature-signer-field select,
.signature-backdrop.signature-landscape .signature-signer-field select{height:54px;min-height:54px;padding-block:5px}
.signature-backdrop.signature-focus .signature-help,
.signature-backdrop.signature-landscape .signature-help{display:none}
.signature-backdrop.signature-focus .signature-canvas,
.signature-backdrop.signature-landscape .signature-canvas{
  grid-column:1/-1;grid-row:2;display:block;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
  box-sizing:border-box;border:2px solid #7c8d9b;border-radius:9px;background:#fff;touch-action:none;
}
.signature-backdrop.signature-focus .signature-modal-actions,
.signature-backdrop.signature-landscape .signature-modal-actions{
  grid-column:2;grid-row:3;display:flex;align-items:stretch;justify-content:flex-end;gap:7px;padding:0;min-width:0;
}
.signature-backdrop.signature-focus .signature-modal-actions .btn,
.signature-backdrop.signature-landscape .signature-modal-actions .btn{width:auto;min-width:0;min-height:54px;padding:8px 14px}
.signature-backdrop.signature-focus .signature-modal-actions #saveSignature,
.signature-backdrop.signature-landscape .signature-modal-actions #saveSignature{order:3;margin-left:auto;min-width:120px}
.signature-backdrop.signature-focus .signature-modal-actions #clearSignature,
.signature-backdrop.signature-landscape .signature-modal-actions #clearSignature{order:1}
.signature-backdrop.signature-focus .signature-modal-actions #cancelSignature,
.signature-backdrop.signature-landscape .signature-modal-actions #cancelSignature{order:2}

@media(max-width:620px) and (orientation:portrait){
  .signature-expand{width:42px;height:42px;min-width:42px;min-height:42px}
  .signature-backdrop.signature-focus .signature-modal{grid-template-columns:1fr;grid-template-rows:44px 50px minmax(0,1fr) 52px;padding:7px;gap:6px}
  .signature-backdrop.signature-focus .signature-modal-head{grid-column:1;grid-row:1}
  .signature-backdrop.signature-focus .signature-signer-field{grid-column:1;grid-row:2}
  .signature-backdrop.signature-focus .signature-signer-field select{height:50px;min-height:50px}
  .signature-backdrop.signature-focus .signature-canvas{grid-column:1;grid-row:3}
  .signature-backdrop.signature-focus .signature-modal-actions{grid-column:1;grid-row:4}
  .signature-backdrop.signature-focus .signature-modal-actions .btn{min-height:52px;padding-inline:9px;font-size:.88rem}
  .signature-backdrop.signature-focus .signature-modal-actions #saveSignature{min-width:92px}
}

/* Suite 1.15.00 – additive App-/Store-Seiten. Bestehende Spielberichtsstile bleiben unverändert. */
.legal-page{max-width:1040px;margin:0 auto}.legal-page .card{margin-bottom:16px}.legal-page h1{margin-top:0}.legal-page h2{margin-top:28px}.legal-page p,.legal-page li{line-height:1.65}.legal-page ul{padding-left:1.3rem}.support-contact{font-size:1.15rem;font-weight:800}.app-public-links{padding-top:0}.app-public-home-card{display:grid;gap:18px}.app-link-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:800;color:var(--muted);margin:0 0 4px}.player-wanted-list{display:grid;gap:14px}.player-wanted-card h2,.player-wanted-card h3{margin-top:0}.app-contact-grid{display:flex;flex-wrap:wrap;gap:12px 18px;margin:14px 0}.app-delete-form{display:grid;gap:12px;max-width:720px}.app-delete-form textarea{resize:vertical}.confirm-row{display:flex;gap:10px;align-items:flex-start}.notice{padding:12px;border-radius:10px;background:var(--surface,#fff);border:1px solid var(--border,#ddd)}.notice:empty{display:none}.notice.ok{border-color:#39845c}.notice.error{border-color:#b33;color:#b33}.hidden{display:none!important}
@media (min-width:760px){.app-public-home-card{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:center}.app-link-grid{justify-content:flex-start}}

/* Native-App administration additions (Suite 1.15.00). */
.app-team-subscriptions{display:grid;gap:.55rem;max-height:320px;overflow:auto;padding:.75rem;border:1px solid var(--border,#d7e0e8);border-radius:12px;background:var(--surface,#fff)}
.app-team-subscriptions label{display:flex;gap:.55rem;align-items:flex-start}
.app-team-subscriptions small{color:var(--muted,#617181)}

.scoreboard .first-leg-score{display:block;font-size:.34em;font-weight:500;line-height:1.35;white-space:nowrap;margin-bottom:.2em;}

.lineup-individual-points{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-top:3px}
@media(prefers-reduced-motion:reduce){.leg-win.leg-choice-prompt{animation:none!important;background:#ffdd32;color:#211b00;border-color:#aa8b00}}
