:root {
  --bg: #f2f5f8;
  --card: #ffffff;
  --ink: #17212b;
  --muted: #617181;
  --line: #d7e0e8;
  --brand: #1e6f52;
  --brand-dark: #124c38;
  --accent: #e9b949;
  --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(--brand); color: #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: 88px; max-width: 100%; }
.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-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(--surface-2)}
.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) 90px minmax(0,1fr); gap: 12px; 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(--text); }
.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-center { display: flex; flex-direction: column; justify-content: center; align-items: center; border-left: 1px solid var(--line); border-right: 1px solid var(--line); text-align: center; }
.leg-center span { color: var(--muted); font-weight: 800; }
.leg-center strong { font-size: 26px; margin-top: 5px; }
.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) 70px 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-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-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:#8a5a00;font-weight:850}
.provisional-result{display:inline-block;margin-left:5px}
.pending-note{display:block;color:#8a5a00;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-nav{position:static;display:flex;overflow-x:auto;padding:8px;border-bottom:1px solid var(--line);background:var(--surface)}.grouped-nav section{display:flex;gap:6px;flex:none}.grouped-nav h3{display:none}.admin-nav button{white-space:nowrap}.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 – Steeldart-Erfassung und Turniermodus */
.eyebrow{display:inline-flex;font-size:.74rem;font-weight:950;letter-spacing:.11em;color:var(--brand);text-transform:uppercase}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2,.dart-entry-title h2,.dart-match-head h2,.dart-tournament-head h2{margin:4px 0 5px}.section-heading p,.dart-match-head p,.dart-tournament-head p{margin:0;color:var(--muted)}
.dart-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(135deg,#fff 30%,#e8f4ef)}.dart-hero h2{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:7px 0 12px;max-width:850px}.dart-hero p{font-size:clamp(1rem,2vw,1.2rem);max-width:800px;color:var(--muted)}.dart-hero-actions{display:grid;gap:12px;min-width:210px}.dart-start-form{display:grid;gap:18px}.dart-settings-panel{display:grid;gap:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fbfa}.switch-line{display:flex;align-items:center;justify-content:space-between;gap:18px}.switch-line>span:first-child{display:grid;gap:4px}.switch-line small{color:var(--muted)}.segmented{display:grid;grid-template-columns:auto 1fr auto 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented i{font-style:normal;font-weight:850;padding:10px 12px;cursor:pointer}.segmented input:checked+i{background:var(--brand);color:#fff}.segmented input:disabled+i{opacity:.45;cursor:not-allowed}.muted-control{opacity:.55}.dart-start-button{min-width:240px}
.dart-tournament-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}.dart-tournament-card{display:grid;gap:11px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);text-decoration:none;transition:.18s transform,.18s box-shadow}.dart-tournament-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.dart-tournament-card>div:first-child{display:flex;justify-content:space-between;gap:9px;align-items:center}.dart-tournament-card h3{margin:0;font-size:1.22rem}.dart-tournament-card p{margin:0;color:var(--muted)}.dart-type{font-size:.78rem;font-weight:850;color:var(--muted);text-align:right}
.dart-match-head,.dart-tournament-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dart-match-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px}.mini-switch{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:#fff}.mini-switch input{position:absolute;opacity:0}.mini-switch span{width:42px;height:24px;border-radius:999px;background:#aebac4;position:relative}.mini-switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.18s}.mini-switch input:checked+span{background:var(--brand)}.mini-switch input:checked+span:after{transform:translateX(18px)}.mini-switch input:disabled+span{opacity:.45}.dart-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:18px 0}.dart-player-score{position:relative;overflow:hidden;background:#fff;border:2px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.dart-player-score.active{border-color:var(--accent);box-shadow:0 0 0 5px rgba(233,185,73,.2),var(--shadow)}.dart-player-score.active:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:var(--accent)}.dart-player-score.finished{border-color:#58a879;background:#f0faf4}.dart-player-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.dart-player-head>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7edf1;font-weight:900}.dart-player-head h3{margin:0;overflow-wrap:anywhere}.dart-player-head>b{font-size:.7rem;padding:6px 8px;border-radius:999px;background:var(--accent);color:#3f3000}.dart-main-score{display:flex;flex-direction:column;align-items:center;padding:16px 0}.dart-main-score strong{font-size:clamp(3.2rem,9vw,6rem);line-height:.95;color:var(--brand-dark)}.dart-main-score small{margin-top:5px;font-weight:850;color:var(--muted);text-transform:uppercase}.dart-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dart-mini-stats span{display:grid;text-align:center;padding:8px;border-radius:9px;background:#f2f5f8;font-size:.78rem;color:var(--muted)}.dart-mini-stats b{font-size:1rem;color:var(--ink)}
.dart-entry{margin-top:18px}.dart-entry-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.dart-current-darts{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.dart-current-darts span{padding:8px 11px;border-radius:999px;background:#edf4f1;font-weight:850}.dart-entry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.34fr);gap:18px}.dart-multipliers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dart-multipliers button,.dart-special-panel>button:not(.btn){border:1px solid var(--line);border-radius:12px;min-height:58px;font-weight:950;background:#eef2f5}.dart-multipliers button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.dart-number-display{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:12px 0;padding:11px 15px;border-radius:14px;background:#102f25;color:#fff}.dart-number-display span{font-weight:800}.dart-number-display strong{font-size:3rem;line-height:1}.dart-number-display small{text-align:right;color:rgba(255,255,255,.7);font-weight:800}.dart-number-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dart-number-pad button{min-height:64px;border:0;border-radius:12px;background:#e6edf2;font-size:1.45rem;font-weight:950}.dart-number-pad button:active{transform:scale(.97)}.dart-special-panel{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-content:start}.dart-special-panel>button:nth-child(3){grid-column:1/-1}.dart-special-panel .btn{grid-column:1/-1;min-height:58px}.dart-special-panel>button[data-special="25"]{background:#fde7d9;border-color:#efb896}.dart-submit-visit,.dart-submit-total{font-size:1.08rem}.dart-total-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(280px,1fr);gap:18px}.dart-total-display{display:grid;place-items:center;align-content:center;border-radius:18px;background:linear-gradient(145deg,var(--brand-dark),var(--brand));color:#fff;min-height:280px}.dart-total-display span{font-weight:850;color:rgba(255,255,255,.78)}.dart-total-display strong{font-size:clamp(5rem,15vw,9rem);line-height:1}.total-pad{align-content:start}.checkout-toggle{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:13px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.checkout-toggle input{width:24px;min-height:24px;grid-row:1/3}.checkout-toggle span{font-weight:900}.checkout-toggle small{color:var(--muted)}.checkout-toggle.active{border-color:var(--brand);background:#edf8f3}.dart-submit-total{min-height:64px}
.dart-history{display:grid;gap:7px}.dart-history article{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(110px,.3fr);gap:12px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:11px}.dart-history article strong{font-size:1.22rem}.dart-history article small{text-align:right;color:var(--muted)}.cricket-table{display:grid;min-width:720px}.cricket-row{display:grid;grid-template-columns:minmax(170px,1.6fr) repeat(7,minmax(52px,.45fr)) minmax(80px,.6fr);align-items:center;border-bottom:1px solid var(--line)}.cricket-row>*{padding:10px;text-align:center}.cricket-row>*:first-child{text-align:left}.cricket-row.header{background:#eef3f5;border-radius:10px 10px 0 0}.dart-winner-summary{text-align:center}.dart-winner-summary h2{font-size:clamp(2.4rem,7vw,5rem);margin:2px}.podium-list{display:grid;gap:8px;max-width:620px;margin:20px auto}.podium-list>div{display:grid;grid-template-columns:45px 1fr auto;gap:12px;padding:12px;border-radius:12px;background:#f2f5f8;text-align:left}.podium-list b{font-size:1.3rem}.dart-winner-summary .actions{justify-content:center}.flying-dart.static{font-size:5rem;color:var(--brand)}
.dart-win-overlay{position:fixed;inset:0;z-index:900;display:none;place-items:center;padding:20px;background:rgba(5,17,13,.86);backdrop-filter:blur(12px)}.dart-win-overlay.open{display:grid}.dart-win-card{width:min(560px,100%);display:grid;place-items:center;gap:12px;padding:34px;border-radius:24px;background:#fff;text-align:center;overflow:hidden}.dart-win-card strong{font-size:clamp(5rem,18vw,10rem);line-height:.8;color:var(--brand)}.dart-win-card span{font-size:clamp(1.6rem,5vw,3rem);font-weight:950}.flying-dart{font-size:7rem;line-height:1;animation:dart-fly 1.1s cubic-bezier(.2,.9,.2,1)}@keyframes dart-fly{0%{transform:translate(-150vw,80px) rotate(-25deg)}70%{transform:translate(20px,-5px) rotate(5deg)}100%{transform:translate(0) rotate(0)}}
.tournament-kpis,.master-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tournament-kpis span,.master-kpis article{display:grid;text-align:center;padding:11px 14px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.12)}.tournament-kpis b,.master-kpis strong{font-size:1.65rem}.tab-strip{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:-4px 0 18px;overflow-x:auto}.tab-strip button{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 16px;font-weight:900;white-space:nowrap}.tab-strip button.active{color:var(--brand);border-color:var(--brand)}.dart-match-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:14px;margin-top:16px}.dart-match-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:15px;padding:15px}.dart-match-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:.84rem}.dart-competitors{display:grid;gap:6px}.dart-competitors>div{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:9px;padding:10px;border-radius:10px;background:#f3f6f8}.dart-competitors b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dfe7ec}.submitted-result{display:flex;flex-wrap:wrap;gap:7px}.submitted-result span{padding:7px 9px;border-radius:999px;background:#e8f5ed;font-weight:800}.placement-fields{display:grid;gap:10px}.dart-code-card input{font-size:2.4rem;letter-spacing:.28em;text-align:center}.dart-standings-wrap{max-height:70vh;overflow:auto}.dart-standings thead{position:sticky;top:0;z-index:2}
.master-selector{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px}.master-kpis{margin:18px 0}.master-kpis article{background:#fff;border-color:var(--line)}.master-kpis span{color:var(--muted);font-weight:800}.round-adjust{display:flex;align-items:end;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.round-adjust .field{width:min(300px,100%)}.master-match-table small{display:block;margin-top:5px}.code-chip{border:0;border-radius:8px;padding:7px 9px;background:#162d25;color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:900;letter-spacing:.08em}.csv-import{display:grid;gap:14px}.csv-import textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.modal-backdrop.open{display:flex}
@media(max-width:900px){.dart-hero,.dart-match-head,.dart-tournament-head{align-items:stretch;flex-direction:column}.dart-hero-actions{grid-template-columns:1fr 1fr;min-width:0}.dart-match-actions{justify-content:flex-start}.dart-entry-layout,.dart-total-layout{grid-template-columns:1fr}.dart-total-display{min-height:190px}.tournament-kpis,.master-kpis{grid-template-columns:repeat(2,1fr)}.master-selector{grid-template-columns:1fr}.round-adjust{align-items:stretch;flex-direction:column}.round-adjust .field{width:100%}}
@media(max-width:680px){.dart-nav{overflow-x:auto;max-width:100%}.dart-nav .btn{white-space:nowrap}.section-heading,.dart-entry-title,.switch-line{align-items:stretch;flex-direction:column}.dart-hero-actions{grid-template-columns:1fr}.grid.two,.grid.three{grid-template-columns:1fr}.dart-score-grid{grid-template-columns:1fr}.dart-main-score strong{font-size:5.6rem}.dart-entry{padding:13px}.dart-entry-layout{gap:12px}.dart-number-pad button{min-height:58px}.dart-number-display{grid-template-columns:1fr auto}.dart-number-display small{grid-column:1/-1;text-align:center}.dart-special-panel{grid-template-columns:1fr}.dart-special-panel>button,.dart-special-panel .btn{grid-column:1!important}.dart-history article{grid-template-columns:1fr auto}.dart-history article small{grid-column:1/-1;text-align:left}.tournament-kpis,.master-kpis{grid-template-columns:1fr 1fr}.dart-match-meta{align-items:flex-start;flex-wrap:wrap}.master-kpis{gap:8px}.podium-list>div{grid-template-columns:40px 1fr}.podium-list strong{grid-column:2}.topbar .dart-nav{justify-content:flex-start}.dart-win-card{padding:24px 14px}.dart-win-card strong{font-size:6rem}}
.logo-admin{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}.logo-admin .brand-logo{width:min(240px,50vw);height:90px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:16px;padding:.75rem}.offline-banner{display:none}
@media(max-width:720px){.logo-admin{align-items:flex-start}.logo-admin .brand-logo{width:100%;max-width:260px}.dart-nav{overflow-x:auto;max-width:100%;padding-bottom:.25rem}.dart-nav .btn{white-space:nowrap}}

/* Start- und Secret-Wiederherstellung (seit v1.0.3) */
.master-login-grid{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px;margin-bottom:20px}
.master-choice-grid{margin-top:18px}
.master-choice-card{width:100%;text-align:left;font:inherit;cursor:pointer}
.master-pin-card{width:min(520px,100%)}
.master-pin-input{font-size:clamp(2rem,8vw,3.4rem)!important;letter-spacing:.34em;text-align:center;font-weight:950;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;padding-left:.34em!important}
.master-pin-result{text-align:center}
.master-pin-result p{max-width:560px;margin-left:auto;margin-right:auto}
.pin-warning{margin:0 0 20px;padding:10px 13px;border-radius:10px;background:#fff4d6;color:#6d4f00;font-weight:800}
.actions.center{justify-content:center}
.tournament-create-modal p{color:var(--muted)}
@media(max-width:680px){.master-login-grid{grid-template-columns:1fr}.master-pin-result .actions{flex-direction:column}.master-pin-result .actions .btn{width:100%}}

/* v1.0.4 · große Spielcode-Eingabe und interne Ergebnisrückgabe */
.screen-code-card,.screen-code-modal{width:min(620px,100%);margin-inline:auto;text-align:center}
.screen-code-card>p,.screen-code-modal>p{color:var(--muted);max-width:520px;margin-inline:auto}
.screen-code-entry{display:grid;gap:16px;margin:20px auto;width:min(520px,100%)}
.screen-code-display{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.screen-code-display span{display:grid;place-items:center;min-height:clamp(58px,10vw,82px);border:2px solid var(--line);border-radius:13px;background:#f4f7f8;color:#9aa7ae;font-size:clamp(2rem,8vw,4.2rem);font-weight:1000;line-height:1;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.screen-code-display span.filled{border-color:var(--brand);background:#edf8f3;color:var(--brand-dark);box-shadow:0 0 0 3px rgba(30,111,82,.09)}
.screen-number-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.screen-number-pad button{min-height:clamp(62px,11vw,88px);border:1px solid var(--line);border-radius:15px;background:#e9eff2;color:var(--ink);font-size:clamp(1.55rem,5vw,2.5rem);font-weight:1000;touch-action:manipulation}
.screen-number-pad button:active{transform:scale(.97);background:#dbe6ea}
.screen-number-pad button[data-code-key="C"]{background:#fff2e5;color:#7c3e00}
.screen-number-pad button[data-code-key="←"]{background:#fbe8e8;color:#8e2424}
.screen-code-actions{justify-content:center;margin-top:4px}
.screen-code-actions .btn{min-width:150px;min-height:52px}
.screen-code-error{padding:10px 12px;margin:12px auto 0;border-radius:10px;background:#fff0f0;max-width:520px;font-weight:800}
.reject-match-modal p{color:var(--muted)}
.reject-match-modal textarea{font-size:1.05rem;min-height:120px}
@media(max-width:560px){.screen-code-card,.screen-code-modal{padding:14px}.screen-code-display{gap:5px}.screen-code-display span{border-radius:10px}.screen-number-pad{gap:7px}.screen-code-actions{display:grid;grid-template-columns:1fr}.screen-code-actions .btn{width:100%}}

/* v1.0.5 · bildschirmfüllende Steeldart-Spielerfassung */
body.dart-game-page { overscroll-behavior-y: contain; }
body.dart-game-page:not(.game-scroll-enabled) {
  min-height: calc(100dvh + 2px);
  overflow-y: auto;
}
body.dart-game-page:not(.game-scroll-enabled) .shell {
  height: calc(100dvh - 68px);
  overflow: hidden;
  padding: 8px;
}
.dart-game-shell { width: 100%; max-width: 1600px; }
.dart-live-game { width: 100%; }
.dart-live-game.fit-screen {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 7px;
}
.dart-live-game.fit-screen > .card,
.dart-live-game.fit-screen .card + .card { margin: 0; }
.dart-live-game.fit-screen .dart-match-head {
  position: relative;
  z-index: 8;
  min-height: 0;
  padding: 7px 10px;
  border-radius: 13px;
  gap: 10px;
  box-shadow: 0 5px 18px rgba(25,48,64,.09);
}
.dart-match-ident { min-width: 130px; }
.dart-live-game.fit-screen .dart-match-ident h2 { margin: 0; font-size: clamp(.95rem, 1.5vw, 1.25rem); line-height: 1.1; }
.dart-live-game.fit-screen .dart-match-ident p { margin: 2px 0 0; font-size: .72rem; color: var(--muted); }
.dart-live-game.fit-screen .dart-match-ident .eyebrow { font-size: .62rem; }
.dart-live-game.fit-screen .dart-match-actions { gap: 5px; flex-wrap: nowrap; }
.dart-live-game.fit-screen .mini-switch {
  min-height: 38px;
  padding: 5px 7px;
  gap: 6px;
  border-radius: 9px;
  white-space: nowrap;
}
.dart-live-game.fit-screen .mini-switch span { width: 34px; height: 20px; flex: 0 0 auto; }
.dart-live-game.fit-screen .mini-switch span:after { width: 14px; height: 14px; }
.dart-live-game.fit-screen .mini-switch input:checked + span:after { transform: translateX(14px); }
.dart-live-game.fit-screen .mini-switch b { font-size: .72rem; }
.dart-live-game.fit-screen .mini-switch.primary-mode { border-color: rgba(30,111,82,.45); background: #edf8f3; }
.dart-live-game.fit-screen .compact-action { min-height: 38px; padding: 6px 9px; border-radius: 9px; font-size: .78rem; white-space: nowrap; }

.dart-live-game.fit-screen .dart-score-grid {
  min-height: 0;
  max-height: clamp(92px, 18dvh, 160px);
  margin: 0;
  gap: 7px;
  grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
  overflow: hidden;
}
.dart-live-game.fit-screen .dart-player-score {
  min-width: 0;
  padding: 7px 9px;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(25,48,64,.08);
}
.dart-live-game.fit-screen .dart-player-score.active { box-shadow: 0 0 0 3px rgba(233,185,73,.23),0 4px 14px rgba(25,48,64,.08); }
.dart-live-game.fit-screen .dart-player-score.active:before { width: 4px; }
.dart-live-game.fit-screen .dart-player-head { gap: 5px; }
.dart-live-game.fit-screen .dart-player-head > span { width: 25px; height: 25px; font-size: .72rem; }
.dart-live-game.fit-screen .dart-player-head h3 { font-size: clamp(.78rem, 1.8vw, 1.05rem); line-height: 1.05; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dart-live-game.fit-screen .dart-player-head > b { padding: 3px 5px; font-size: .56rem; }
.dart-live-game.fit-screen .dart-main-score { padding: 3px 0; }
.dart-live-game.fit-screen .dart-main-score strong { font-size: clamp(2rem, 7dvh, 4.2rem); }
.dart-live-game.fit-screen .dart-main-score small { margin-top: 1px; font-size: .58rem; }
.dart-live-game.fit-screen .dart-mini-stats { gap: 3px; }
.dart-live-game.fit-screen .dart-mini-stats span { padding: 3px; font-size: .58rem; border-radius: 6px; }
.dart-live-game.fit-screen .dart-mini-stats b { font-size: .72rem; }

.dart-live-game.fit-screen .dart-entry {
  min-height: 0;
  height: 100%;
  margin: 0;
  padding: 8px;
  border-radius: 13px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.dart-live-game.fit-screen .dart-entry-title {
  min-height: 0;
  margin: 0 0 5px;
  align-items: center;
  gap: 8px;
}
.dart-live-game.fit-screen .dart-entry-title h2 { margin: 0; font-size: clamp(.9rem, 2dvh, 1.25rem); line-height: 1.05; }
.dart-live-game.fit-screen .dart-entry-title .eyebrow { font-size: .58rem; }
.dart-live-game.fit-screen .dart-current-darts { gap: 4px; flex-wrap: nowrap; }
.dart-live-game.fit-screen .dart-current-darts span { padding: 4px 7px; font-size: .68rem; white-space: nowrap; }
.dart-live-game.fit-screen .dart-entry-layout {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .32fr);
  gap: 7px;
}
.dart-live-game.fit-screen .dart-main-keypad {
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 5px;
}
.dart-live-game.fit-screen .dart-multipliers { gap: 5px; }
.dart-live-game.fit-screen .dart-multipliers button,
.dart-live-game.fit-screen .dart-special-panel > button:not(.btn) {
  min-height: clamp(34px, 6dvh, 52px);
  padding: 4px 6px;
  border-radius: 9px;
  font-size: clamp(.72rem, 1.7dvh, .95rem);
}
.dart-live-game.fit-screen .dart-number-display {
  min-height: clamp(40px, 7dvh, 58px);
  margin: 0;
  padding: 4px 9px;
  border-radius: 10px;
}
.dart-live-game.fit-screen .dart-number-display strong { font-size: clamp(1.9rem, 5dvh, 3rem); }
.dart-live-game.fit-screen .dart-number-display span,
.dart-live-game.fit-screen .dart-number-display small { font-size: .67rem; }
.dart-live-game.fit-screen .dart-number-pad {
  min-height: 0;
  height: 100%;
  gap: 5px;
  grid-template-rows: repeat(4, minmax(0, 1fr));
}
.dart-live-game.fit-screen .dart-number-pad button {
  min-height: 0;
  height: 100%;
  padding: 2px;
  border-radius: 9px;
  font-size: clamp(1rem, 3.3dvh, 1.75rem);
  touch-action: manipulation;
}
.dart-live-game.fit-screen .dart-special-panel {
  min-height: 0;
  height: 100%;
  grid-template-columns: repeat(2, minmax(0,1fr));
  grid-template-rows: repeat(4, minmax(0,1fr));
  gap: 5px;
}
.dart-live-game.fit-screen .dart-special-panel > button:nth-child(3) { grid-column: 1 / -1; }
.dart-live-game.fit-screen .dart-special-panel .btn {
  min-height: 0;
  height: 100%;
  padding: 4px 6px;
  grid-column: 1 / -1;
  border-radius: 9px;
  font-size: clamp(.68rem, 1.7dvh, .9rem);
}
body.visit-saving .dart-entry button { pointer-events: none; opacity: .72; }

.dart-live-game.fit-screen .dart-total-layout {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  grid-template-columns: minmax(150px,.48fr) minmax(0,1fr);
  grid-template-rows: minmax(0,1fr) auto auto;
  gap: 6px;
}
.dart-live-game.fit-screen .dart-total-display {
  grid-row: 1 / 4;
  min-height: 0;
  border-radius: 12px;
}
.dart-live-game.fit-screen .dart-total-display span { font-size: .72rem; text-align: center; }
.dart-live-game.fit-screen .dart-total-display strong { font-size: clamp(3.5rem, 14dvh, 8rem); }
.dart-live-game.fit-screen .total-pad { min-height: 0; height: 100%; }
.dart-live-game.fit-screen .checkout-toggle { padding: 6px 8px; gap: 1px 7px; border-radius: 9px; }
.dart-live-game.fit-screen .checkout-toggle input { width: 20px; min-height: 20px; }
.dart-live-game.fit-screen .checkout-toggle span { font-size: .75rem; }
.dart-live-game.fit-screen .checkout-toggle small { font-size: .62rem; }
.dart-live-game.fit-screen .dart-submit-total { min-height: 38px; padding: 6px; }

.dart-live-game.allow-scroll { padding-bottom: max(18px, env(safe-area-inset-bottom)); }
.dart-live-game.allow-scroll .dart-match-head {
  position: sticky;
  top: 68px;
  z-index: 20;
}
.dart-extra-content { margin-top: 18px; }
.dart-live-game.finished .dart-winner-summary { margin-top: 7px; }

@media (max-width: 1024px) {
  body.dart-game-page .topbar { display: none; }
  body.dart-game-page:not(.game-scroll-enabled) .shell { height: 100dvh; padding: max(4px, env(safe-area-inset-top)) 4px max(4px, env(safe-area-inset-bottom)); }
  body.dart-game-page.game-scroll-enabled .shell { padding-top: max(7px, env(safe-area-inset-top)); }
  .dart-live-game.allow-scroll .dart-match-head { top: 0; }
  .dart-live-game.fit-screen .dart-match-head { flex-direction: column; align-items: stretch; padding: 5px 6px; gap: 4px; }
  .dart-live-game.fit-screen .dart-match-ident { display: flex; align-items: center; gap: 7px; min-width: 0; }
  .dart-live-game.fit-screen .dart-match-ident h2 { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .dart-live-game.fit-screen .dart-match-ident p { white-space: nowrap; }
  .dart-live-game.fit-screen .dart-match-ident .eyebrow { display: none; }
  .dart-live-game.fit-screen .dart-match-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) repeat(2,auto); width: 100%; }
  .dart-live-game.fit-screen .mini-switch { justify-content: center; min-width: 0; }
  .dart-live-game.fit-screen .compact-action span { display: none; }
  .dart-live-game.fit-screen .compact-action { min-width: 38px; font-size: 1rem; }
}

@media (max-width: 680px) {
  .dart-live-game.fit-screen { gap: 4px; }
  .dart-live-game.fit-screen .dart-match-ident p { font-size: .62rem; }
  .dart-live-game.fit-screen .dart-match-actions { gap: 3px; }
  .dart-live-game.fit-screen .mini-switch { min-height: 32px; padding: 3px 4px; gap: 3px; }
  .dart-live-game.fit-screen .mini-switch span { width: 29px; height: 17px; }
  .dart-live-game.fit-screen .mini-switch span:after { width: 11px; height: 11px; }
  .dart-live-game.fit-screen .mini-switch input:checked + span:after { transform: translateX(12px); }
  .dart-live-game.fit-screen .mini-switch b { font-size: .62rem; overflow: hidden; text-overflow: ellipsis; }
  .dart-live-game.fit-screen .auto-mode b,
  .dart-live-game.fit-screen .scroll-mode b { font-size: 0; }
  .dart-live-game.fit-screen .auto-mode b:after { content: "Auto"; font-size: .62rem; }
  .dart-live-game.fit-screen .scroll-mode b:after { content: "Mehr"; font-size: .62rem; }
  .dart-live-game.fit-screen .compact-action { min-height: 32px; min-width: 32px; padding: 2px 5px; }
  .dart-live-game.fit-screen .dart-score-grid { grid-template-columns: repeat(auto-fit,minmax(105px,1fr)); gap: 4px; max-height: clamp(80px,16dvh,128px); }
  .dart-live-game.fit-screen .dart-player-score { padding: 4px 6px; }
  .dart-live-game.fit-screen .dart-player-head > span { width: 20px; height: 20px; }
  .dart-live-game.fit-screen .dart-player-head > b { display: none; }
  .dart-live-game.fit-screen .dart-main-score strong { font-size: clamp(1.8rem,6.5dvh,3.4rem); }
  .dart-live-game.fit-screen .dart-mini-stats span { padding: 2px; }
  .dart-live-game.fit-screen .dart-entry { padding: 5px; }
  .dart-live-game.fit-screen .dart-entry-title { flex-direction: row; margin-bottom: 3px; }
  .dart-live-game.fit-screen .dart-entry-title h2 { font-size: clamp(.76rem,1.8dvh,1rem); }
  .dart-live-game.fit-screen .dart-entry-title .eyebrow { display: none; }
  .dart-live-game.fit-screen .dart-current-darts span { padding: 3px 4px; font-size: .59rem; }
  .dart-live-game.fit-screen .dart-entry-layout { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) auto; gap: 4px; }
  .dart-live-game.fit-screen .dart-main-keypad { gap: 3px; }
  .dart-live-game.fit-screen .dart-multipliers { gap: 3px; }
  .dart-live-game.fit-screen .dart-multipliers button { min-height: clamp(29px,4.5dvh,38px); }
  .dart-live-game.fit-screen .dart-number-display { min-height: clamp(34px,5.3dvh,45px); }
  .dart-live-game.fit-screen .dart-number-pad { gap: 3px; }
  .dart-live-game.fit-screen .dart-number-pad button { font-size: clamp(.95rem,2.8dvh,1.4rem); }
  .dart-live-game.fit-screen .dart-special-panel {
    height: auto;
    grid-template-columns: repeat(5,minmax(0,1fr));
    grid-template-rows: minmax(32px,auto);
    gap: 3px;
  }
  .dart-live-game.fit-screen .dart-special-panel > button,
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(3),
  .dart-live-game.fit-screen .dart-special-panel .btn { grid-column: auto !important; min-height: 32px; height: auto; padding: 3px 2px; font-size: clamp(.54rem,1.45dvh,.7rem); }
  .dart-live-game.fit-screen .dart-total-layout { grid-template-columns: minmax(90px,.34fr) minmax(0,1fr); gap: 4px; }
  .dart-live-game.fit-screen .dart-total-display strong { font-size: clamp(3rem,11dvh,5.5rem); }
  .dart-live-game.fit-screen .checkout-toggle small { display: none; }
}

@media (max-height: 620px) and (orientation: landscape) {
  .dart-live-game.fit-screen .dart-score-grid { max-height: 88px; grid-template-columns: repeat(auto-fit,minmax(110px,1fr)); }
  .dart-live-game.fit-screen .dart-main-score strong { font-size: 2.25rem; }
  .dart-live-game.fit-screen .dart-mini-stats { display: none; }
  .dart-live-game.fit-screen .dart-entry-title { display: none; }
  .dart-live-game.fit-screen .dart-entry-layout { grid-template-columns: minmax(0,1fr) minmax(220px,.38fr); grid-template-rows: minmax(0,1fr); }
  .dart-live-game.fit-screen .dart-special-panel { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(4,minmax(0,1fr)); height: 100%; }
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(3),
  .dart-live-game.fit-screen .dart-special-panel .btn { grid-column: 1 / -1 !important; height: 100%; }
}

/* v1.0.5 mobile Feinschliff: kurze Beschriftungen und zweizeilige Sondertasten */
@media (max-width: 680px) {
  .dart-live-game.fit-screen .primary-mode b { font-size: 0; }
  .dart-live-game.fit-screen .primary-mode input:not(:checked) ~ b:after { content: "Pfeile"; font-size: .62rem; }
  .dart-live-game.fit-screen .primary-mode input:checked ~ b:after { content: "Gesamt"; font-size: .62rem; }
  .dart-live-game.fit-screen .dart-special-panel {
    grid-template-columns: repeat(6,minmax(0,1fr));
    grid-template-rows: repeat(2,minmax(31px,auto));
  }
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(1),
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(2),
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(3) { grid-column: span 2 !important; }
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(4),
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(5) { grid-column: span 3 !important; }
  .dart-live-game.fit-screen .dart-special-panel .btn { font-size: .67rem; }
}
@media (max-height: 620px) and (orientation: landscape) {
  .dart-live-game.fit-screen .dart-special-panel { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(4,minmax(0,1fr)); }
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(1),
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(2) { grid-column: span 1 !important; }
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(3),
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(4),
  .dart-live-game.fit-screen .dart-special-panel > button:nth-child(5) { grid-column: 1 / -1 !important; }
}

/* v1.0.6 · direkte Dartboard-Felder, Checkout und offene Spiele */
.open-games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.open-game-item{display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(25,48,64,.07)}
.open-game-item>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.open-game-item h3,.open-game-item p{margin:0}.open-game-item p{color:var(--muted);font-size:.9rem}.open-game-score{display:grid;place-items:center;min-height:58px;border-radius:12px;background:#102f25;color:#fff;font-size:clamp(1.45rem,5vw,2.2rem);font-weight:1000;letter-spacing:.04em}
.dartboard-field-picker{min-height:0;display:grid;grid-template-rows:auto minmax(0,1.35fr) minmax(0,.9fr);gap:6px;padding:6px;border-radius:13px;background:radial-gradient(circle at 50% 45%,#fff 0,#f0f4f5 72%);border:1px solid var(--line)}
.dartboard-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 3px}.dartboard-picker-head b{color:var(--brand-dark);font-size:.85rem}.dartboard-picker-head small{color:var(--muted);font-size:.68rem;text-align:right}
.dart-focus-ring,.dart-rest-ring{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;min-height:0}
.dart-field{min-width:0;min-height:0;height:100%;padding:2px;border:1px solid #cbd6da;border-radius:11px;background:#e8eef1;color:var(--ink);display:grid;place-items:center;align-content:center;line-height:1;touch-action:manipulation;box-shadow:inset 0 -2px 0 rgba(20,50,60,.08)}
.dart-field b{font-size:clamp(1rem,3.4dvh,2rem)}.dart-field small{font-size:.6rem;color:var(--muted);margin-top:2px}.dart-field.focus{background:linear-gradient(145deg,#174d3d,#1e6f52);border-color:#174d3d;color:#fff;box-shadow:0 3px 8px rgba(30,111,82,.2)}.dart-field.focus small{color:rgba(255,255,255,.72)}.dart-field:active{transform:scale(.96)}
.direct-checkout{grid-column:1/-1;min-height:0;border:3px solid #f2b940;border-radius:14px;background:linear-gradient(135deg,#ffdf6f,#f2b940);color:#352800;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:0 10px;padding:8px 12px;text-align:left;box-shadow:0 0 0 4px rgba(242,185,64,.18);touch-action:manipulation}
.direct-checkout span{font-size:.72rem;font-weight:1000;letter-spacing:.12em}.direct-checkout strong{grid-row:1/3;grid-column:2;font-size:clamp(2.2rem,7dvh,4rem);line-height:.9}.direct-checkout small{font-size:.62rem;font-weight:800}.direct-checkout:active{transform:scale(.98)}
.dart-special-panel.modern{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(70px,1.5fr) repeat(2,minmax(42px,1fr))}.dart-special-panel.modern .direct-checkout{grid-column:1/-1}.dart-special-panel.modern>button:nth-of-type(4){grid-column:auto}.dart-special-panel.modern .dart-submit-visit{grid-column:auto!important}
.total-checkout-zone{min-height:62px}.total-checkout-zone:empty{display:none}.total-checkout-zone .direct-checkout{width:100%;height:100%}
.checkout-darts-modal{text-align:center;max-width:560px}.checkout-darts-modal h2{font-size:clamp(2rem,7vw,3.8rem);margin:5px}.checkout-darts-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.checkout-darts-buttons button{min-height:130px;border:2px solid var(--brand);border-radius:18px;background:#edf8f3;color:var(--brand-dark);display:grid;place-items:center;align-content:center;gap:4px}.checkout-darts-buttons strong{font-size:clamp(3rem,12vw,6rem);line-height:.9}.checkout-darts-buttons span{font-weight:900}.checkout-darts-buttons button:active{transform:scale(.96);background:#d8f0e5}
.set-report-strip{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:34px;padding:4px 7px;border-radius:10px;background:#edf8f3;border:1px solid rgba(30,111,82,.28)}.set-report-strip b{margin-right:auto;font-size:.75rem;color:var(--brand-dark)}.set-report-strip .btn{min-height:28px;padding:4px 8px;font-size:.68rem}
.set-complete-modal{text-align:center;max-width:620px}.set-complete-modal .actions{justify-content:center}
.dart-live-game.fit-screen{grid-template-rows:auto auto minmax(0,1fr)}
.dart-live-game.fit-screen.has-set-report{grid-template-rows:auto auto auto minmax(0,1fr)}
.dart-live-game.fit-screen .dart-main-keypad{grid-template-rows:auto minmax(0,1fr)}
.dart-live-game.fit-screen .dart-entry-layout.dartboard-entry-layout{grid-template-columns:minmax(0,1fr) minmax(165px,.3fr)}
.dart-live-game.fit-screen .dartboard-field-picker{gap:4px;padding:4px}.dart-live-game.fit-screen .dart-focus-ring,.dart-live-game.fit-screen .dart-rest-ring{gap:4px}.dart-live-game.fit-screen .dart-field{border-radius:8px}.dart-live-game.fit-screen .dart-field b{font-size:clamp(.95rem,3dvh,1.65rem)}
.dart-live-game.fit-screen .dart-special-panel.modern{grid-template-rows:minmax(58px,1.5fr) repeat(2,minmax(32px,1fr))}
.dart-live-game.fit-screen .direct-checkout{padding:5px 8px;border-width:2px;border-radius:10px}.dart-live-game.fit-screen .direct-checkout strong{font-size:clamp(2rem,6dvh,3.5rem)}
.dart-live-game.fit-screen .dart-total-layout{grid-template-rows:minmax(0,1fr) minmax(54px,auto) auto}

@media(max-width:680px){
 .dartboard-picker-head small{display:none}.dartboard-picker-head b{font-size:.64rem}.dartboard-field-picker{padding:3px;gap:3px}.dart-focus-ring,.dart-rest-ring{gap:3px}.dart-field{border-radius:7px}.dart-field b{font-size:clamp(.9rem,2.7dvh,1.35rem)}.dart-field small{display:none}
 .dart-live-game.fit-screen .dart-entry-layout.dartboard-entry-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
 .dart-live-game.fit-screen .dart-special-panel.modern{height:auto;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(38px,auto);gap:3px}
 .dart-live-game.fit-screen .dart-special-panel.modern .direct-checkout{grid-column:span 2!important;min-height:38px;padding:3px 5px;display:flex;justify-content:center;gap:5px;text-align:center}.dart-live-game.fit-screen .dart-special-panel.modern .direct-checkout span{font-size:.55rem}.dart-live-game.fit-screen .dart-special-panel.modern .direct-checkout strong{font-size:1.45rem}.dart-live-game.fit-screen .dart-special-panel.modern .direct-checkout small{display:none}
 .dart-live-game.fit-screen .dart-special-panel.modern>button{grid-column:span 1!important;min-height:38px!important;height:auto!important;font-size:.58rem!important;padding:2px!important}
 .set-report-strip{min-height:30px;padding:2px 4px}.set-report-strip b{font-size:.62rem}.set-report-strip .btn{min-height:25px;padding:3px 5px;font-size:.58rem}
 .checkout-darts-buttons{gap:7px}.checkout-darts-buttons button{min-height:105px}
 .open-games-grid{grid-template-columns:1fr}
}
@media(max-height:620px) and (orientation:landscape){
 .dart-live-game.fit-screen .dart-entry-layout.dartboard-entry-layout{grid-template-columns:minmax(0,1fr) minmax(210px,.34fr);grid-template-rows:minmax(0,1fr)}
 .dart-live-game.fit-screen .dart-special-panel.modern{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(45px,1.4fr) repeat(2,minmax(30px,1fr));height:100%}
 .dart-live-game.fit-screen .dart-special-panel.modern .direct-checkout{grid-column:1/-1!important}.dart-live-game.fit-screen .dart-special-panel.modern>button{grid-column:auto!important;height:100%!important}
 .dartboard-picker-head{display:none}
}
.dart-special-panel.modern>button:nth-child(3){grid-column:auto}
.closed-game-summary{border:2px solid #e5b24a;background:#fffaf0}
