/* CHALLENGE planetgolf app – "Grundsatz Bedienung": big type, big buttons, calm colours, one task per screen. */
.cpg-app { font-size: 19px; line-height: 1.5; max-width: 640px; margin: 0 auto; color: #1d2327; }
.cpg-app h2 { font-size: 1.5em; margin: .4em 0 .5em; }
.cpg-app h3 { font-size: 1.2em; margin: 1.2em 0 .5em; }
.cpg-lead { font-size: 1.1em; }
.cpg-small { font-size: .85em; color: #50575e; }
.cpg-btn, .cpg-app button.cpg-btn { display: block; width: 100%; box-sizing: border-box; min-height: 58px; margin: .6em 0; padding: .7em 1em; border: 0; border-radius: 12px; background: #1e6b34; color: #fff !important; font-size: 1.15em; font-weight: 600; text-align: center; text-decoration: none; cursor: pointer; }
.cpg-btn--light, .cpg-app button.cpg-btn--light { background: #eef3ee; color: #1e6b34 !important; border: 2px solid #1e6b34; }
.cpg-btn--danger, .cpg-app button.cpg-btn--danger { background: #b32d2e; }
.cpg-btn--go, .cpg-app button.cpg-btn--go { min-height: 72px; font-size: 1.4em; margin-top: 1em; }
.cpg-btn:focus-visible, .cpg-step:focus-visible { outline: 3px solid #f0b849; outline-offset: 2px; }
.cpg-flash { padding: .8em 1em; border-radius: 10px; font-size: 1.05em; }
.cpg-flash--ok { background: #e7f6ea; }
.cpg-flash--err { background: #fdecea; }
.cpg-todo { border: 1px solid #dcdcde; border-radius: 12px; padding: .6em 1em; margin: .7em 0; }
.cpg-todo--now { border: 2px solid #1e6b34; background: #f6fbf6; }
.cpg-todo p { margin: .2em 0; }
.cpg-menu { margin: 1em 0; }
.cpg-back { margin-top: 1.5em; font-size: .95em; }
.cpg-label { display: block; font-weight: 600; margin: 1em 0 .3em; }
.cpg-input { width: 100%; box-sizing: border-box; font-size: 1.15em; padding: .55em .6em; border: 2px solid #8c8f94; border-radius: 10px; background: #fff; }
.cpg-input--big { font-size: 1.6em; text-align: center; }
.cpg-time { display: flex; align-items: center; gap: .4em; }
.cpg-time .cpg-input { width: auto; flex: 1; }
.cpg-fieldset { border: 0; padding: 0; margin: 0; }
.cpg-choice { display: block; padding: .7em .8em; margin: .4em 0; border: 2px solid #dcdcde; border-radius: 10px; font-size: 1.05em; }
.cpg-choice input { transform: scale(1.5); margin-right: .6em; }
.cpg-check { display: flex; gap: .7em; align-items: flex-start; margin: 1.2em 0; padding: .8em; background: #fcf9e8; border-radius: 10px; }
.cpg-check input { transform: scale(1.6); margin-top: .35em; }
.cpg-app textarea { width: 100%; box-sizing: border-box; font-size: 1.05em; padding: .5em; border: 2px solid #8c8f94; border-radius: 10px; }
.cpg-big-info { font-size: 1.25em; font-weight: 600; background: #f6f7f7; border-radius: 12px; padding: .6em 1em; }
.cpg-big-info p { margin: .2em 0; }
.cpg-status { font-size: 1.2em; font-weight: 600; background: #f0f6fc; border-radius: 10px; padding: .5em .8em; }
.cpg-result-big { font-size: 1.6em; font-weight: 700; text-align: center; }
.cpg-hole-head { text-align: center; font-size: 2em !important; }
.cpg-hole-head span { display: block; font-size: .5em; color: #50575e; font-weight: 400; }
.cpg-player-row { border: 1px solid #dcdcde; border-radius: 14px; padding: .5em .8em; margin: .7em 0; }
.cpg-pname { font-size: 1.15em; font-weight: 600; }
.cpg-counter { display: flex; align-items: center; justify-content: space-between; gap: .5em; }
.cpg-app .cpg-step { width: 84px; height: 84px; border-radius: 50%; border: 0; background: #e3ece3; color: #1e6b34; font-size: 2.6em; line-height: 1; cursor: pointer; touch-action: manipulation; }
.cpg-num { font-size: 3.4em; font-weight: 700; min-width: 2ch; text-align: center; }
.cpg-dots { color: #9aa0a6; font-size: .7em; letter-spacing: 2px; vertical-align: middle; }
.cpg-nav { display: flex; justify-content: space-between; font-size: 1.05em; }
.cpg-offline { background: #fcf9e8; border-radius: 10px; padding: .6em .8em; }
.cpg-score { width: 100%; border-collapse: collapse; font-size: .95em; }
.cpg-score th, .cpg-score td { border-bottom: 1px solid #eee; padding: .3em .2em; text-align: center; }
.cpg-r-a td:nth-child(3), .cpg-r-b td:nth-child(4) { font-weight: 700; background: #eef7ee; }
.cpg-live { display: inline-block; background: #d63638; color: #fff; border-radius: 6px; padding: 0 .4em; font-size: .75em; font-weight: 700; text-transform: uppercase; }
.cpg-match-list { list-style: none; padding: 0; }
.cpg-match-list li { border-bottom: 1px solid #eee; padding: .5em 0; }
.cpg-chat { max-height: 60vh; overflow-y: auto; border: 1px solid #dcdcde; border-radius: 12px; padding: .5em; background: #fafafa; }
.cpg-msg { margin: .4em 0; padding: .4em .7em; border-radius: 10px; background: #fff; border: 1px solid #eee; }
.cpg-msg--mine { background: #eef7ee; margin-left: 2em; }
.cpg-msg--system { background: #f0f6fc; font-size: .9em; }
.cpg-msg-meta { display: block; font-size: .75em; color: #646970; }
.cpg-msg-body { white-space: pre-wrap; }
.cpg-details summary { list-style: none; }
.cpg-details summary::-webkit-details-marker { display: none; }
.cpg-table th { text-align: left; padding-right: 1em; }
@media (min-width: 900px) { .cpg-app { font-size: 18px; } }
/* M4 Zählspiel */
.cpg-hole--flight .cpg-player-row { padding: .35em .7em; margin: .45em 0; }
.cpg-hole--flight .cpg-step { width: 72px; height: 72px; font-size: 2.3em; }
.cpg-hole--flight .cpg-num { font-size: 2.9em; }
.cpg-run { margin: .1em 0 0; color: #50575e; }
.cpg-player-row--out { background: #f6f7f7; color: #646970; }
.cpg-list-big { list-style: none; padding: 0; font-size: 1.1em; }
.cpg-list-big li { padding: .35em 0; border-bottom: 1px solid #eee; }
.cpg-list-big small { color: #646970; }
.cpg-card-row { border: 1px solid #dcdcde; border-radius: 14px; padding: .5em .9em; margin: .8em 0; }
.cpg-ok { color: #1e6b34; font-weight: 600; }
.cpg-badge { display: inline-block; border-radius: 6px; padding: 0 .45em; font-size: .8em; background: #f0f0f1; color: #50575e; }
.cpg-badge--ok { background: #e3ece3; color: #1e6b34; }
.cpg-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cpg-score--holes th, .cpg-score--holes td { min-width: 2.1em; font-size: .9em; }
.cpg-leader td:nth-child(2) { text-align: left; }
.cpg-app button[disabled] { opacity: .45; cursor: not-allowed; }
/* M6: rarely needed actions (no-show) stay folded so each screen keeps one main task */
.cpg-more{margin:1.4em 0;border-top:1px solid #ddd;padding-top:.8em}
.cpg-more>summary{cursor:pointer;font-size:1.1em;padding:.6em 0;min-height:44px;box-sizing:border-box;color:#1d4d2b;font-weight:600}
.cpg-more>p{font-size:1.05em}

/* 0.8.4 „Alle Jahre“ (player area) */
.cpg-years-eb { margin: .2em 0 0; color: #646970; font-size: .85em; text-transform: uppercase; letter-spacing: .04em; }
.cpg-years h2 { margin-top: .1em; }
.cpg-years-kpis { list-style: none; margin: .4em 0 1em; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.cpg-years-kpis li { background: #eef3ee; border-radius: 12px; padding: .5em .3em; text-align: center; }
.cpg-years-kpis b { display: block; font-size: 1.35em; color: #1e6b34; line-height: 1.2; }
.cpg-years-kpis span { display: block; font-size: .68em; color: #50575e; line-height: 1.2; }
.cpg-years-note { background: #fcf9e8; border-radius: 10px; padding: .7em .9em; font-size: .9em; }
.cpg-years-best { list-style: none; margin: 0 0 1em; padding: 0; counter-reset: b; }
.cpg-years-best li { display: flex; align-items: center; gap: .6em; border-bottom: 1px solid #dcdcde; padding: .45em 0; counter-increment: b; }
.cpg-years-best li::before { content: counter(b); display: grid; place-items: center; width: 1.7em; height: 1.7em; border-radius: 50%; background: #1e6b34; color: #fff; font-size: .8em; font-weight: 700; flex: none; }
.cpg-years-best li > a { flex: 1; }
.cpg-years-best i { font-style: normal; color: #646970; font-size: .85em; }
.cpg-years a { color: #1d2327; text-decoration: none; }
.cpg-years-best a b, .cpg-years-facts dd a b { display: block; font-size: 1em; }
.cpg-years-best a small, .cpg-years-facts dd a small { display: block; color: #646970; font-size: .78em; line-height: 1.3; }
.cpg-years-par { color: #1e6b34; font-weight: 600; }
.cpg-years-season { border: 1px solid #dcdcde; border-radius: 14px; padding: .4em .9em .7em; margin: 0 0 .9em; }
.cpg-years-season header { display: flex; align-items: baseline; justify-content: space-between; gap: .5em; flex-wrap: wrap; }
.cpg-years-season h3 { margin: .3em 0; font-size: 1.4em; color: #1e6b34; }
.cpg-years-oom { font-size: .82em; background: #eef3ee; border-radius: 999px; padding: .15em .7em; color: #1d2327 !important; }
.cpg-years-oom em, .cpg-years-res em { font-style: normal; font-size: .75em; color: #996800; margin-left: .3em; border: 1px dashed #c9a227; border-radius: 6px; padding: 0 .3em; }
.cpg-years-res { list-style: none; margin: 0; padding: 0; }
.cpg-years-res li a { display: flex; justify-content: space-between; align-items: center; gap: .6em; padding: .45em 0; border-bottom: 1px solid #f0f0f1; }
.cpg-years-res span small { display: block; color: #646970; font-size: .78em; }
.cpg-years-res b { white-space: nowrap; font-size: .95em; }
.cpg-years-res b.is-win { color: #1e6b34; }
.cpg-years-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: .6em 0 0; }
.cpg-years-facts div { background: #f6f7f7; border-radius: 10px; padding: .4em .6em; }
.cpg-years-facts .cpg-years-wide { grid-column: 1 / -1; }
.cpg-years-facts dt { font-size: .72em; color: #646970; }
.cpg-years-facts dd { margin: 0; font-weight: 700; }
.cpg-years-small { font-size: .85em; text-align: center; }
.cpg-years-small a { color: #1e6b34; text-decoration: underline; }
/* 0.8.8: overall Zählspiel ranking – players who missed the cut stay visible, faint (like given-up players) */
.cpg-leader .cpg-row--cut td { color: #8c8f94; }
/* 0.8.16 Matchplay: hole result only – three big buttons (≥ 64px), result column on the card */
.cpg-hole-hint { text-align: center; margin: .2em 0 .8em; color: #555; font-size: .95em; }
.cpg-res-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0 0 1em; }
.cpg-res { display: flex; align-items: center; justify-content: space-between; gap: .6em; width: 100%; min-height: 64px; padding: 10px 18px; border: 2px solid #1f6f3a; border-radius: 14px; background: #fff; color: #1f6f3a; font: inherit; font-size: 1.1em; font-weight: 700; cursor: pointer; text-align: left; }
.cpg-res-s { font-size: 1.25em; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.cpg-res--halved { border-color: #8a8a8a; color: #444; }
.cpg-res.is-on, .cpg-res:active { background: #1f6f3a; color: #fff; }
.cpg-res--halved.is-on, .cpg-res--halved:active { background: #6b6b6b; color: #fff; }
.cpg-res:focus-visible { outline: 3px solid #1D1A0C; outline-offset: 2px; }
.cpg-score--mp .cpg-c-res { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cpg-score--mp td small { color: #888; font-weight: 400; }
.cpg-done { display: inline-block; padding: 2px 9px; border-radius: 999px; background: #e7f3ea; color: #1f6f3a; font-size: .85em; font-weight: 700; }
.cpg-resp-note{background:#fff6e0;border-left:4px solid #c9a227;padding:.7em 1em;border-radius:6px;margin:.6em 0 1em;color:#1D1A0C}

/* 0.8.17.4: Netto (Brutto) */
.cpg-gross { color: #646970; font-weight: 400; font-size: .8em; white-space: nowrap; }
.cpgl-prov { font-size: .75em; color: #8a6d00; background: #fff4cc; border-radius: 6px; padding: 0 .35em; margin-left: .3em; }
