/* Gemeinsames Layout für Gruppenübersicht und Ergebnisseiten. */
.crt-results { margin: 0; background: #edf2f0; color: #19372c; font-size: 18px; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
.crt-results *, .crt-results *::before, .crt-results *::after { box-sizing: border-box; }
.crt-results .page-header { background: #164c38; color: white; }
.crt-results .header-inner { max-width: 1040px; margin: auto; padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.crt-results .back-link { color: white; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 600; }
.crt-results .back-link:hover { text-decoration: underline; }
.crt-results .brand { font-weight: 800; letter-spacing: .03em; }
.crt-results .brand span { font-size: 15px; font-weight: 400; opacity: .8; }
.crt-results .page-content { max-width: 1040px; margin: auto; padding: 44px 28px calc(200px + env(safe-area-inset-bottom)); }
.crt-results .eyebrow { margin: 0 0 4px; font-size: 14px; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; color: #536c5e; }
.crt-results h1 { font-size: clamp(36px, 6vw, 54px); line-height: 1.15; letter-spacing: -.045em; margin: 0; }
.crt-results h1 span { color: #719326; }
.crt-results .intro-text { color: #52645a; max-width: 580px; margin: 16px 0 32px; }
.crt-results .section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.crt-results h2 { font-size: 22px; margin: 0; }
.crt-results .section-heading > span { font-size: 15px; background: #e5eadb; border-radius: 20px; padding: 5px 12px; }
.crt-results .match-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.crt-results .match-card { position: relative; min-width: 0; margin: 0; padding: 18px 20px; border: 1px solid #cbd9d1; border-top: 4px solid #39785c; border-radius: 16px; background: white; box-shadow: 0 4px 16px #19372c0a; }
.crt-results legend { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.crt-results .card-heading { display: flex; justify-content: space-between; gap: 12px; color: #647468; font-size: 14px; margin-bottom: 8px; }
.crt-results .card-heading > span:first-child { font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.crt-results .player-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 0; }
.crt-results .player-row + .player-row { border-top: 1px solid #e2e9e4; }
.crt-results label { font-weight: 600; font-size: 19px; overflow-wrap: anywhere; cursor: pointer; }
.crt-results input[type="number"] { flex: 0 0 60px; width: 60px; height: 56px; padding: 4px; appearance: textfield; -moz-appearance: textfield; border: 2px solid #68947e; border-radius: 10px; background: #edf6ef; color: #19372c; text-align: center; font: 700 26px/1 system-ui, sans-serif; }
.crt-results :is(input, button, a):focus-visible { outline: 3px solid #73972f; outline-offset: 3px; }
.crt-results input:focus { background: white; border-color: #164c38; box-shadow: 0 0 0 4px #164c3814; }
.crt-results .save-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 10; background: #ffffff; border-top: 1px solid #dce2d6; padding: 16px 28px calc(16px + env(safe-area-inset-bottom)); }
.crt-results .save-inner { max-width: 984px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.crt-results .save-inner p { margin: 0; color: #52645a; font-size: 15px; }
.crt-results button { border: 0; border-radius: 10px; background: #164c38; color: white; padding: 20px 30px; min-height: 68px; box-shadow: 0 4px 10px #164c3826; font: 700 20px/1.4 system-ui, sans-serif; cursor: pointer; }
.crt-results button span { margin-left: 12px; }
.crt-results button:hover { background: #226347; }
.crt-results .notice { padding: 24px; background: white; border: 1px solid #dce2d6; border-radius: 16px; }
@media (max-width: 760px) {
    .crt-results .header-inner { padding: 12px 20px; }
    .crt-results .brand span { display: none; }
    .crt-results .page-content { padding: 28px 16px calc(200px + env(safe-area-inset-bottom)); }
    .crt-results .intro-text { font-size: 18px; margin-bottom: 28px; }
    .crt-results .match-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .crt-results .match-card { padding: 14px 16px; }
    .crt-results .save-bar { padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
    .crt-results .save-inner { flex-direction: column; gap: 8px; }
    .crt-results .save-inner p { font-size: 14px; text-align: center; }
    .crt-results button { width: 100%; }
}

.crt-results input[type="number"]::-webkit-inner-spin-button,
.crt-results input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.crt-results .match-card:focus-within { border-color: #39785c; box-shadow: 0 4px 18px #19372c14; }
.crt-results button { flex-shrink: 0; }
.crt-home .header-image { display: block; width: 100%; height: auto; }
.crt-home .page-content { padding-bottom: 48px; }
.crt-home .group-link { display: flex; flex-direction: column; gap: 10px; color: inherit; text-decoration: none; }
.crt-home .group-link:hover { background: #f5faf6; border-color: #39785c; }
.crt-home .group-title { font-size: 24px; font-weight: 700; }
.crt-home .group-description { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #52645a; font-size: 16px; }
.crt-home .group-description > span { color: #164c38; font-size: 24px; }
@media (max-width: 360px) {
    .crt-results button { padding-inline: 12px; font-size: 18px; }
}
