*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#1f2937}.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}.narrow{max-width:720px;padding-top:40px}.site-header{background:#0f5132;color:#fff}.header-inner{display:flex;gap:24px;align-items:center;justify-content:space-between;min-height:64px}.brand{font-size:20px;font-weight:700;color:#fff;text-decoration:none}.site-header nav{display:flex;gap:14px;flex-wrap:wrap}.site-header nav a{color:#fff;text-decoration:none}.site-footer{margin-top:48px;padding:28px 0;background:#111827;color:#fff}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 3px 12px rgba(0,0,0,.04)}.hero{padding:34px}.button,button{display:inline-block;border:0;border-radius:8px;background:#0f5132;color:#fff;padding:10px 16px;text-decoration:none;font-weight:700;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.stats .card{display:flex;flex-direction:column;align-items:center}.stats strong{font-size:34px}.stats span{color:#6b7280}.form-grid{display:grid;gap:14px}.form-grid h2{margin-bottom:0}.form-grid label{display:grid;gap:6px;font-weight:700}.form-grid input,.form-grid select{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.narrow-form{max-width:520px}.flash{padding:12px 16px;border-radius:8px;margin:16px 0}.flash.success{background:#dcfce7;color:#166534}.flash.error{background:#fee2e2;color:#991b1b}.table-card{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid #e5e7eb;vertical-align:middle}th{background:#f8fafc}.tip-form{display:flex;align-items:center;gap:6px}.tip-form input[type=number]{width:62px;padding:8px;border:1px solid #cbd5e1;border-radius:7px}.locked{display:inline-block;margin-left:8px;color:#991b1b;font-size:12px}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:20px 0}.admin-link{text-decoration:none;color:#1f2937;font-weight:700;font-size:20px}@media(max-width:760px){.header-inner{align-items:flex-start;flex-direction:column;padding:14px 0}.stats,.admin-grid{grid-template-columns:1fr}.tip-form{min-width:240px}th,td{white-space:nowrap}h1{font-size:28px}}

.tips-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}
.filter-form{display:flex;gap:14px;align-items:end;flex-wrap:wrap}
.filter-form label{display:grid;gap:6px;font-weight:700}
.filter-form select{min-width:220px;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}
.tip-status{display:flex;gap:10px}
.tip-status>div{min-width:88px;padding:10px 14px;border-radius:10px;background:#f8fafc;text-align:center}
.tip-status strong{display:block;font-size:24px}
.tip-status span{font-size:12px;color:#6b7280}
.tip-status .status-open{background:#fff7ed}
.tip-status .status-open strong{color:#c2410c}
.tip-status .status-done{background:#ecfdf5}
.tip-status .status-done strong{color:#047857}
.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.match-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 3px 12px rgba(0,0,0,.04)}
.match-card.has-tip{border-color:#86efac}
.match-card.is-locked{background:#f8fafc}
.match-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#64748b;font-size:13px;margin-bottom:18px}
.badge{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase}
.badge-open{background:#ffedd5;color:#9a3412}
.badge-done{background:#dcfce7;color:#166534}
.badge-locked{background:#e2e8f0;color:#475569}
.teams{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-bottom:18px}
.team{text-align:center;display:grid;justify-items:center;gap:8px}
.team img,.team-placeholder{width:64px;height:64px;object-fit:contain}
.team-placeholder{display:grid;place-items:center;background:#f1f5f9;border-radius:50%;font-size:28px}
.team strong{min-height:40px;display:flex;align-items:center;justify-content:center}
.versus{font-size:28px;font-weight:700}
.big-tip-form{display:grid;gap:12px}
.score-inputs{display:flex;justify-content:center;align-items:center;gap:10px}
.score-inputs input{width:76px;height:56px;text-align:center;font-size:26px;font-weight:700;border:1px solid #cbd5e1;border-radius:10px}
.score-inputs span{font-size:28px;font-weight:700}
.big-tip-form button{width:100%}
.locked-tip{text-align:center;padding:14px;background:#e2e8f0;border-radius:10px}
@media(max-width:900px){.match-grid{grid-template-columns:1fr}.tips-toolbar{align-items:stretch;flex-direction:column}.tip-status{justify-content:space-between}.tip-status>div{flex:1}.filter-form{display:grid;grid-template-columns:1fr 1fr}.filter-form select{min-width:0;width:100%}}
@media(max-width:520px){.filter-form{grid-template-columns:1fr}.teams{gap:4px}.team img,.team-placeholder{width:52px;height:52px}.team strong{font-size:14px}.match-card{padding:14px}}

.admin-summary{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:16px;margin:20px 0}
.admin-summary .card{display:flex;flex-direction:column;align-items:center}
.admin-summary strong{font-size:32px}
.admin-summary span{color:#6b7280}
.league-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:18px 0 30px}
.league-admin-card{border-top:5px solid #0f5132}
.league-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.league-admin-head h3{font-size:26px;margin:4px 0 0}
.league-kicker{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:700}
.league-badge{background:#e2e8f0;color:#334155;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.league-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.league-admin-stats>div{background:#f8fafc;border-radius:9px;padding:12px;text-align:center}
.league-admin-stats strong{display:block;font-size:24px}
.league-admin-stats span{font-size:12px;color:#64748b}
.league-admin-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.league-admin-actions a:not(.button){color:#0f5132;font-weight:700;text-decoration:none}
.league-page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.league-page-head h2{font-size:30px;margin:4px 0 6px}
.league-page-head p{margin:0;color:#64748b}
.season-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}
.season-title{display:flex;justify-content:space-between;gap:10px;align-items:center}
.season-title strong{font-size:21px}
.team-admin-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:28px}
.team-admin-row{display:flex;align-items:center;gap:10px;padding:9px;border-radius:8px;background:#f8fafc}
.team-admin-row img,.team-mini-placeholder{width:34px;height:34px;object-fit:contain}
.team-mini-placeholder{display:grid;place-items:center}
.league-filter-banner{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.league-filter-banner strong{font-size:20px}
.league-filter-banner span{color:#64748b;flex:1}
.league-filter-banner a{color:#0f5132;font-weight:700}
@media(max-width:900px){.league-admin-grid,.season-admin-grid{grid-template-columns:1fr}.team-admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}.league-page-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.admin-summary{grid-template-columns:1fr 1fr}.team-admin-list{grid-template-columns:1fr}.league-admin-stats{gap:6px}.league-admin-stats>div{padding:9px}.league-filter-banner{align-items:flex-start;flex-direction:column}}

.match-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.match-actions form{margin:0}
.button-secondary{background:#475569}
.button-danger{background:#b91c1c}
.edit-dialog{border:0;border-radius:14px;padding:0;max-width:620px;width:calc(100% - 32px);box-shadow:0 25px 60px rgba(0,0,0,.25)}
.edit-dialog::backdrop{background:rgba(15,23,42,.6)}
.dialog-form{border:0;box-shadow:none}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.dialog-head h2{margin:4px 0 0}
.dialog-close{background:transparent;color:#334155;font-size:30px;line-height:1;padding:0 4px}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:8px}
@media(max-width:700px){.match-actions{min-width:210px}.dialog-actions button{flex:1}}

.bulk-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 18px}
.bulk-actions>div{display:flex;flex-direction:column;gap:3px}
.bulk-actions span{color:#64748b;font-size:13px}
.bulk-actions form{margin:0}
.bulk-actions button:disabled{opacity:.45;cursor:not-allowed}
.select-column{width:44px;text-align:center}
.select-column input,.match-checkbox{width:19px;height:19px;cursor:pointer}
@media(max-width:700px){.bulk-actions{align-items:stretch;flex-direction:column}.bulk-actions button{width:100%}}

.ranking-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.ranking-tabs a{padding:10px 14px;border-radius:9px;background:#fff;border:1px solid #dbe3ea;color:#334155;text-decoration:none;font-weight:700}
.ranking-tabs a.active{background:#0f5132;color:#fff;border-color:#0f5132}
.ranking-filter{margin-bottom:16px}
.ranking-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.ranking-summary>div{text-align:center;padding:10px}
.ranking-summary strong{display:block;font-size:28px}
.ranking-summary span{font-size:13px;color:#64748b}
.ranking-table th:first-child,.ranking-table td:first-child{width:74px;text-align:center}
.rank-position{display:inline-grid;place-items:center;min-width:38px;height:38px;border-radius:50%;background:#e2e8f0;font-weight:800}
.rank-1{background:#fef3c7}
.rank-2{background:#e2e8f0}
.rank-3{background:#fed7aa}
.ranking-me{background:#ecfdf5}
.you-badge{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:999px;background:#0f5132;color:#fff;font-size:11px}
.points-cell strong{font-size:20px}
@media(max-width:700px){.ranking-summary{grid-template-columns:1fr 1fr 1fr}.ranking-table-card{overflow-x:auto}.ranking-table{min-width:720px}.ranking-tabs a{flex:1;text-align:center}}
@media(max-width:480px){.ranking-summary strong{font-size:22px}.ranking-summary span{font-size:11px}}

.joker-overview{display:flex;gap:10px;flex-wrap:wrap}
.joker-overview>div{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:9px 12px;display:flex;flex-direction:column}
.joker-overview strong{font-size:13px}
.joker-overview span{font-size:12px;color:#92400e}
.badge-joker{background:#fef3c7;color:#92400e}
.joker-select-label{display:grid;gap:6px;font-weight:700}
.joker-select-label select{width:100%;padding:10px;border:1px solid #d97706;border-radius:8px;background:#fffbeb}
.joker-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px}
.joker-admin-grid h3{margin:0;font-size:22px}
.checkbox-label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}
.checkbox-label input{width:auto!important}
.joker-admin-meta{padding:9px 12px;border-radius:8px;background:#f8fafc;color:#64748b;font-size:13px}
@media(max-width:800px){.joker-admin-grid{grid-template-columns:1fr}.joker-overview{width:100%}}

.bonus-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bonus-question-card h2{font-size:22px;margin:4px 0 0}
.bonus-question-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.bonus-points-badge{display:inline-flex;align-items:center;white-space:nowrap;background:#ede9fe;color:#5b21b6;border-radius:999px;padding:7px 10px;font-weight:800;font-size:12px}
.bonus-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#64748b;font-size:13px;margin:14px 0}
.bonus-awarded{display:block;margin-top:5px;color:#166534;font-size:13px}
.bonus-admin-list{display:grid;gap:18px}
.bonus-admin-card h3{font-size:22px;margin:4px 0 0}
.bonus-options-preview{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.bonus-options-preview span{background:#f1f5f9;padding:6px 9px;border-radius:999px;font-size:12px}
.bonus-evaluate-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:16px 0}
.bonus-evaluate-form label{display:grid;gap:6px;font-weight:700}
.bonus-evaluate-form input,.bonus-evaluate-form select{padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}
.form-grid textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit}
@media(max-width:800px){.bonus-question-grid{grid-template-columns:1fr}.bonus-evaluate-form{grid-template-columns:1fr}.bonus-question-head{flex-direction:column}}

.profile-head{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.profile-avatar{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#0f5132;color:#fff;font-size:34px;font-weight:800}
.profile-head h2{font-size:30px;margin:4px 0}
.profile-head p{margin:0;color:#64748b}
.profile-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:28px}
.profile-stats .card{text-align:center}
.profile-stats strong{display:block;font-size:28px}
.profile-stats span{font-size:12px;color:#64748b}
.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.achievement-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.achievement-icon{font-size:38px}
.achievement-card h3{margin:0 0 5px}
.achievement-card p{margin:0 0 10px;color:#64748b}
.achievement-card small{display:block;margin-top:7px;color:#64748b}
.achievement-locked{opacity:.72}
.achievement-progress{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.achievement-progress>div{height:100%;background:#0f5132}
@media(max-width:900px){.profile-stats{grid-template-columns:repeat(2,1fr)}.achievement-grid{grid-template-columns:1fr}}
@media(max-width:520px){.profile-head{align-items:flex-start}.profile-avatar{width:64px;height:64px;font-size:26px}.profile-stats{grid-template-columns:1fr 1fr}.profile-stats .card:last-child{grid-column:1 / -1}}

.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.group-card h3{font-size:24px;margin:4px 0 0}
.group-card p{color:#64748b;min-height:42px}
.group-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.invite-code-box{background:#f8fafc;border:1px dashed #94a3b8;border-radius:10px;padding:10px 14px;display:inline-flex;flex-direction:column;gap:2px}
.invite-code-box span{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.06em}
.invite-code-box strong{font-size:20px;letter-spacing:.1em}
.invite-code-large{font-size:34px;font-weight:800;letter-spacing:.12em;background:#f8fafc;border:1px dashed #94a3b8;border-radius:12px;padding:20px;text-align:center}
.danger-zone{border-color:#fecaca;background:#fff7f7}
.danger-zone p{color:#7f1d1d}
@media(max-width:800px){.group-grid{grid-template-columns:1fr}}

.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.dashboard-welcome h2{font-size:30px;margin:4px 0}
.dashboard-welcome p{margin:0;color:#64748b}
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.dashboard-kpi{text-decoration:none;color:inherit;display:flex;flex-direction:column;position:relative}
.dashboard-kpi strong{font-size:30px}
.dashboard-kpi span{font-weight:800}
.dashboard-kpi small{color:#64748b;margin-top:5px}
.dashboard-kpi.needs-action{border-color:#f59e0b;background:#fffbeb}
.dashboard-kpi.needs-action:after{content:"!";position:absolute;right:12px;top:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f59e0b;color:#fff;font-weight:900}
.dashboard-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.section-head a{text-decoration:none;font-weight:700}
.dashboard-match-list,.dashboard-result-list{padding:0;overflow:hidden}
.dashboard-match,.dashboard-result{padding:14px 16px;border-bottom:1px solid #e2e8f0}
.dashboard-match:last-child,.dashboard-result:last-child{border-bottom:0}
.dashboard-match-meta{display:flex;justify-content:space-between;gap:10px;color:#64748b;font-size:12px;margin-bottom:10px}
.dashboard-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.dashboard-teams>div{display:flex;align-items:center;gap:8px}
.dashboard-teams>div:last-child{justify-content:flex-end;text-align:right}
.dashboard-teams img{width:30px;height:30px;object-fit:contain}
.dashboard-result{display:flex;justify-content:space-between;align-items:center;gap:12px}
.dashboard-result>div:first-child{display:flex;flex-direction:column;gap:3px}
.dashboard-result small,.dashboard-result span{color:#64748b}
.result-points{min-width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#e2e8f0}
.result-exact{background:#dcfce7;color:#166534}
.result-difference{background:#dbeafe;color:#1e40af}
.result-tendency{background:#fef3c7;color:#92400e}
@media(max-width:900px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}}
@media(max-width:560px){.dashboard-welcome{align-items:flex-start;flex-direction:column}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-teams strong{font-size:13px}.dashboard-match-meta{flex-direction:column;gap:2px}}

.user-admin-summary{grid-template-columns:repeat(3,minmax(0,220px))}
.user-search-form{display:flex;align-items:end;gap:10px;margin-bottom:18px}
.user-search-form label{display:grid;gap:6px;flex:1;font-weight:700}
.user-search-form input{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px}
.user-admin-list{display:grid;gap:18px}
.user-admin-card{display:grid;gap:16px}
.user-inactive{opacity:.72;background:#f8fafc}
.user-admin-head{display:flex;align-items:center;gap:14px}
.user-mini-avatar{width:56px;height:56px;font-size:22px;flex:0 0 auto}
.user-admin-title{display:flex;justify-content:space-between;align-items:center;gap:14px;flex:1}
.user-admin-title h3{margin:0;font-size:22px}
.user-admin-title span{color:#64748b}
.user-badges{display:flex;gap:7px;flex-wrap:wrap}
.user-profile-edit{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.user-profile-edit label{display:grid;gap:6px;font-weight:700}
.user-profile-edit input{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px}
.user-account-meta{display:flex;gap:20px;flex-wrap:wrap;color:#64748b;font-size:13px}
.user-admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.user-admin-actions form{margin:0}
@media(max-width:800px){.user-profile-edit{grid-template-columns:1fr}.user-admin-title{align-items:flex-start;flex-direction:column}.user-search-form{align-items:stretch;flex-direction:column}.user-admin-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.user-admin-actions{display:grid}.user-admin-actions button{width:100%}.user-admin-summary{grid-template-columns:1fr 1fr 1fr}}

.compare-link{display:block;text-align:center;margin-top:10px;font-weight:700;text-decoration:none;color:#0f5132}
.compare-match{text-align:center;margin-bottom:18px}
.compare-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:22px 0}
.compare-teams>div:not(.compare-score){display:grid;justify-items:center;gap:10px}
.compare-teams img{width:82px;height:82px;object-fit:contain}
.compare-score{font-size:38px;font-weight:900}
.compare-match p{color:#64748b}
.compare-distribution{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.compare-distribution .card{text-align:center}
.compare-distribution strong{display:block;font-size:32px}
.compare-distribution span{display:block;font-weight:800}
.compare-distribution small{color:#64748b}
.popular-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:28px}
.popular-scores>div{background:#f8fafc;border-radius:10px;padding:14px;text-align:center}
.popular-scores strong{display:block;font-size:24px}
.popular-scores span{font-size:12px;color:#64748b}
.dashboard-result-actions{display:grid;justify-items:center;gap:5px}
.dashboard-result-actions a{font-size:12px;text-decoration:none;font-weight:700}
@media(max-width:700px){.popular-scores{grid-template-columns:repeat(2,1fr)}.compare-teams img{width:60px;height:60px}.compare-score{font-size:30px}}
@media(max-width:480px){.compare-distribution{grid-template-columns:1fr 1fr 1fr;gap:7px}.compare-distribution .card{padding:12px 6px}.compare-distribution strong{font-size:24px}.compare-distribution span{font-size:12px}}

.sync-status{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-radius:10px;background:#f1f5f9}
.sync-status strong{font-size:18px}
.sync-success{background:#dcfce7;color:#166534}
.sync-error{background:#fee2e2;color:#991b1b}
.sync-result-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e2e8f0}
.sync-result-row:last-child{border-bottom:0}
.sync-result-row span{color:#64748b}
.sync-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sync-actions form{margin:0}
.cron-recommendation{padding:14px;border-radius:10px;background:#eff6ff;display:flex;flex-direction:column;gap:4px}
.cron-recommendation span{color:#475569}
#cronUrl{font-family:monospace}
@media(max-width:650px){.sync-result-row{flex-direction:column;gap:3px}.sync-actions{display:grid}.sync-actions button{width:100%}}

.point-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}
.point-rule-card h2{font-size:27px;margin:4px 0 0}
.point-recalc-form{margin-top:14px}
.point-recalc-form button{width:100%}
.point-example{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.point-example>div{text-align:center;padding:12px;background:#f8fafc;border-radius:10px}
.point-example span{display:block;color:#64748b;font-size:12px}
.point-example strong{display:block;margin-top:4px;font-size:20px}
.point-rule-public{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px;padding:14px 18px}
.point-rule-public strong{margin-right:auto}
.point-rule-public span{padding:5px 8px;border-radius:999px;background:#f1f5f9;font-size:12px;font-weight:700}
@media(max-width:800px){.point-rule-grid{grid-template-columns:1fr}.point-example{grid-template-columns:1fr}}
@media(max-width:560px){.point-rule-public{align-items:flex-start}.point-rule-public strong{width:100%}}

.live-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.live-summary{display:flex;gap:10px}
.live-summary>div{min-width:105px;background:#f8fafc;border-radius:10px;padding:10px;text-align:center}
.live-summary strong{display:block;font-size:24px}
.live-summary span{font-size:11px;color:#64748b}
.live-info{display:flex;gap:10px;align-items:center;margin-bottom:18px;background:#fff7ed}
.live-info span{color:#7c2d12}
.live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.live-match-card{position:relative;overflow:hidden}
.live-active{border-color:#fca5a5}
.live-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#dc2626}
.live-match-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.live-match-head small{display:block;margin-top:4px;color:#64748b}
.live-status{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase}
.live-status.live{background:#fee2e2;color:#b91c1c}
.live-status.halftime{background:#fef3c7;color:#92400e}
.live-status.finished{background:#e2e8f0;color:#475569}
.live-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:22px 0}
.live-team{display:grid;justify-items:center;gap:8px;text-align:center}
.live-team img{width:68px;height:68px;object-fit:contain}
.live-score{display:flex;align-items:center;gap:8px;font-size:38px;font-weight:900}
.live-score span{font-size:26px;color:#64748b}
.live-my-tip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#f8fafc;border-radius:10px;padding:12px}
.live-my-tip>div{text-align:center}
.live-my-tip span{display:block;color:#64748b;font-size:11px}
.live-my-tip strong{display:block;margin-top:4px}
.live-points{font-size:24px}
.live-points-exact{color:#166534}
.live-points-difference{color:#1d4ed8}
.live-points-tendency{color:#b45309}
.live-points-wrong{color:#64748b}
.live-no-tip{text-align:center;background:#f8fafc;border-radius:10px;padding:14px;color:#64748b}
.live-kpi{border-color:#fca5a5!important;background:#fff1f2!important}
.live-kpi:after{content:"LIVE";position:absolute;right:10px;top:10px;background:#dc2626;color:#fff;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:900}
@media(max-width:900px){.live-grid{grid-template-columns:1fr}.live-toolbar{align-items:stretch;flex-direction:column}.live-summary>div{flex:1}}
@media(max-width:560px){.live-summary{gap:5px}.live-summary>div{min-width:0;padding:8px 5px}.live-summary strong{font-size:20px}.live-info{align-items:flex-start;flex-direction:column}.live-team img{width:52px;height:52px}.live-team strong{font-size:13px}.live-score{font-size:30px}.live-my-tip{grid-template-columns:1fr 1fr}.live-my-tip>div:last-child{grid-column:1 / -1}}

.season-current{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;background:#ecfdf5;border-color:#86efac}
.season-current span{color:#166534;font-weight:700}
.season-current strong{font-size:22px;color:#14532d}
.season-admin-card{display:grid;gap:14px}
.season-active{border-top:5px solid #0f5132;background:#f0fdf4}
.season-statuses{display:flex;gap:6px;flex-wrap:wrap}
.season-actions{display:grid;gap:8px}
.season-actions form{margin:0}
.season-actions button{width:100%}
@media(max-width:560px){.season-current{align-items:flex-start;flex-direction:column}}

.announcement-admin-grid{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:start}
.announcement-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check-label{display:flex!important;align-items:center;gap:8px}
.check-label input{width:auto!important}
.announcement-admin-list,.announcement-player-list{display:grid;gap:12px}
.announcement-admin-card{border-left:5px solid #94a3b8}
.announcement-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.announcement-admin-head h3{margin:0 0 4px}
.announcement-admin-head small,.announcement-window{color:#64748b}
.announcement-window{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;margin:12px 0}
.announcement-important{border-left-color:#dc2626!important;background:#fff1f2}
.announcement-warning{border-left-color:#f59e0b!important;background:#fffbeb}
.announcement-success{border-left-color:#16a34a!important;background:#f0fdf4}
.announcement-info{border-left-color:#2563eb!important;background:#eff6ff}
.announcement-player-list{margin-bottom:18px}
.announcement-player{display:flex;gap:14px;align-items:flex-start;padding:15px 18px}
.announcement-player p{margin:5px 0 0;color:#475569}
.announcement-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.8);font-weight:900;font-size:18px}
@media(max-width:850px){.announcement-admin-grid{grid-template-columns:1fr}}
@media(max-width:560px){.announcement-date-grid{grid-template-columns:1fr}.announcement-player{padding:13px}.announcement-admin-head{flex-direction:column}}

/* v22 – grafischer Tipp-Arena-Header */
.site-hero{
    width:100%;
    background:#122b40;
    overflow:hidden;
    line-height:0;
}
.site-hero img{
    display:block;
    width:100%;
    max-width:1170px;
    height:auto;
    margin:0 auto;
}
@media(max-width:700px){
    .site-hero img{
        width:100%;
        height:130px;
        object-fit:cover;
        object-position:center;
    }
}

/* =========================================================
   v23 – Blau/Silber Theme passend zum grafischen Header
   ========================================================= */

:root{
    --arena-navy:#10283d;
    --arena-navy-2:#173a57;
    --arena-blue:#245d87;
    --arena-blue-light:#e9f2f8;
    --arena-silver:#c7d1d9;
    --arena-silver-light:#eef2f5;
    --arena-gold:#d9b43b;
    --arena-text:#172536;
    --arena-muted:#64748b;
    --arena-danger:#b42318;
    --arena-success:#16794a;
}

body{
    background:
        linear-gradient(180deg,#dfe7ed 0,#f4f7f9 280px,#eef2f5 100%);
    color:var(--arena-text);
}

.site-header{
    background:
        linear-gradient(180deg,var(--arena-navy-2),var(--arena-navy));
    border-bottom:1px solid rgba(255,255,255,.15);
    box-shadow:0 3px 12px rgba(8,24,38,.28);
}

.brand{
    letter-spacing:.01em;
    text-shadow:0 1px 2px rgba(0,0,0,.25);
}

.site-header nav a{
    color:#f8fafc;
    padding:8px 10px;
    border-radius:7px;
    transition:background .18s ease,transform .18s ease;
}

.site-header nav a:hover{
    background:rgba(255,255,255,.12);
    transform:translateY(-1px);
}

.site-hero{
    background:var(--arena-navy);
    box-shadow:0 8px 20px rgba(11,34,52,.18);
}

main.wrap{
    padding-top:22px;
}

h1,h2,h3{
    color:#14283c;
}

h1{
    border-bottom:2px solid var(--arena-silver);
    padding-bottom:10px;
}

.card{
    border-color:#cbd6de;
    border-radius:11px;
    box-shadow:
        0 4px 14px rgba(21,48,69,.07),
        inset 0 1px 0 rgba(255,255,255,.7);
}

.button,
button{
    background:
        linear-gradient(180deg,#2e719f,var(--arena-blue));
    border:1px solid #1c4f74;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.22),
        0 2px 5px rgba(18,55,82,.18);
}

.button:hover,
button:hover{
    filter:brightness(1.08);
}

.button-secondary{
    background:
        linear-gradient(180deg,#718395,#526577);
    border-color:#465767;
}

.button-danger{
    background:
        linear-gradient(180deg,#d14b42,var(--arena-danger));
    border-color:#8f1d16;
}

.hero{
    background:
        linear-gradient(135deg,#ffffff 0%,#eef4f8 68%,#dce7ef 100%);
    border-top:4px solid var(--arena-blue);
}

.stats .card,
.dashboard-kpi,
.ranking-summary,
.profile-stats .card{
    background:
        linear-gradient(180deg,#ffffff,#f0f5f8);
}

.stats strong,
.dashboard-kpi strong,
.ranking-summary strong,
.profile-stats strong{
    color:var(--arena-navy-2);
}

table thead th,
th{
    background:
        linear-gradient(180deg,#e7edf2,#d8e1e8);
    color:#183047;
    border-bottom:2px solid #b9c7d1;
}

tr:hover td{
    background:#f7fafc;
}

.flash.success{
    background:#e7f6ee;
    color:#0f6540;
    border:1px solid #a7dbc2;
}

.flash.error{
    background:#fff0ef;
    color:#9b2118;
    border:1px solid #efb4af;
}

.ranking-tabs a{
    border-color:#bdcad4;
    background:linear-gradient(180deg,#fff,#eaf0f4);
    color:#26455f;
}

.ranking-tabs a.active{
    background:
        linear-gradient(180deg,#2f6f9a,var(--arena-navy-2));
    border-color:#163c59;
}

.match-card{
    border-top:4px solid #9aafbd;
}

.match-card.has-tip{
    border-color:#6ca889;
    border-top-color:#268458;
}

.match-card.is-locked{
    background:
        linear-gradient(180deg,#f7f9fb,#e9eef2);
}

.tips-toolbar,
.live-toolbar,
.league-page-head,
.profile-head,
.dashboard-welcome{
    background:
        linear-gradient(135deg,#ffffff,#edf3f7);
}

.filter-form select,
.form-grid input,
.form-grid select,
.form-grid textarea,
.user-profile-edit input,
.user-search-form input,
.bonus-evaluate-form input,
.bonus-evaluate-form select{
    border-color:#aebeca;
    background:#fbfdfe;
}

.filter-form select:focus,
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus{
    outline:2px solid rgba(36,93,135,.2);
    border-color:var(--arena-blue);
}

.league-admin-card{
    border-top-color:var(--arena-blue);
}

.league-badge{
    background:#dbe6ed;
    color:#23445e;
    border:1px solid #b7c8d4;
}

.league-admin-stats>div,
.tip-status>div,
.point-example>div,
.team-admin-row{
    background:
        linear-gradient(180deg,#f7fafc,#e9eff3);
    border:1px solid #d4dee5;
}

.season-active{
    border-top-color:#2b6d99;
    background:#eef6fb;
}

.season-current{
    background:#e8f2f8;
    border-color:#a7c6db;
}

.season-current span,
.season-current strong{
    color:#17496b;
}

.badge-done{
    background:#d9efe5;
    color:#12663e;
}

.badge-open{
    background:#fef2cd;
    color:#8a5a08;
}

.badge-locked{
    background:#e4e9ed;
    color:#51616d;
}

.badge-joker{
    background:#f8e9ad;
    color:#795b00;
}

.joker-overview>div,
.joker-select-label select{
    background:#fff8dc;
    border-color:#d8bd54;
}

.rank-1{
    background:linear-gradient(180deg,#ffe98b,#d7b73c);
    color:#3f3200;
}

.rank-2{
    background:linear-gradient(180deg,#f4f6f7,#aebbc4);
    color:#253746;
}

.rank-3{
    background:linear-gradient(180deg,#efc093,#bd7b45);
    color:#4b2d16;
}

.ranking-me{
    background:#eaf4fa;
}

.you-badge{
    background:var(--arena-blue);
}

.profile-avatar{
    background:
        radial-gradient(circle at 35% 25%,#3f83b1,var(--arena-navy));
    border:3px solid #d5e0e7;
    box-shadow:0 4px 12px rgba(17,51,75,.25);
}

.achievement-progress>div{
    background:
        linear-gradient(90deg,var(--arena-blue),#5ba0ca);
}

.invite-code-box,
.invite-code-large{
    background:#edf3f7;
    border-color:#8fa6b6;
}

.dashboard-kpi.needs-action{
    border-color:#d0a735;
    background:linear-gradient(180deg,#fffdf4,#f8efc8);
}

.dashboard-kpi.needs-action:after{
    background:var(--arena-gold);
    color:#342800;
}

.live-info{
    background:#fff7df;
    border-color:#e5c664;
}

.live-active{
    border-color:#dc8e88;
}

.live-active:before{
    background:#c4332a;
}

.live-kpi{
    border-color:#cf8d88!important;
    background:linear-gradient(180deg,#fff8f7,#f8e4e2)!important;
}

.live-kpi:after{
    background:#b7261d;
}

.compare-link,
.section-head a,
.league-admin-actions a:not(.button),
.league-filter-banner a,
.dashboard-result-actions a{
    color:var(--arena-blue);
}

.site-footer{
    background:
        linear-gradient(180deg,#152f47,#0d2234);
    border-top:3px solid #55758e;
}

.announcement-info{
    background:#eaf3f9!important;
    border-left-color:#2f6e99!important;
}

.announcement-important{
    background:#fff0ef!important;
}

.announcement-warning{
    background:#fff9e5!important;
}

.announcement-success{
    background:#ebf7f1!important;
}

.edit-dialog{
    border:1px solid #8fa6b6;
}

.dialog-head{
    border-bottom:1px solid #d5dfe6;
    padding-bottom:10px;
}

.point-rule-public{
    background:
        linear-gradient(180deg,#f7fafc,#e7eef3);
    border-color:#b8c8d3;
}

.point-rule-public span{
    background:#dbe6ed;
    color:#23445e;
}

@media(max-width:760px){
    .site-header nav{
        width:100%;
        gap:5px;
    }

    .site-header nav a{
        padding:7px 8px;
        background:rgba(255,255,255,.06);
    }

    h1{
        font-size:26px;
    }
}

/* v24 – persönliche Statistiken */
.stats-filter{margin-bottom:16px}
.statistics-kpis{grid-template-columns:repeat(5,1fr)}
.statistics-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:26px}
.stat-breakdown{display:grid;gap:16px}
.stat-breakdown-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}
.stat-breakdown-row span{color:var(--arena-muted);font-size:12px}
.stat-bar{height:11px;border-radius:999px;background:#dce5eb;overflow:hidden}
.stat-bar>div{height:100%;border-radius:999px}
.stat-bar-exact{background:#2d8b5c}
.stat-bar-difference{background:#3177b1}
.stat-bar-tendency{background:#d29a25}
.stat-bar-wrong{background:#8c9aa5}
.team-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}
.team-stat-card{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px}
.team-stat-card img{width:48px;height:48px;object-fit:contain}
.team-stat-rank{font-weight:900;color:var(--arena-blue);font-size:18px}
.team-stat-card>div:nth-of-type(1){display:flex;flex-direction:column;gap:3px}
.team-stat-card>div:nth-of-type(1) span{font-size:12px;color:var(--arena-muted)}
.team-stat-points{text-align:right;font-size:23px;font-weight:900;color:var(--arena-navy-2)}
.team-stat-points small{display:block;font-size:10px;color:var(--arena-muted);font-weight:400}
.recent-tip-strip{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}
.recent-tip-dot{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:900;border:3px solid rgba(255,255,255,.8);box-shadow:0 2px 7px rgba(23,55,80,.18)}
.recent-tip-exact{background:#bde5cf;color:#115a36}
.recent-tip-difference{background:#c8dff1;color:#174c74}
.recent-tip-tendency{background:#f8dfa5;color:#775000}
.recent-tip-wrong{background:#dfe5e9;color:#65727c}
@media(max-width:950px){.statistics-kpis{grid-template-columns:repeat(3,1fr)}.statistics-grid{grid-template-columns:1fr}}
@media(max-width:700px){.team-stat-grid{grid-template-columns:1fr}.statistics-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.team-stat-card{grid-template-columns:auto auto 1fr}.team-stat-points{grid-column:2 / -1;text-align:left}.recent-tip-dot{width:43px;height:43px}}

/* v25 – Export-Center */
.export-intro{margin-bottom:20px;background:linear-gradient(135deg,#fff,#e7eff5)}
.export-intro h2{font-size:28px;margin:4px 0 6px}
.export-intro p{margin:0;color:var(--arena-muted)}
.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}
.export-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px}
.export-icon{width:56px;height:56px;border-radius:13px;display:grid;place-items:center;font-size:27px;background:linear-gradient(180deg,#edf4f8,#d9e5ed);border:1px solid #bdcdd8}
.export-card h3{margin:0 0 5px;font-size:21px}
.export-card p{margin:0 0 6px;color:var(--arena-muted)}
.export-card span{font-size:12px;font-weight:700;color:var(--arena-blue)}
.export-card .button{white-space:nowrap}
.export-note{border-left:5px solid var(--arena-gold);background:#fffbed}
.export-note p{margin-bottom:0;color:#5f5130}
@media(max-width:900px){.export-grid{grid-template-columns:1fr}}
@media(max-width:600px){.export-card{grid-template-columns:auto 1fr}.export-card .button{grid-column:1 / -1;text-align:center}.export-icon{width:48px;height:48px;font-size:23px}}

/* v26 – Ligatabelle */
.league-table-tabs{margin-bottom:16px}
.league-table-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;background:linear-gradient(135deg,#fff,#e8f0f5)}
.league-table-head h2{font-size:29px;margin:4px 0}
.league-table-head p{margin:0;color:var(--arena-muted)}
.league-table-match-count{text-align:center;min-width:125px;padding:12px;background:#e3edf3;border-radius:10px}
.league-table-match-count strong{display:block;font-size:27px;color:var(--arena-navy-2)}
.league-table-match-count span{font-size:11px;color:var(--arena-muted)}
.league-table-card{overflow-x:auto}
.league-table{min-width:850px}
.league-table th:first-child,.league-table td:first-child{width:52px;text-align:center}
.league-table th:not(:nth-child(2)),.league-table td:not(:nth-child(2)){text-align:center}
.league-table-team{display:flex;align-items:center;gap:10px;min-width:210px;text-align:left}
.league-table-team img{width:31px;height:31px;object-fit:contain}
.league-table-points strong{font-size:19px;color:var(--arena-navy-2)}
.form-badges{display:flex;gap:4px;justify-content:center}
.form-badges span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900}
.form-w{background:#c9ead8;color:#12613c}
.form-d{background:#f7e7b4;color:#775400}
.form-l{background:#efc8c5;color:#922820}
.zone-champions td:first-child{border-left:5px solid #286da2}
.zone-europa td:first-child{border-left:5px solid #e28b22}
.zone-conference td:first-child{border-left:5px solid #4f9b72}
.zone-promotion td:first-child{border-left:5px solid #277d53}
.zone-promotion-playoff td:first-child{border-left:5px solid #68a684}
.zone-relegation-playoff td:first-child{border-left:5px solid #d09b32}
.zone-relegation td:first-child{border-left:5px solid #ba3e35}
.league-table-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:12px}
.league-table-legend span{display:flex;align-items:center;gap:6px}
.league-table-legend i{width:5px;height:20px;border-radius:3px;display:inline-block}
.legend-champions{background:#286da2}
.legend-europa{background:#e28b22}
.legend-conference{background:#4f9b72}
.legend-promotion{background:#277d53}
.legend-promotion-playoff{background:#68a684}
.legend-relegation-playoff{background:#d09b32}
.legend-relegation{background:#ba3e35}
@media(max-width:650px){.league-table-head{align-items:flex-start;flex-direction:column}.league-table-match-count{width:100%}}

/* v27 – Spieltagszentrale */
.dashboard-welcome-actions{display:flex;gap:8px;flex-wrap:wrap}
.matchday-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:15px}
.matchday-deadline{display:flex;flex-direction:column;text-align:right}
.matchday-deadline span{font-size:11px;color:var(--arena-muted);text-transform:uppercase;letter-spacing:.05em}
.matchday-deadline strong{font-size:22px;color:var(--arena-blue)}
.matchday-progress{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-bottom:18px}
.matchday-progress h2{margin:4px 0 0}
.matchday-progress-number{font-size:30px;font-weight:900;color:var(--arena-navy-2)}
.matchday-progress-bar{grid-column:1 / -1;height:12px;background:#d8e2e9;border-radius:999px;overflow:hidden}
.matchday-progress-bar>div{height:100%;background:linear-gradient(90deg,var(--arena-blue),#5fa4cf);border-radius:999px}
.matchday-tip-list{display:grid;gap:10px}
.matchday-tip-row{display:grid;grid-template-columns:80px 1fr 150px 1fr 95px;gap:13px;align-items:center;padding:13px 16px}
.matchday-tipped{border-left:5px solid #2d8b5c}
.matchday-locked{background:linear-gradient(180deg,#f7f9fb,#e9eef2)}
.matchday-kickoff{display:flex;flex-direction:column;text-align:center;border-right:1px solid #d8e2e9;padding-right:12px}
.matchday-kickoff strong{color:var(--arena-blue);text-transform:uppercase}
.matchday-kickoff span{font-weight:700}
.matchday-kickoff small{color:var(--arena-muted)}
.matchday-team{display:flex;align-items:center;gap:10px}
.matchday-team img{width:42px;height:42px;object-fit:contain}
.matchday-team.away{justify-content:flex-end;text-align:right;flex-direction:row-reverse}
.matchday-score-input{display:flex;align-items:center;justify-content:center;gap:7px}
.matchday-score-input input{width:58px;height:48px;text-align:center;font-size:22px;font-weight:900;border:1px solid #9fb2c0;border-radius:8px;background:#fff}
.matchday-score-input>span{font-size:23px;font-weight:900}
.matchday-score-input small{display:block;color:var(--arena-muted)}
.locked-score{font-size:21px}
.matchday-row-status{text-align:right}
.matchday-save-bar{position:sticky;bottom:0;z-index:10;margin-top:18px;padding:15px 18px;background:rgba(16,40,61,.96);color:#fff;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 -4px 18px rgba(16,40,61,.22)}
.matchday-save-bar div{display:flex;flex-direction:column}
.matchday-save-bar span{font-size:12px;color:#cedbe4}
.matchday-save-bar button{min-width:210px}
@media(max-width:950px){.matchday-tip-row{grid-template-columns:70px 1fr 130px 1fr}.matchday-row-status{grid-column:2 / -1;text-align:left}.matchday-team strong{font-size:13px}}
@media(max-width:700px){.matchday-toolbar{align-items:stretch;flex-direction:column}.matchday-deadline{text-align:left}.matchday-tip-row{grid-template-columns:55px 1fr 105px 1fr;gap:7px;padding:11px 8px}.matchday-team{display:grid;justify-items:center;text-align:center;gap:5px}.matchday-team.away{display:grid;text-align:center}.matchday-team img{width:36px;height:36px}.matchday-score-input input{width:43px;height:44px;font-size:19px}.matchday-kickoff{padding-right:6px}.matchday-save-bar{align-items:stretch;flex-direction:column}.matchday-save-bar button{width:100%;min-width:0}}
@media(max-width:480px){.matchday-tip-row{grid-template-columns:1fr 94px 1fr}.matchday-kickoff{grid-column:1 / -1;border-right:0;border-bottom:1px solid #d8e2e9;padding:0 0 7px;display:flex;flex-direction:row;justify-content:center;gap:6px}.matchday-row-status{grid-column:1 / -1;text-align:center}.matchday-team strong{font-size:12px}}

/* Bajela-Anpassung */
.site-header .brand:empty,
.brand:empty{display:none!important}
.site-footer{text-align:center}

/* Passwort vergessen */
.login-help{text-align:center;margin-top:4px}
.login-help a{font-weight:700}
.password-reset-card{max-width:620px;margin:0 auto}
.password-reset-card h2{margin-top:0}
.password-reset-back{text-align:center;margin:6px 0 0}

/* v30 – Spiele direkt bearbeiten */
.field-help{display:block;margin-top:5px;color:var(--arena-muted);font-weight:400}
.sync-protect-label{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:12px;border:1px solid #d5b85b;border-radius:9px;background:#fff8dc}
.sync-protect-label input{width:auto!important;margin-top:3px}
.sync-protect-label span{display:flex;flex-direction:column;gap:3px}
.sync-protect-label small{color:#765407;font-weight:400}

/* v31 – Suchfunktion für einzelne Spiele */
.match-search-panel{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:20px 0 16px}
.match-search-form{display:grid;grid-template-columns:minmax(280px,1fr) 180px auto auto;align-items:end;gap:10px;flex:1}
.match-search-form label{display:grid;gap:6px;font-weight:700}
.match-search-form input,
.match-search-form select{width:100%;padding:10px;border:1px solid #aebeca;border-radius:8px;background:#fbfdfe}
.match-search-main{min-width:0}
.match-search-result{min-width:105px;text-align:center;padding:10px 12px;border-radius:10px;background:#e8f0f5}
.match-search-result strong{display:block;font-size:25px;color:var(--arena-navy-2)}
.match-search-result span{font-size:11px;color:var(--arena-muted)}
@media(max-width:950px){.match-search-panel{align-items:stretch;flex-direction:column}.match-search-form{grid-template-columns:1fr 180px auto}.match-search-form .button-secondary{grid-column:1 / -1;text-align:center}.match-search-result{width:100%}}
@media(max-width:650px){.match-search-form{grid-template-columns:1fr}.match-search-form button,.match-search-form .button{width:100%;text-align:center}.match-search-result{padding:8px}}

/* v32 – Benutzer dauerhaft löschen */
.user-admin-actions form{margin:0}
.user-admin-actions .button-danger{font-weight:800}

/* v33 – doppelte Spiele erkennen */
.duplicate-check-link{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0}
.duplicate-check-link div{display:flex;flex-direction:column;gap:4px}
.duplicate-check-link span{color:var(--arena-muted);font-size:13px}
.duplicate-summary{grid-template-columns:repeat(2,minmax(0,220px))}
.duplicate-auto-action{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;border-left:5px solid #c9362c;background:#fff4f2}
.duplicate-auto-action h2{margin:4px 0}
.duplicate-auto-action p{margin:0;color:#7a3b35}
.duplicate-group-list{display:grid;gap:18px}
.duplicate-group-card{display:grid;gap:14px}
.duplicate-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.duplicate-group-head h2{margin:4px 0 0}
.duplicate-count-badge{padding:7px 10px;border-radius:999px;background:#fee2e2;color:#991b1b;font-weight:800;white-space:nowrap}
.duplicate-match-list{display:grid;gap:8px}
.duplicate-match-row{display:grid;grid-template-columns:145px repeat(5,minmax(90px,1fr)) auto;align-items:center;gap:10px;padding:12px;border:1px solid #d7e0e6;border-radius:10px;background:#f8fafc}
.duplicate-match-row>div:not(.duplicate-status):not(.duplicate-actions){display:flex;flex-direction:column;gap:3px}
.duplicate-match-row>div span{font-size:12px;color:var(--arena-muted)}
.duplicate-keep{border-color:#8bc5a5;background:#eef9f3}
.duplicate-delete{border-color:#e8aaa4;background:#fff8f7}
.duplicate-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.duplicate-actions form{margin:0}
.duplicate-clean{text-align:center;background:#eef9f3;border-color:#95caae}
.duplicate-clean strong{font-size:22px;color:#14653f}
.duplicate-clean p{margin-bottom:0;color:#567064}
@media(max-width:1100px){.duplicate-match-row{grid-template-columns:130px repeat(3,1fr)}.duplicate-actions{grid-column:1 / -1;justify-content:flex-start}}
@media(max-width:700px){.duplicate-check-link,.duplicate-auto-action,.duplicate-group-head{align-items:stretch;flex-direction:column}.duplicate-match-row{grid-template-columns:1fr 1fr}.duplicate-status,.duplicate-actions{grid-column:1 / -1}.duplicate-actions{display:grid}.duplicate-actions .button,.duplicate-actions button{width:100%;text-align:center}.duplicate-summary{grid-template-columns:1fr 1fr}}

/* v34 – Tippspielregeln */
.hero-actions{display:flex;gap:9px;flex-wrap:wrap}
.rules-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;background:linear-gradient(135deg,#fff,#e7eff5)}
.rules-hero h1{margin:5px 0 8px;border:0;padding:0}
.rules-hero p{max-width:760px;margin:0;color:var(--arena-muted)}
.rules-jump{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding:12px}
.rules-jump a{padding:7px 10px;border-radius:999px;background:#e3edf3;color:var(--arena-blue);font-size:12px;font-weight:800;text-decoration:none}
.rules-section{display:grid;grid-template-columns:58px 1fr;gap:18px;margin-bottom:16px;scroll-margin-top:20px}
.rules-number{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#2f75a4,var(--arena-navy-2));color:#fff;font-size:21px;font-weight:900}
.rules-section h2{margin:2px 0 9px;font-size:25px}
.rules-section p{color:#475569;line-height:1.65}
.rules-example{padding:14px 16px;border-left:5px solid var(--arena-blue);border-radius:8px;background:#edf4f8;margin:14px 0;display:grid;gap:5px}
.rules-example>span{font-size:11px;color:var(--arena-muted);text-transform:uppercase}
.rules-point-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:15px 0}
.rules-point-card{border:1px solid #cbd7df;border-radius:10px;overflow:hidden;background:#fff}
.rules-point-card h3{margin:0;padding:13px 15px;background:linear-gradient(180deg,#e9f0f4,#dce7ed)}
.rules-point-card table{width:100%}
.rules-point-card td{padding:9px 13px;border-bottom:1px solid #e3eaee}
.rules-point-card td:last-child{text-align:right}
.rules-joker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rules-joker-grid article{padding:14px;border-radius:9px;background:#fff8dc;border:1px solid #d8bd54;display:flex;flex-direction:column;gap:4px}
.rules-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rules-feature-grid>div{padding:13px;border-radius:9px;background:#edf3f7;display:flex;flex-direction:column;gap:3px}
.rules-feature-grid span{font-size:12px;color:var(--arena-muted)}
.rules-list{padding-left:20px;line-height:1.8;color:#475569}
.rules-notice{padding:14px 16px;border-radius:9px;background:#fff9e6;border:1px solid #dfc56f;margin-top:14px}
.rules-notice p{margin:5px 0 0;color:#68551e}
.rules-footer-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:25px 0}
@media(max-width:800px){.rules-hero{align-items:flex-start;flex-direction:column}.rules-point-grid,.rules-feature-grid{grid-template-columns:1fr}.rules-joker-grid{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.rules-section{grid-template-columns:1fr}.rules-number{width:40px;height:40px;font-size:18px}.rules-joker-grid{grid-template-columns:1fr}.rules-jump{display:grid;grid-template-columns:1fr 1fr}.rules-footer-actions{display:grid}.rules-footer-actions .button,.rules-footer-actions button{width:100%;text-align:center}}
@media print{.site-header,.site-hero,.site-footer,.rules-jump,.rules-footer-actions{display:none!important}body{background:#fff}.card{box-shadow:none!important;break-inside:avoid}}

/* v36 – Impressum, AGB und Datenschutz */
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}
.legal-footer-nav{display:flex;gap:14px;flex-wrap:wrap}
.legal-footer-nav a{color:#fff;text-decoration:none;font-weight:700;font-size:13px}
.legal-footer-nav a:hover{text-decoration:underline}
.legal-page{display:grid;gap:18px}
.legal-card{max-width:980px;width:100%;margin:0 auto}
.legal-card h2{margin-top:25px;padding-bottom:7px;border-bottom:1px solid #d6e0e7}
.legal-card h2:first-of-type{margin-top:0}
.legal-card h3{margin-top:20px}
.legal-card p,.legal-card li,.legal-card address{line-height:1.7;color:#3f5060}
.legal-card address{font-style:normal}
.legal-card ul{padding-left:23px}
.legal-version{text-align:right;color:var(--arena-muted)!important;font-size:12px}
.legal-consent{align-items:flex-start!important}
.legal-consent input{margin-top:4px}
.legal-consent a{font-weight:800}
@media(max-width:650px){.footer-inner{align-items:center;flex-direction:column;text-align:center}.legal-footer-nav{justify-content:center}}
@media print{.legal-footer-nav,.site-header,.site-hero{display:none!important}.legal-card{box-shadow:none;border:0}}

/* v38 – erweitertes Mitgliederprofil */
.extended-profile-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px}
.profile-avatar-large{width:96px;height:96px;font-size:38px;overflow:hidden}
.profile-avatar-large img{width:100%;height:100%;object-fit:cover;display:block}
.extended-profile-main h2{margin:3px 0 4px}
.extended-profile-main>p{margin:0;color:var(--arena-muted)}
.profile-detail-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.profile-detail-badges>span,.profile-detail-badges>a{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#e8f0f5;color:#27465e;text-decoration:none;font-size:12px;font-weight:700}
.profile-detail-badges img{width:20px;height:20px;object-fit:contain}
.profile-bio{margin:14px 0}
.profile-bio p{margin:7px 0 0;line-height:1.7;white-space:normal}
.profile-edit-section{margin:18px 0}
.profile-edit-section>summary{cursor:pointer;font-size:20px;font-weight:800;color:var(--arena-navy-2)}
.profile-edit-section[open]>summary{margin-bottom:18px}
.profile-extension-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-bio-field,.profile-public-setting,.profile-extension-form>button{grid-column:1 / -1}
.profile-public-setting{padding:13px;border-radius:9px;background:#edf4f8;border:1px solid #bdd0dc}
.profile-public-setting input{width:auto!important;margin-top:3px}
.profile-public-setting span{display:flex;flex-direction:column;gap:3px}
.profile-public-setting small{font-weight:400;color:var(--arena-muted)}
.ranking-profile-link{font-weight:800;color:inherit;text-decoration:none}
.ranking-profile-link:hover{color:var(--arena-blue);text-decoration:underline}
@media(max-width:700px){
    .extended-profile-head{grid-template-columns:auto 1fr}
    .extended-profile-head>.badge{grid-column:1 / -1;justify-self:start}
    .profile-avatar-large{width:76px;height:76px}
    .profile-extension-form{grid-template-columns:1fr}
    .profile-bio-field,.profile-public-setting,.profile-extension-form>button{grid-column:auto}
}
@media(max-width:480px){
    .extended-profile-head{grid-template-columns:1fr;text-align:center}
    .profile-avatar-large{margin:0 auto}
    .profile-detail-badges{justify-content:center}
}

/* v39 – lokaler Avatar-Upload und Gruppenduelle */
.avatar-remove-setting{grid-column:1 / -1;padding:10px 12px;border:1px solid #e2b7b2;border-radius:8px;background:#fff5f4}
.avatar-remove-setting input{width:auto!important}
.group-duel-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0}
.group-duel-banner strong{display:block;font-size:20px;margin:3px 0}
.group-duel-banner p{margin:0;color:var(--arena-muted)}
.duel-create-card{margin-bottom:22px}
.duel-create-form{grid-template-columns:repeat(5,minmax(0,1fr))}
.duel-create-form>button{grid-column:1 / -1}
.duel-list{display:grid;gap:15px}
.duel-card{display:grid;gap:15px}
.duel-status-accepted{border-left:5px solid #268458}
.duel-status-pending{border-left:5px solid #d2a52d}
.duel-status-rejected,.duel-status-cancelled{opacity:.78}
.duel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.duel-head h3{margin:4px 0 0;font-size:23px}
.duel-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}
.duel-scoreboard>div:not(.duel-versus){padding:16px;border-radius:11px;background:#edf3f7;text-align:center;display:grid;gap:4px}
.duel-scoreboard b{font-size:34px;color:var(--arena-navy-2)}
.duel-scoreboard span{font-size:11px;color:var(--arena-muted)}
.duel-versus{font-size:27px;font-weight:900;color:var(--arena-muted)}
.duel-leading{background:#e7f6ee!important;border:1px solid #96cfaf}
.duel-rule-note{text-align:center;color:var(--arena-muted);font-size:12px;margin:0}
.duel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.duel-actions form{margin:0}
@media(max-width:900px){.duel-create-form{grid-template-columns:1fr 1fr}.duel-create-form>button{grid-column:1 / -1}}
@media(max-width:650px){.group-duel-banner,.duel-head{align-items:stretch;flex-direction:column}.duel-create-form{grid-template-columns:1fr}.duel-create-form>button{grid-column:auto}.duel-scoreboard{grid-template-columns:1fr}.duel-versus{text-align:center}.duel-actions{display:grid}.duel-actions button{width:100%}}


/* v43 professionelles Regelwerk */
.rules-section{
 border:1px solid #d8e3eb;
 border-left:6px solid var(--arena-blue);
 border-radius:14px;
 background:linear-gradient(180deg,#fff,#f8fbfd);
 box-shadow:0 8px 18px rgba(0,0,0,.05);
}
.rules-section h2{color:var(--arena-navy-2)}
.rules-example{
 background:#eef7ff;
 border-left:6px solid #1b75bb;
 border-radius:12px;
}
.rules-list li{margin-bottom:8px}

/* v44 – sauberer Vollbreiten-Abschnitt für Gruppenduelle */
.group-duel-rules{
    width:100%;
    max-width:none;
    box-sizing:border-box;
    margin-top:22px;
    padding:20px;
    border:1px solid #bfd5e4;
    border-left:6px solid var(--arena-blue);
    border-radius:12px;
    background:linear-gradient(180deg,#f7fbfe,#edf5fa);
    overflow:visible;
}

.group-duel-rules *{
    box-sizing:border-box;
}

.group-duel-rules-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
    align-items:start;
}

.group-duel-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#dcebf5;
    font-size:23px;
}

.group-duel-rules h3{
    margin:0 0 7px;
    font-size:22px;
    color:var(--arena-navy-2);
}

.group-duel-rules p{
    margin:0;
    line-height:1.65;
}

.group-duel-steps{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
}

.group-duel-steps article{
    min-width:0;
    padding:14px;
    border-radius:10px;
    background:#fff;
    border:1px solid #d4e1e9;
}

.group-duel-steps article>span{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    margin-bottom:8px;
    border-radius:50%;
    background:var(--arena-blue);
    color:#fff;
    font-weight:900;
}

.group-duel-steps strong{
    display:block;
    margin-bottom:5px;
}

.group-duel-steps p{
    font-size:13px;
    color:var(--arena-muted);
}

.group-duel-rules-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:16px;
}

.group-duel-rules-grid>div{
    min-width:0;
    padding:15px;
    border-radius:10px;
    background:#fff;
    border:1px solid #d4e1e9;
}

.group-duel-rules-grid strong{
    display:block;
    margin-bottom:8px;
    font-size:16px;
}

.group-duel-rules-grid ul{
    margin:0;
    padding-left:20px;
    line-height:1.65;
}

.group-duel-note{
    margin-top:14px!important;
    padding:11px 13px;
    border-radius:8px;
    background:#fff7dc;
    border:1px solid #dfc56f;
    color:#6b5512!important;
    font-weight:700;
}

/* Verhindert, dass alte Grid-Regeln den Abschnitt zusammendrücken */
.rules-section > div:last-child{
    min-width:0;
    width:100%;
}

.rules-section .group-duel-rules{
    grid-column:auto;
}

@media(max-width:900px){
    .group-duel-steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .group-duel-rules{
        padding:15px;
    }

    .group-duel-rules-head{
        grid-template-columns:1fr;
    }

    .group-duel-steps,
    .group-duel-rules-grid{
        grid-template-columns:1fr;
    }

    .group-duel-icon{
        width:40px;
        height:40px;
    }
}

/* v45 – datenbankgestützte Regelverwaltung */

/* Alte problematische Speziallayouts neutralisieren */
.group-duel-rules,
.group-duel-rules-head,
.group-duel-steps,
.group-duel-rules-grid{
    all:unset;
}

.managed-rules-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    margin-bottom:16px;
    background:linear-gradient(135deg,#fff,#e8f1f6);
}

.managed-rules-hero h2{
    margin:4px 0 7px;
    font-size:29px;
}

.managed-rules-hero p{
    margin:0;
    color:var(--arena-muted);
}

.managed-rules-nav{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
    padding:12px;
}

.managed-rules-nav a{
    display:inline-block;
    padding:7px 10px;
    border-radius:999px;
    background:#e3edf3;
    color:var(--arena-blue);
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}

.managed-rules-list{
    display:grid;
    gap:16px;
}

.managed-rule-card{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    width:100%!important;
    max-width:none!important;
    gap:18px!important;
    align-items:start!important;
    border-left:5px solid var(--arena-blue);
    scroll-margin-top:20px;
}

.managed-rule-number{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(180deg,#347eae,var(--arena-navy-2));
    color:#fff;
    font-size:19px;
    font-weight:900;
}

.managed-rule-content{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
}

.managed-rule-content header{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:10px;
}

.managed-rule-content h2{
    margin:0;
    font-size:25px;
}

.managed-rule-icon{
    font-size:25px;
}

.managed-rule-content p{
    margin:0 0 13px;
    line-height:1.7;
    color:#415363;
    overflow-wrap:anywhere;
}

.managed-rule-subtitle{
    margin:20px 0 8px;
    font-size:19px;
    color:var(--arena-navy-2);
}

.managed-rule-list{
    margin:7px 0 15px;
    padding-left:22px;
    line-height:1.75;
    color:#415363;
}

.managed-points-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
    margin:13px 0;
}

.managed-points-card{
    min-width:0;
    border:1px solid #ccd9e1;
    border-radius:10px;
    overflow:hidden;
    background:#fff;
}

.managed-points-card h3{
    margin:0;
    padding:12px 14px;
    background:#e8f0f5;
}

.managed-points-card dl{
    margin:0;
}

.managed-points-card dl>div{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:9px 13px;
    border-top:1px solid #e4ebef;
}

.managed-points-card dt,
.managed-points-card dd{
    margin:0;
}

.managed-points-card dd{
    font-weight:800;
    text-align:right;
}

.managed-joker-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
}

.managed-joker-grid article{
    min-width:0;
    padding:13px;
    border-radius:9px;
    border:1px solid #d9bd52;
    background:#fff8dc;
    display:flex;
    flex-direction:column;
    gap:4px;
}

/* Admin */
.admin-rules-intro{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:18px;
}

.admin-rules-intro h2{
    margin:4px 0;
}

.admin-rules-intro p{
    margin:0;
    color:var(--arena-muted);
}

.admin-rules-layout{
    display:grid;
    grid-template-columns:minmax(300px, .8fr) minmax(0,1.4fr);
    gap:20px;
    align-items:start;
}

.admin-rules-layout>section:first-child{
    position:sticky;
    top:15px;
}

.admin-rule-content-field{
    grid-column:1 / -1;
}

.admin-rule-help{
    margin-top:15px;
    padding:12px;
    border-radius:9px;
    background:#edf4f8;
    line-height:1.7;
}

.admin-rule-help strong{
    display:block;
}

.admin-rule-list{
    display:grid;
    gap:13px;
}

.admin-rule-card{
    display:grid;
    gap:13px;
}

.admin-rule-inactive{
    opacity:.72;
    background:#f1f3f5;
}

.admin-rule-card-head{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:12px;
    align-items:center;
}

.admin-rule-position{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#dceaf3;
    font-weight:900;
    color:var(--arena-blue);
}

.admin-rule-card h3{
    margin:3px 0 0;
}

.admin-rule-card details>summary{
    cursor:pointer;
    font-weight:800;
    color:var(--arena-blue);
}

.admin-rule-card details[open]>summary{
    margin-bottom:13px;
}

.admin-rule-edit-form{
    grid-template-columns:1fr 120px 120px;
}

.admin-rule-actions{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    justify-content:flex-end;
}

.admin-rule-actions form{
    margin:0;
}

.admin-rule-actions button:disabled{
    opacity:.4;
    cursor:not-allowed;
}

@media(max-width:950px){
    .admin-rules-layout{
        grid-template-columns:1fr;
    }

    .admin-rules-layout>section:first-child{
        position:static;
    }

    .managed-joker-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:700px){
    .managed-rules-hero,
    .admin-rules-intro{
        align-items:stretch;
        flex-direction:column;
    }

    .managed-rule-card{
        grid-template-columns:1fr!important;
    }

    .managed-points-grid,
    .managed-joker-grid{
        grid-template-columns:1fr;
    }

    .admin-rule-edit-form{
        grid-template-columns:1fr;
    }

    .admin-rule-content-field{
        grid-column:auto;
    }
}

@media print{
    .managed-rules-nav,
    .rules-footer-actions,
    .site-header,
    .site-hero,
    .site-footer{
        display:none!important;
    }

    .managed-rule-card{
        box-shadow:none!important;
        break-inside:avoid;
    }
}

/* v46 – aktueller Live-Spielstand und vorläufiger Punktegewinn */
.live-info{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
}
.live-info>div{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.live-info small{
    color:var(--arena-muted);
    white-space:nowrap;
}
.live-score-box{
    display:grid;
    justify-items:center;
    gap:4px;
}
.live-score-label{
    font-size:10px;
    font-weight:800;
    color:var(--arena-muted);
    text-transform:uppercase;
    letter-spacing:.05em;
}
.live-my-tip>div{
    min-width:0;
}
.live-my-tip small{
    display:block;
    margin-top:3px;
    color:var(--arena-muted);
    font-size:10px;
}
.live-active .live-score{
    animation:liveScorePulse 2.4s ease-in-out infinite;
}
@keyframes liveScorePulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.04)}
}
@media(max-width:700px){
    .live-info{
        align-items:flex-start;
        flex-direction:column;
    }
    .live-info small{
        white-space:normal;
    }
}
@media(prefers-reduced-motion:reduce){
    .live-active .live-score{animation:none}
}

/* v47 – automatische Live-Aktualisierung ohne Seitenreload */
.live-value-changed{
    animation:liveValueChanged .9s ease;
}

@keyframes liveValueChanged{
    0%{
        transform:scale(1);
        filter:brightness(1);
    }
    35%{
        transform:scale(1.16);
        filter:brightness(1.22);
    }
    100%{
        transform:scale(1);
        filter:brightness(1);
    }
}

.score-home,
.score-away{
    display:inline-block;
    min-width:.75em;
    text-align:center;
}

@media(prefers-reduced-motion:reduce){
    .live-value-changed{
        animation:none;
    }
}

/* v48 – Mannschafts- und Spielerbonusfragen */
.bonus-fixed-team{
    padding:11px 13px;
    border-radius:8px;
    background:#e9f2f7;
    border:1px solid #c8d9e3;
}
.squad-selector{
    margin-bottom:18px;
}
.squad-player-list{
    display:grid;
    gap:8px;
}
.squad-player-row{
    display:grid;
    grid-template-columns:80px minmax(200px,1fr) 150px auto auto auto;
    align-items:center;
    gap:9px;
}
.squad-player-row input,
.squad-player-row select{
    width:100%;
}
.squad-player-row .check-label{
    white-space:nowrap;
}
@media(max-width:900px){
    .squad-player-row{
        grid-template-columns:70px 1fr 140px;
    }
    .squad-player-row .check-label,
    .squad-player-row button{
        width:100%;
    }
}
@media(max-width:600px){
    .squad-player-row{
        grid-template-columns:1fr;
    }
}

/* v49 – Begegnung mit Mannschaft und erstem Torschützen */
.bonus-match-question{
    padding:12px 14px;
    border-radius:9px;
    background:#edf4f8;
    border:1px solid #cbdbe5;
    text-align:center;
    font-size:17px;
}
.bonus-eval-composite{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
@media(max-width:650px){
    .bonus-eval-composite{
        grid-template-columns:1fr;
    }
}

/* v50 – Bonus-System 2.0 */
.bonus-event-fields{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    padding:13px;
    border-radius:10px;
    border:1px solid #c6d9e5;
    background:#edf5fa;
}
.bonus-event-fields[hidden]{
    display:none!important;
}
.bonus-auto-evaluate-form{
    margin:12px 0;
}
@media(max-width:750px){
    .bonus-event-fields{
        grid-template-columns:1fr;
    }
}

/* v51 – externer Kaderimport */
.external-squad-import{
    display:grid;
    gap:16px;
    margin-bottom:18px;
}
.external-squad-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
}
.external-squad-head h2{
    margin:4px 0;
}
.external-squad-head p{
    margin:0;
    color:var(--arena-muted);
}
.external-squad-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}
.external-squad-actions form{
    margin:0;
}
.team-provider-card{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(250px,.8fr) auto;
    align-items:end;
    gap:16px;
    margin-bottom:18px;
}
.team-provider-card h2{
    margin:4px 0;
}
.team-provider-card p{
    margin:0;
}
.team-provider-id-form{
    display:flex;
    align-items:end;
    gap:8px;
}
.team-provider-id-form label{
    flex:1;
}
.squad-provider-meta{
    display:flex;
    flex-direction:column;
    gap:2px;
    font-size:11px;
    color:var(--arena-muted);
}
.squad-provider-meta span{
    font-weight:800;
}
.squad-player-row{
    grid-template-columns:80px minmax(190px,1fr) 140px 110px auto auto auto!important;
}
@media(max-width:1000px){
    .team-provider-card{
        grid-template-columns:1fr 1fr;
    }
    .team-provider-card>form:last-child{
        grid-column:1 / -1;
    }
    .squad-player-row{
        grid-template-columns:70px 1fr 140px!important;
    }
}
@media(max-width:650px){
    .external-squad-head{
        align-items:stretch;
        flex-direction:column;
    }
    .external-squad-actions{
        display:grid;
    }
    .external-squad-actions button{
        width:100%;
    }
    .team-provider-card{
        grid-template-columns:1fr;
    }
    .team-provider-card>form:last-child{
        grid-column:auto;
    }
    .team-provider-id-form{
        align-items:stretch;
        flex-direction:column;
    }
}

/* v52 – Live-Spielereignisse */
.live-event-list{
    display:grid;
    gap:6px;
    margin-top:13px;
    padding:12px;
    border-radius:10px;
    background:#f2f6f9;
    border:1px solid #d4e0e7;
}
.live-event-list>strong{
    margin-bottom:3px;
}
.live-event-row{
    display:grid;
    grid-template-columns:45px 28px minmax(0,1fr) auto;
    align-items:center;
    gap:7px;
    padding:7px 0;
    border-top:1px solid #dce6eb;
}
.live-event-row:first-of-type{
    border-top:0;
}
.live-event-minute{
    font-weight:900;
    color:var(--arena-navy-2);
}
.live-event-symbol{
    font-size:18px;
}
.live-event-description{
    min-width:0;
}
.live-event-description small{
    display:block;
    color:var(--arena-muted);
}
.live-event-team{
    font-size:11px;
    color:var(--arena-muted);
    text-align:right;
}
.live-event-admin-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:18px;
}
.live-event-admin-top h2{
    margin:4px 0;
}
.live-event-admin-top p{
    margin:0;
    color:var(--arena-muted);
}
.live-event-admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-end;
}
.live-event-admin-actions form,
.live-event-admin-row-actions form{
    margin:0;
}
.live-event-admin-list{
    display:grid;
    gap:11px;
}
.live-event-admin-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:16px;
}
.live-event-admin-card h3{
    margin:4px 0;
}
.live-event-admin-card p{
    margin:0;
}
.live-event-admin-meta{
    display:flex;
    flex-direction:column;
    gap:5px;
    font-size:12px;
}
.live-event-admin-row-actions{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
@media(max-width:850px){
    .live-event-admin-top{
        align-items:stretch;
        flex-direction:column;
    }
    .live-event-admin-actions{
        justify-content:flex-start;
    }
    .live-event-admin-card{
        grid-template-columns:1fr;
    }
    .live-event-admin-row-actions{
        justify-content:flex-start;
    }
}
@media(max-width:550px){
    .live-event-row{
        grid-template-columns:38px 25px minmax(0,1fr);
    }
    .live-event-team{
        grid-column:3;
        text-align:left;
    }
}

/* v53 – API-FOOTBALL Kaderimport */
.external-squad-import::after{
    content:'Kostenlos: 100 Anfragen pro Tag';
    display:inline-block;
    width:max-content;
    padding:5px 8px;
    border-radius:999px;
    background:#e8f6ee;
    color:#17663e;
    font-size:11px;
    font-weight:800;
}

/* v54 – eigene Kaderverwaltung */
.squad-v54-intro{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:18px;
}
.squad-v54-intro h2{
    margin:4px 0;
}
.squad-v54-intro p{
    margin:0;
    color:var(--arena-muted);
}
.player-add-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
}
.player-add-grid>button{
    grid-column:1 / -1;
}
.squad-player-list{
    display:grid;
    gap:10px;
}
.squad-player-editor{
    padding:0;
    overflow:hidden;
}
.squad-player-editor>summary{
    cursor:pointer;
    list-style:none;
    padding:13px 16px;
}
.squad-player-editor>summary::-webkit-details-marker{
    display:none;
}
.squad-player-summary{
    display:grid;
    grid-template-columns:auto 55px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
}
.squad-player-photo{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:50%;
    overflow:hidden;
    background:#dbe8f0;
    font-weight:900;
}
.squad-player-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.squad-player-number{
    font-size:24px;
    font-weight:900;
    color:var(--arena-navy-2);
    text-align:center;
}
.squad-player-summary strong{
    display:block;
}
.squad-player-summary small{
    color:var(--arena-muted);
}
.squad-player-edit-body{
    padding:16px;
    border-top:1px solid #dbe4ea;
    background:#f8fbfd;
}
.squad-transfer-delete{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:12px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid #dbe4ea;
}
.squad-transfer-delete>form:first-child{
    grid-template-columns:1fr 180px auto;
}
.squad-import-log{
    margin-top:24px;
}
@media(max-width:950px){
    .player-add-grid{
        grid-template-columns:1fr 1fr;
    }
    .player-add-grid>button{
        grid-column:1 / -1;
    }
    .squad-transfer-delete{
        grid-template-columns:1fr;
    }
    .squad-transfer-delete>form:first-child{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:650px){
    .squad-v54-intro{
        align-items:stretch;
        flex-direction:column;
    }
    .player-add-grid,
    .squad-transfer-delete>form:first-child{
        grid-template-columns:1fr;
    }
    .player-add-grid>button{
        grid-column:auto;
    }
    .squad-player-summary{
        grid-template-columns:auto 42px minmax(0,1fr);
    }
    .squad-player-summary>.badge{
        grid-column:1 / -1;
        justify-self:start;
    }
}

/* v55 – Kader-Import-Assistent */
.squad-import-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:18px;
}
.squad-import-hero h2{
    margin:4px 0;
}
.squad-import-hero p{
    margin:0;
    color:var(--arena-muted);
}
.squad-import-hero-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.squad-assistant-upload{
    grid-template-columns:1fr 1fr;
}
.squad-assistant-upload>.check-label,
.squad-assistant-upload>button{
    grid-column:1 / -1;
}
.squad-preview{
    display:grid;
    gap:15px;
}
.squad-preview-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
}
.squad-preview-head h2{
    margin:4px 0;
}
.squad-preview-head p{
    margin:0;
    color:var(--arena-muted);
}
.squad-preview-summary{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-end;
}
.squad-preview-summary span{
    padding:7px 10px;
    border-radius:999px;
    background:#e7eff4;
    font-size:12px;
}
.squad-preview-summary strong{
    font-size:15px;
}
.squad-preview-table td small{
    display:block;
    color:var(--arena-muted);
}
.preview-blocked{
    background:#fff3f2;
}
.preview-action-badge{
    display:inline-block;
    padding:5px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}
.preview-action-badge-create{
    background:#ddf4e7;
    color:#17643d;
}
.preview-action-badge-update{
    background:#e5eff8;
    color:#285d84;
}
.preview-action-badge-transfer{
    background:#fff0c8;
    color:#795a00;
}
.preview-action-badge-unchanged{
    background:#eef1f3;
    color:#596872;
}
.preview-action-badge-duplicate{
    background:#fde1de;
    color:#8e251d;
}
.preview-change{
    color:#375e78;
    font-size:12px;
}
.preview-issue{
    color:#a12b22;
    font-size:12px;
    font-weight:800;
}
.squad-preview-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:14px;
}
.squad-batch-history{
    margin-top:20px;
}
.squad-batch-history form{
    margin:0;
}
@media(max-width:850px){
    .squad-import-hero,
    .squad-preview-head{
        align-items:stretch;
        flex-direction:column;
    }
    .squad-import-hero-actions,
    .squad-preview-summary{
        justify-content:flex-start;
    }
}
@media(max-width:650px){
    .squad-assistant-upload{
        grid-template-columns:1fr;
    }
    .squad-assistant-upload>.check-label,
    .squad-assistant-upload>button{
        grid-column:auto;
    }
}

/* v56 – Live-Dashboard */
.live-dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;background:linear-gradient(135deg,#fff,#eaf3f8)}
.live-dashboard-hero h2{margin:4px 0 7px}
.live-dashboard-hero p{margin:0;color:var(--arena-muted)}
.live-dashboard-hero label{min-width:220px}
.live-dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.live-dashboard-summary article{display:flex;flex-direction:column;gap:5px}
.live-dashboard-summary span{color:var(--arena-muted);font-size:12px}
.live-dashboard-summary strong{font-size:25px;color:var(--arena-navy-2)}
.live-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.8fr);gap:18px;align-items:start}
.live-dashboard-ranking-card{position:sticky;top:14px}
.live-dashboard-ranking-card h2{margin:4px 0 13px;font-size:21px}
.live-dashboard-match-list{display:grid;gap:12px}
.live-dashboard-match{display:grid;gap:14px;border-left:5px solid #aebbc4}
.live-dashboard-match.is-live{border-left-color:#d62d2d;box-shadow:0 8px 22px rgba(156,31,31,.09)}
.live-dashboard-match-head{display:flex;justify-content:space-between;align-items:center}
.live-dashboard-joker{padding:5px 8px;border-radius:999px;background:#fff1bd;border:1px solid #e1c24f;font-weight:900;font-size:12px}
.live-dashboard-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;text-align:center}
.live-dashboard-teams>span{font-weight:800;font-size:16px}
.live-dashboard-teams strong{padding:8px 13px;border-radius:10px;background:var(--arena-navy-2);color:#fff;font-size:27px;white-space:nowrap}
.live-dashboard-tip-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.live-dashboard-tip-row>div{padding:10px;border-radius:9px;background:#edf3f7;text-align:center;display:flex;flex-direction:column;gap:3px}
.live-dashboard-tip-row span{color:var(--arena-muted);font-size:11px}
.live-dashboard-ranking-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #e1e8ec}
.live-dashboard-ranking-row:first-child{border-top:0}
.live-dashboard-ranking-row>a{color:inherit;text-decoration:none;font-weight:700}
.live-dashboard-ranking-row.is-current-user{margin:0 -8px;padding:9px 8px;border-radius:8px;background:#fff4c8}
@media(max-width:1000px){.live-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.live-dashboard-grid{grid-template-columns:1fr}.live-dashboard-ranking-card{position:static}}
@media(max-width:700px){.live-dashboard-hero{align-items:stretch;flex-direction:column}.live-dashboard-hero label{min-width:0}.live-dashboard-teams{grid-template-columns:1fr}.live-dashboard-tip-row{grid-template-columns:1fr}}
@media(max-width:480px){.live-dashboard-summary{grid-template-columns:1fr}}

/* v57 – bestehende Kader bearbeiten und löschen */
.squad-bulk-toolbar{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(220px,.7fr) auto;
    align-items:end;
    gap:12px;
    margin-bottom:12px;
}
.squad-player-summary{
    grid-template-columns:30px auto 55px minmax(0,1fr) auto!important;
}
.squad-player-select{
    display:grid;
    place-items:center;
    margin:0;
}
.squad-player-select input{
    width:18px;
    height:18px;
}
.squad-danger-zone{
    margin-top:22px;
    border:1px solid #d89e98;
    border-left:6px solid #b8332a;
    background:#fff8f7;
}
.squad-danger-zone h2{
    margin:4px 0 7px;
    color:#84251f;
}
.squad-danger-zone p{
    margin:0 0 15px;
    color:#75413d;
}
@media(max-width:800px){
    .squad-bulk-toolbar{
        grid-template-columns:1fr;
    }
}
@media(max-width:650px){
    .squad-player-summary{
        grid-template-columns:28px auto 42px minmax(0,1fr)!important;
    }
    .squad-player-summary>.badge{
        grid-column:2 / -1!important;
    }
}

/* v58 – rechtliche Pflichtangaben */
.legal-admin-check{
    max-width:900px;
}
.legal-admin-check h2{
    margin:4px 0 16px;
}
.legal-missing-list{
    display:grid;
    gap:8px;
    padding:0;
    list-style:none;
}
.legal-missing-list li{
    display:grid;
    grid-template-columns:minmax(190px,.7fr) minmax(0,1fr);
    gap:12px;
    padding:10px 12px;
    border-radius:8px;
    background:#fff3f1;
    border:1px solid #e1b5af;
}
.legal-missing-list code{
    font-weight:800;
}
.legal-admin-links{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:15px;
}
@media(max-width:600px){
    .legal-missing-list li{
        grid-template-columns:1fr;
    }
}

/* v59 – rechtliche Angaben im Adminbereich */
.legal-settings-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:20px;
    align-items:start;
}
.legal-settings-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:16px;
}
.legal-settings-hero h2{
    margin:4px 0 7px;
}
.legal-settings-hero p{
    margin:0;
    color:var(--arena-muted);
}
.legal-completeness{
    min-width:210px;
    padding:12px 14px;
    border-radius:10px;
    display:flex;
    flex-direction:column;
    gap:3px;
}
.legal-completeness.is-complete{
    background:#e3f5ea;
    border:1px solid #a9d8ba;
    color:#1d633d;
}
.legal-completeness.is-incomplete{
    background:#fff1ee;
    border:1px solid #e1b5ae;
    color:#8a3027;
}
.legal-completeness span{
    font-size:11px;
}
.legal-settings-form{
    display:grid;
    gap:15px;
}
.legal-settings-section h2{
    margin-top:0;
}
.legal-settings-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.legal-setting-wide{
    grid-column:1 / -1;
}
.legal-setting-checkbox{
    padding:11px 12px;
    border-radius:8px;
    background:#edf3f7;
    align-self:end;
}
.legal-field-missing{
    padding:8px;
    border-radius:8px;
    background:#fff1ef;
    outline:1px solid #df9f97;
}
.legal-field-missing>strong{
    color:#b12720;
}
.legal-settings-savebar{
    position:sticky;
    bottom:10px;
    z-index:4;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    box-shadow:0 9px 30px rgba(26,50,66,.18);
}
.legal-settings-savebar>div{
    display:flex;
    flex-direction:column;
}
.legal-settings-savebar span{
    color:var(--arena-muted);
    font-size:12px;
}
.legal-settings-preview{
    position:sticky;
    top:14px;
    display:grid;
    gap:14px;
}
.legal-settings-preview h2{
    margin:4px 0 13px;
}
.legal-settings-preview .legal-admin-links{
    display:grid;
}
.legal-settings-preview .legal-admin-links a{
    text-align:center;
}
.legal-settings-note p{
    margin-bottom:0;
}
@media(max-width:1050px){
    .legal-settings-layout{
        grid-template-columns:1fr;
    }
    .legal-settings-preview{
        position:static;
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:700px){
    .legal-settings-hero,
    .legal-settings-savebar{
        align-items:stretch;
        flex-direction:column;
    }
    .legal-settings-grid,
    .legal-settings-preview{
        grid-template-columns:1fr;
    }
    .legal-setting-wide{
        grid-column:auto;
    }
    .legal-completeness{
        min-width:0;
    }
}
/* v60 – Bonusfragen nachträglich bearbeiten */
.bonus-edit-warning{margin-bottom:16px}.bonus-edit-warning h2{margin:4px 0 12px}.bonus-reset-answers{grid-column:1/-1;padding:12px;border-radius:9px;background:#fff0ee;border:1px solid #dea9a2;color:#842a23}.bonus-edit-history{margin-top:18px}

/* v61 – UTF-8 Prüfung und Reparatur */
.utf8-admin-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:20px;
    align-items:start;
}
.utf8-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:15px;
}
.utf8-hero h2{
    margin:4px 0 7px;
}
.utf8-hero p{
    margin:0;
    color:var(--arena-muted);
}
.utf8-overall-status{
    min-width:210px;
    padding:12px 14px;
    border-radius:10px;
    display:flex;
    flex-direction:column;
    gap:3px;
}
.utf8-overall-status.is-ok{
    background:#e3f5ea;
    border:1px solid #a9d8ba;
    color:#1d633d;
}
.utf8-overall-status.has-problems{
    background:#fff1ee;
    border:1px solid #e1b5ae;
    color:#8a3027;
}
.utf8-overall-status span{
    font-size:11px;
}
.utf8-status-list{
    display:grid;
    gap:8px;
}
.utf8-status-list>div{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:9px 0;
    border-top:1px solid #e1e8ec;
}
.utf8-status-list>div:first-child{
    border-top:0;
}
.utf8-status-list span{
    color:var(--arena-muted);
}
.utf8-danger-zone{
    border-left:6px solid #b8332a;
    background:#fff8f7;
}
.utf8-danger-zone h2{
    margin:4px 0 7px;
    color:#84251f;
}
.utf8-sidebar{
    position:sticky;
    top:14px;
    display:grid;
    gap:14px;
}
.utf8-sidebar h2{
    margin:4px 0 12px;
}
.utf8-candidate-list{
    display:grid;
    gap:8px;
}
.utf8-candidate-list details{
    border:1px solid #d9e2e7;
    border-radius:8px;
    padding:9px 10px;
}
.utf8-candidate-list summary{
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    gap:8px;
    font-weight:800;
}
.utf8-candidate-list code{
    display:block;
    margin-top:8px;
    white-space:normal;
    overflow-wrap:anywhere;
}
@media(max-width:1000px){
    .utf8-admin-grid{
        grid-template-columns:1fr;
    }
    .utf8-sidebar{
        position:static;
    }
}
@media(max-width:650px){
    .utf8-hero{
        align-items:stretch;
        flex-direction:column;
    }
    .utf8-overall-status{
        min-width:0;
    }
}

/* v62 – E-Mail-Verifizierung */
.verification-message-card{max-width:720px;margin:30px auto;text-align:center;padding:28px}
.verification-message-card h1{margin:8px 0 15px}
.verification-icon{font-size:52px}
.verification-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:20px 0 12px}

/* v63 – Erweiterte Benutzerverwaltung */
.user-admin-stats{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}
.user-admin-stats a{
    text-decoration:none;
    color:inherit;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.user-admin-stats strong{
    font-size:27px;
    color:var(--arena-navy-2);
}
.user-admin-stats span{
    color:var(--arena-muted);
    font-size:12px;
}
.user-admin-filter{
    grid-template-columns:minmax(240px,1fr) 220px auto auto;
    align-items:end;
}
.user-admin-list{
    display:grid;
    gap:10px;
    margin-top:15px;
}
.user-admin-card{
    padding:0;
    overflow:hidden;
}
.user-admin-card>summary{
    cursor:pointer;
    list-style:none;
    padding:14px 16px;
}
.user-admin-card>summary::-webkit-details-marker{
    display:none;
}
.user-admin-summary{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:13px;
}
.user-admin-avatar{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:50%;
    overflow:hidden;
    background:#dbe8f0;
    font-weight:900;
}
.user-admin-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.user-admin-summary strong{
    display:block;
}
.user-admin-summary small{
    display:block;
    color:var(--arena-muted);
}
.user-admin-badges{
    display:flex;
    gap:5px;
    flex-wrap:wrap;
}
.user-admin-dates{
    text-align:right;
}
.user-admin-body{
    padding:16px;
    border-top:1px solid #dbe4ea;
    background:#f8fbfd;
}
.user-admin-edit-form{
    grid-template-columns:1fr 1fr 1fr auto;
    align-items:end;
}
.user-admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:15px;
    padding-top:15px;
    border-top:1px solid #dbe4ea;
}
.user-admin-actions form{
    margin:0;
}
.user-admin-sensitive{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:14px;
    margin-top:15px;
    padding:15px;
    border-radius:10px;
    background:#fff5f3;
    border:1px solid #e4bcb6;
}
.user-admin-sensitive>form:first-child{
    grid-template-columns:minmax(220px,1fr) auto;
    align-items:end;
}
.user-admin-log{
    margin-top:22px;
}
.pagination{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin:16px 0;
}
.pagination a{
    padding:7px 10px;
    border-radius:7px;
    background:#e8eff4;
    text-decoration:none;
    color:inherit;
}
.pagination a.active{
    background:var(--arena-navy-2);
    color:#fff;
}
.admin-summary-users{
    grid-template-columns:repeat(5,minmax(0,1fr));
}
@media(max-width:1050px){
    .user-admin-stats,
    .admin-summary-users{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .user-admin-filter,
    .user-admin-edit-form{
        grid-template-columns:1fr 1fr;
    }
    .user-admin-summary{
        grid-template-columns:auto minmax(0,1fr);
    }
    .user-admin-badges,
    .user-admin-dates{
        grid-column:2;
        text-align:left;
    }
}
@media(max-width:700px){
    .user-admin-stats,
    .admin-summary-users,
    .user-admin-filter,
    .user-admin-edit-form,
    .user-admin-sensitive,
    .user-admin-sensitive>form:first-child{
        grid-template-columns:1fr;
    }
}

/* v65 - Urkunden für die Top 3 */
.certificate-admin-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:15px;
}
.certificate-admin-hero h2,
.certificate-section-head h2,
.my-certificates-hero h2{
    margin:4px 0 7px;
}
.certificate-admin-hero p,
.my-certificates-hero p{
    margin:0;
    color:var(--arena-muted);
}
.certificate-admin-hero form{
    min-width:260px;
}
.certificate-admin-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px;
    margin-bottom:15px;
}
.certificate-admin-summary article{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.certificate-admin-summary span{
    color:var(--arena-muted);
    font-size:12px;
}
.certificate-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:14px;
}
.certificate-top3-preview{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.certificate-winner-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    padding:20px;
    border-radius:12px;
    text-align:center;
}
.certificate-winner-card.rank-1{
    background:linear-gradient(145deg,#fff8cf,#f4d36c);
    border:1px solid #d7ad35;
}
.certificate-winner-card.rank-2{
    background:linear-gradient(145deg,#f8fafb,#cbd3d8);
    border:1px solid #aab4ba;
}
.certificate-winner-card.rank-3{
    background:linear-gradient(145deg,#f9e5d3,#cd8a55);
    border:1px solid #af6d3d;
}
.certificate-medal{
    font-size:42px;
}
.certificate-issued-list{
    display:grid;
    gap:9px;
}
.certificate-issued-row{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:11px 0;
    border-top:1px solid #e0e7eb;
}
.certificate-issued-row:first-child{
    border-top:0;
}
.certificate-issued-row small{
    display:block;
    color:var(--arena-muted);
}
.certificate-issued-rank{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:21px;
    font-weight:900;
}
.certificate-issued-rank.rank-1{background:#f5d45e}
.certificate-issued-rank.rank-2{background:#d3d9dc}
.certificate-issued-rank.rank-3{background:#cf8d59}
.my-certificates-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.my-certificate-card{
    display:flex;
    flex-direction:column;
    gap:6px;
    text-align:center;
    align-items:center;
}
.my-certificate-medal{
    font-size:48px;
}
.ranking-certificate-link{
    display:inline-block;
    margin-left:8px;
    font-size:11px;
    font-weight:800;
}
/* Druckurkunde */
.certificate-document-body{
    margin:0;
    min-height:100vh;
    background:#e9edf0;
    font-family:Georgia,"Times New Roman",serif;
}
.certificate-print-toolbar{
    display:flex;
    justify-content:center;
    gap:9px;
    padding:14px;
    font-family:Arial,sans-serif;
}
.certificate-document{
    width:297mm;
    min-height:210mm;
    margin:0 auto 25px;
    padding:11mm;
    box-sizing:border-box;
    background:#fffdf7;
}
.certificate-outer-border{
    min-height:186mm;
    padding:4mm;
    border:4px solid #bf902b;
    box-sizing:border-box;
}
.certificate-inner-border{
    position:relative;
    min-height:176mm;
    padding:14mm 18mm 9mm;
    border:1px solid #bf902b;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    text-align:center;
    background:
        radial-gradient(circle at center,rgba(255,249,220,.75),transparent 55%);
}
.certificate-theme-2 .certificate-outer-border{border-color:#8e9ca5}
.certificate-theme-2 .certificate-inner-border{border-color:#8e9ca5}
.certificate-theme-3 .certificate-outer-border{border-color:#a56739}
.certificate-theme-3 .certificate-inner-border{border-color:#a56739}
.certificate-corner{
    position:absolute;
    font-size:25px;
}
.corner-top-left{top:7mm;left:8mm}
.corner-top-right{top:7mm;right:8mm}
.corner-bottom-left{bottom:7mm;left:8mm}
.corner-bottom-right{bottom:7mm;right:8mm}
.certificate-brand{
    font-family:Arial,sans-serif;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    font-size:12px;
}
.certificate-trophy{
    font-size:36px;
    margin-top:4px;
}
.certificate-header h1{
    margin:2mm 0 1mm;
    font-size:42px;
    text-transform:uppercase;
    letter-spacing:8px;
}
.certificate-subtitle{
    font-size:17px;
}
.certificate-main>p{
    margin:4mm 0 2mm;
    font-size:16px;
}
.certificate-main h2{
    margin:2mm auto 4mm;
    padding:0 15mm 3mm;
    width:max-content;
    max-width:80%;
    border-bottom:2px solid #bf902b;
    font-size:34px;
}
.certificate-theme-2 .certificate-main h2{border-color:#8e9ca5}
.certificate-theme-3 .certificate-main h2{border-color:#a56739}
.certificate-rank{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:5mm;
    margin:3mm 0;
}
.certificate-rank-number{
    width:20mm;
    height:20mm;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#d9aa36;
    color:#fff;
    font-size:34px;
    font-weight:900;
}
.certificate-theme-2 .certificate-rank-number{background:#909da5}
.certificate-theme-3 .certificate-rank-number{background:#a76b3c}
.certificate-rank div{
    text-align:left;
}
.certificate-rank strong{
    display:block;
    font-size:23px;
}
.certificate-rank small{
    font-size:14px;
}
.certificate-text{
    max-width:190mm;
    margin:4mm auto!important;
    line-height:1.55;
}
.certificate-statistics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:4mm;
    margin:5mm auto 1mm;
    max-width:210mm;
}
.certificate-statistics div{
    padding:3mm;
    border:1px solid #d6c18d;
    background:rgba(255,255,255,.7);
}
.certificate-statistics strong{
    display:block;
    font-size:22px;
}
.certificate-statistics span{
    font-family:Arial,sans-serif;
    font-size:10px;
}
.certificate-footer{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:end;
    gap:15mm;
}
.certificate-signature{
    border-top:1px solid #555;
    padding-top:2mm;
}
.certificate-signature span,
.certificate-signature strong{
    display:block;
}
.certificate-signature strong{
    font-family:Arial,sans-serif;
    margin-top:1mm;
    font-size:10px;
}
.certificate-seal{
    width:27mm;
    height:27mm;
    display:grid;
    place-content:center;
    border-radius:50%;
    border:3px double #bf902b;
    color:#8e6816;
    font-weight:900;
}
.certificate-theme-2 .certificate-seal{border-color:#8e9ca5;color:#68757c}
.certificate-theme-3 .certificate-seal{border-color:#a56739;color:#83512e}
.certificate-seal span{
    font-size:25px;
}
.certificate-seal small{
    font-family:Arial,sans-serif;
    font-size:9px;
    text-transform:uppercase;
}
.certificate-verification{
    margin-top:4mm;
    font-family:Arial,sans-serif;
    font-size:8px;
    color:#777;
}
@page{
    size:A4 landscape;
    margin:0;
}
@media print{
    .certificate-print-toolbar{
        display:none!important;
    }
    .certificate-document-body{
        background:#fff;
    }
    .certificate-document{
        margin:0;
        width:297mm;
        height:210mm;
        min-height:210mm;
        page-break-after:avoid;
    }
}
@media(max-width:900px){
    .certificate-admin-summary,
    .certificate-top3-preview,
    .my-certificates-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:650px){
    .certificate-admin-hero,
    .certificate-section-head{
        align-items:stretch;
        flex-direction:column;
    }
    .certificate-admin-hero form{
        min-width:0;
    }
    .certificate-admin-summary,
    .certificate-top3-preview,
    .my-certificates-grid{
        grid-template-columns:1fr;
    }
    .certificate-issued-row{
        grid-template-columns:50px 1fr;
    }
    .certificate-issued-row>a{
        grid-column:1 / -1;
    }
    .certificate-document{
        transform-origin:top left;
    }
}

/* v67 - DFB-Pokal und Turniermodus */
.cup-admin-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:20px;
    align-items:start;
}
.cup-admin-hero,
.cup-public-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:15px;
}
.cup-admin-hero h2,
.cup-public-hero h2{
    margin:4px 0 7px;
}
.cup-admin-hero p,
.cup-public-hero p{
    margin:0;
    color:var(--arena-muted);
}
.cup-admin-hero form,
.cup-public-hero form{
    min-width:270px;
}
.cup-admin-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px;
    margin-bottom:15px;
}
.cup-admin-summary article{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.cup-admin-summary span{
    color:var(--arena-muted);
    font-size:12px;
}
.cup-participant-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:15px;
}
.cup-participant-grid .check-label{
    padding:9px 10px;
    border-radius:8px;
    background:#edf3f7;
}
.cup-form-actions{
    display:flex;
    justify-content:flex-end;
}
.cup-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:14px;
}
.cup-section-head h2{
    margin:4px 0;
}
.cup-bracket{
    display:flex;
    gap:18px;
    overflow-x:auto;
    padding:6px 2px 16px;
    align-items:flex-start;
}
.cup-round-column{
    min-width:260px;
    display:grid;
    gap:12px;
}
.cup-round-column h3{
    text-align:center;
    margin:0;
    padding:8px;
    border-radius:8px;
    background:var(--arena-navy-2);
    color:#fff;
}
.cup-duel{
    padding:11px;
    border-radius:10px;
    border:1px solid #d7e0e5;
    background:#fff;
    box-shadow:0 4px 13px rgba(25,50,66,.07);
}
.cup-duel.is-finished{
    background:#f6faf7;
}
.cup-duel-line{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:7px 8px;
    border-radius:7px;
}
.cup-duel-line+ .cup-duel-line{
    margin-top:4px;
}
.cup-duel-line.is-winner{
    background:#dff3e7;
    color:#185d39;
    font-weight:900;
}
.cup-duel>small{
    display:block;
    margin-top:8px;
    color:var(--arena-muted);
}
.cup-duel details{
    margin-top:10px;
}
.cup-duel summary{
    cursor:pointer;
    font-weight:800;
}
.cup-duel details form{
    margin-top:10px;
}
.cup-admin-sidebar{
    position:sticky;
    top:14px;
    display:grid;
    gap:14px;
}
.cup-admin-sidebar h2{
    margin:4px 0 12px;
}
.cup-danger-zone{
    border-left:6px solid #b8332a;
    background:#fff8f7;
}
.cup-winner-section{
    border-left:6px solid #c69a2f;
    background:#fffbed;
}
.cup-public-status{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
.cup-public-status span{
    padding:7px 10px;
    border-radius:999px;
    background:#edf3f7;
}
.cup-certificate-title{
    margin:8mm auto;
    font-size:28px;
    font-weight:900;
    color:#9a6d13;
}
@media(max-width:1050px){
    .cup-admin-layout{
        grid-template-columns:1fr;
    }
    .cup-admin-sidebar{
        position:static;
        grid-template-columns:1fr 1fr;
    }
    .cup-admin-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:750px){
    .cup-admin-hero,
    .cup-public-hero,
    .cup-section-head{
        align-items:stretch;
        flex-direction:column;
    }
    .cup-admin-hero form,
    .cup-public-hero form{
        min-width:0;
    }
    .cup-participant-grid{
        grid-template-columns:1fr 1fr;
    }
    .cup-admin-sidebar{
        grid-template-columns:1fr;
    }
}
@media(max-width:500px){
    .cup-admin-summary,
    .cup-participant-grid{
        grid-template-columns:1fr;
    }
}

/* v68 - echter DFB-Pokal als automatischer Tipp-Wettbewerb */
.sync-result-row code{
    padding:2px 5px;
    border-radius:5px;
    background:#e8eef2;
}

/* v68.1 – automatische DFB-Pokal-Erkennung */
.dfb-detection-result{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    padding:10px 12px;
    border-radius:8px;
    background:#e6f4eb;
    border:1px solid #b8dac5;
}
.dfb-detection-result span{
    overflow-wrap:anywhere;
}
.dfb-diagnostic-card{
    margin-top:18px;
}
.dfb-diagnostic-card h2{
    margin:4px 0 14px;
}

/* v68.2 – DFB-Pokal-Mannschaften */
.dfb-participants-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px}
.dfb-participants-hero h2{margin:4px 0 7px}
.dfb-participants-hero p{margin:0;color:var(--arena-muted)}
.dfb-participants-hero form{min-width:230px}
.dfb-participant-count{display:flex;align-items:baseline;gap:8px;margin-bottom:15px}
.dfb-participant-count strong{font-size:30px;color:var(--arena-navy-2)}
.dfb-participant-count span{color:var(--arena-muted)}
.dfb-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dfb-team-card{display:flex;align-items:center;gap:10px;padding:11px;border-radius:9px;background:#edf3f7}
.dfb-team-logo{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#fff;font-weight:900}
.dfb-team-logo img{width:100%;height:100%;object-fit:contain}
.dfb-team-card strong,.dfb-team-card small{display:block}
.dfb-team-card small{margin-top:3px;color:var(--arena-muted)}
@media(max-width:900px){.dfb-team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.dfb-participants-hero{align-items:stretch;flex-direction:column}.dfb-participants-hero form{min-width:0}.dfb-team-grid{grid-template-columns:1fr}}

/* v69 – zentrale Wettbewerbsverwaltung */
.competitions-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:16px;
}
.competitions-hero h2{
    margin:4px 0 7px;
}
.competitions-hero p{
    margin:0;
    color:var(--arena-muted);
}
.competition-import-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:16px;
}
.competition-import-card{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.competition-import-card h2{
    margin:0;
}
.competition-import-card p{
    margin:0;
    color:var(--arena-muted);
    flex:1;
}
.competition-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:13px;
}
.competition-section-head h2{
    margin:4px 0;
}
.import-status{
    display:inline-block;
    padding:5px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
}
.import-status-success{
    background:#dff3e7;
    color:#185d39;
}
.import-status-warning{
    background:#fff1c8;
    color:#805d09;
}
.import-status-error{
    background:#f7dfdc;
    color:#8c2921;
}
.admin-runtime-error{
    max-width:760px;
    margin:40px auto;
}
@media(max-width:950px){
    .competition-import-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:650px){
    .competitions-hero{
        align-items:stretch;
        flex-direction:column;
    }
    .competition-import-grid{
        grid-template-columns:1fr;
    }
}

/* v69.1 – bereinigte OpenLigaDB-API-Schicht */
.competitions-hero-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.competitions-hero-actions form{
    margin:0;
}
.api-layer-notice{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
    border-left:5px solid #2c7d50;
    background:#eff8f2;
}
.api-layer-notice span{
    color:var(--arena-muted);
}
@media(max-width:700px){
    .competitions-hero-actions{
        justify-content:stretch;
        flex-direction:column;
    }
    .competitions-hero-actions button{
        width:100%;
    }
    .api-layer-notice{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* v69.2 – Datenbank-Kollation */
.db-collation-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:15px;
}
.db-collation-hero h2{
    margin:4px 0 7px;
}
.db-collation-hero p{
    margin:0;
    color:var(--arena-muted);
}
.db-collation-status{
    min-width:220px;
    padding:12px 14px;
    border-radius:10px;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.db-collation-status.is-clean{
    background:#e3f5ea;
    border:1px solid #a9d8ba;
    color:#1d633d;
}
.db-collation-status.has-problems{
    background:#fff1ee;
    border:1px solid #e1b5ae;
    color:#8a3027;
}
.db-collation-status span{
    font-size:11px;
}
.db-collation-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px;
    margin-bottom:15px;
}
.db-collation-summary article{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.db-collation-summary span{
    color:var(--arena-muted);
    font-size:12px;
}
.db-connection-list{
    display:grid;
    gap:8px;
}
.db-connection-list>div{
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:9px 0;
    border-top:1px solid #e0e7eb;
}
.db-connection-list>div:first-child{
    border-top:0;
}
.db-connection-list span{
    color:var(--arena-muted);
}
.db-collation-danger{
    border-left:6px solid #b8332a;
    background:#fff8f7;
}
.db-collation-danger h2{
    margin:4px 0 8px;
    color:#84251f;
}
@media(max-width:900px){
    .db-collation-summary{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:650px){
    .db-collation-hero{
        align-items:stretch;
        flex-direction:column;
    }
    .db-collation-status{
        min-width:0;
    }
    .db-collation-summary{
        grid-template-columns:1fr;
    }
}

/* v70.1 – echte DFB-Pokalspiele auf cup.php */
.real-cup-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:15px;
}
.real-cup-hero h2{
    margin:4px 0 7px;
}
.real-cup-hero p{
    margin:0;
    color:var(--arena-muted);
}
.real-cup-hero-actions{
    display:flex;
    align-items:flex-end;
    gap:9px;
    flex-wrap:wrap;
}
.real-cup-hero-actions form{
    min-width:310px;
}
.real-cup-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px;
    margin-bottom:15px;
}
.real-cup-summary article{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.real-cup-summary span{
    color:var(--arena-muted);
    font-size:12px;
}
.real-cup-rounds{
    display:grid;
    gap:15px;
}
.real-cup-round-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:14px;
}
.real-cup-round-head h2{
    margin:4px 0;
}
.real-cup-round-meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.real-cup-round-meta>span{
    padding:6px 9px;
    border-radius:999px;
    background:#edf3f7;
    color:var(--arena-muted);
    font-size:11px;
}
.real-cup-match-grid{
    display:grid;
    gap:9px;
}
.real-cup-match{
    display:grid;
    grid-template-columns:150px minmax(180px,1fr) 95px minmax(180px,1fr);
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid #dbe4e9;
    border-radius:10px;
    background:#fff;
}
.real-cup-match.is-live{
    border-color:#d04a3c;
    box-shadow:0 0 0 2px rgba(208,74,60,.1);
}
.real-cup-match-time{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.real-cup-match-time span,
.real-cup-match-time small{
    color:var(--arena-muted);
}
.real-cup-status{
    width:max-content;
    margin-top:4px;
    padding:3px 6px;
    border-radius:999px;
    background:#edf3f7;
    font-size:10px;
    font-weight:800;
}
.real-cup-status.status-live{
    background:#f7dfdc;
    color:#8c2921;
}
.real-cup-status.status-finished{
    background:#dff3e7;
    color:#185d39;
}
.real-cup-team{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}
.real-cup-team strong{
    overflow:hidden;
    text-overflow:ellipsis;
}
.real-cup-team-away{
    justify-content:flex-end;
    text-align:right;
}
.real-cup-logo{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    background:#f3f6f8;
    font-weight:900;
}
.real-cup-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.real-cup-score{
    text-align:center;
}
.real-cup-score strong{
    font-size:22px;
    white-space:nowrap;
}
@media(max-width:900px){
    .real-cup-summary{
        grid-template-columns:1fr 1fr;
    }
    .real-cup-match{
        grid-template-columns:115px minmax(0,1fr) 70px minmax(0,1fr);
    }
}
@media(max-width:680px){
    .real-cup-hero,
    .real-cup-round-head{
        align-items:stretch;
        flex-direction:column;
    }
    .real-cup-hero-actions{
        align-items:stretch;
        flex-direction:column;
    }
    .real-cup-hero-actions form{
        min-width:0;
    }
    .real-cup-round-meta{
        justify-content:flex-start;
    }
    .real-cup-match{
        grid-template-columns:1fr auto 1fr;
    }
    .real-cup-match-time{
        grid-column:1 / -1;
        flex-direction:row;
        align-items:center;
        flex-wrap:wrap;
        border-bottom:1px solid #e2e8ec;
        padding-bottom:7px;
    }
    .real-cup-team{
        flex-direction:column;
        text-align:center;
    }
    .real-cup-team-away{
        flex-direction:column-reverse;
        text-align:center;
    }
}
@media(max-width:480px){
    .real-cup-summary{
        grid-template-columns:1fr;
    }
    .real-cup-match{
        gap:7px;
        padding:10px 7px;
    }
    .real-cup-team strong{
        font-size:12px;
    }
    .real-cup-logo{
        width:36px;
        height:36px;
        flex-basis:36px;
    }
}
/* ===== Einladung / Share ===== */

.invite-layout{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:24px;
    align-items:start;
}

.invite-link-row{
    display:flex;
    gap:10px;
    margin:20px 0;
}

.invite-link-row input{
    flex:1;
    min-width:0;
}

.invite-share-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:20px 0;
}

.invite-share-button{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:14px;
    border-radius:12px;

    background:#edf3f8;
    border:1px solid #c8d5df;

    text-decoration:none;
    color:#16364f;
    font-weight:700;

    transition:.2s;
}

.invite-share-button:hover{
    transform:translateY(-2px);
    background:#dcebf5;
}

.invite-share-button span{
    font-size:22px;
}

.invite-message-preview{
    margin-top:25px;
}

.invite-message-preview pre{
    white-space:pre-wrap;
    font-family:inherit;
    line-height:1.6;
    background:#f8fafc;
    padding:16px;
    border-radius:10px;
}

.invite-qr-card{
    text-align:center;
}

.invite-qr-card img{
    width:100%;
    max-width:280px;
    height:auto;
}

@media(max-width:900px){

    .invite-layout{
        grid-template-columns:1fr;
    }

    .invite-share-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:520px){

    .invite-link-row{
        flex-direction:column;
    }

    .invite-share-grid{
        grid-template-columns:1fr;
    }

}

/* DFB-Pokal: feste K.-o.-Runden-Navigation */
.dfb-round-nav{
    display:grid;
    grid-template-columns:repeat(6,minmax(120px,1fr));
    gap:10px;
    margin:18px 0;
}
.dfb-round-nav a,
.dfb-round-nav span{
    display:flex;
    min-height:48px;
    align-items:center;
    justify-content:center;
    padding:9px 12px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.14);
    text-align:center;
    font-weight:800;
    text-decoration:none;
}
.dfb-round-nav a:hover{
    transform:translateY(-1px);
}
.dfb-round-nav .is-pending{
    opacity:.48;
    cursor:not-allowed;
}
.real-cup-round{
    scroll-margin-top:20px;
}
@media (max-width:980px){
    .dfb-round-nav{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
    .dfb-round-nav{grid-template-columns:repeat(2,1fr)}
}

/* ===== DFB-Pokal Phasen 1–6 ===== */
.dfb-feature-nav{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin:18px 0}
.dfb-feature-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid #cedbe5;text-decoration:none;font-weight:800;color:#16364f;box-shadow:0 4px 14px rgba(20,54,79,.07)}
.dfb-feature-nav a:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,54,79,.12)}
.dfb-feature-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.dfb-feature-head h2{margin:4px 0}.dfb-feature-head p{margin:0;color:#5f7484}
.dfb-bracket{display:flex;gap:18px;overflow-x:auto;padding:8px 2px 22px;align-items:flex-start}
.dfb-bracket-round{min-width:250px;flex:1}.dfb-bracket-round h3{text-align:center;margin:0 0 12px}
.dfb-bracket-match{background:#fff;border:1px solid #d5e0e8;border-radius:12px;padding:10px;margin:0 0 12px;box-shadow:0 4px 12px rgba(20,54,79,.06)}
.dfb-bracket-match>div{display:flex;justify-content:space-between;gap:10px;padding:5px 7px;border-radius:7px}.dfb-bracket-match .is-winner{background:#e9f8ec;font-weight:900}.dfb-bracket-match small{display:block;margin:6px 7px 0;color:#748895}.dfb-bracket-match.is-live{border-color:#d33;box-shadow:0 0 0 2px rgba(210,30,30,.08)}
.dfb-bracket-pending{padding:24px 12px;border:1px dashed #b9c7d1;border-radius:12px;text-align:center;color:#7b8c98}
.dfb-two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.dfb-live-row,.dfb-rank-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e3e9ed}.dfb-live-row small{display:block;color:#718592;margin-top:3px}.dfb-rank-row span{flex:1}
.dfb-bonus-form{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dfb-bonus-form label{display:grid;gap:7px;font-weight:800}.dfb-bonus-form button{grid-column:1/-1;justify-self:start}
.dfb-award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dfb-award{text-align:center}.dfb-award>span{font-size:46px}.dfb-award h3{margin:8px 0}.dfb-award strong{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef5fa}
.dfb-history{margin-bottom:18px}.dfb-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dfb-podium>div{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:12px;background:#f3f7fa}.dfb-podium span{color:#647887}
@media(max-width:980px){.dfb-feature-nav{grid-template-columns:repeat(3,1fr)}.dfb-award-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.dfb-feature-head{align-items:stretch;flex-direction:column}.dfb-two-col,.dfb-bonus-form{grid-template-columns:1fr}.dfb-podium{grid-template-columns:1fr}.dfb-award-grid{grid-template-columns:1fr}}
@media(max-width:540px){.dfb-feature-nav{grid-template-columns:repeat(2,1fr)}}

/* DFB-Pokal: interaktiver Turnierbaum */
.dfb-bracket-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.dfb-bracket-actions{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.dfb-bracket-actions label{display:grid;gap:4px;font-size:.8rem;color:#617889}.dfb-bracket-actions select{min-width:220px}.dfb-bracket-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.dfb-bracket-toolbar>div:first-child{display:grid;gap:4px}.dfb-bracket-toolbar span{color:#687f90;font-size:.88rem}.dfb-bracket-legend{display:flex;gap:15px;flex-wrap:wrap}.dfb-bracket-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#a8b5be}.legend-dot.winner{background:#2e9a51}.legend-dot.live{background:#d62929;box-shadow:0 0 0 4px rgba(214,41,41,.12)}.legend-dot.pending{background:#a8b5be}
.dfb-bracket-shell{position:relative;overflow:hidden;border-radius:16px}.dfb-bracket{display:grid;grid-template-columns:repeat(6,minmax(250px,1fr));gap:24px;overflow-x:auto;padding:8px 4px 28px;align-items:stretch;scroll-snap-type:x proximity}.dfb-bracket-round{min-width:250px;display:flex;flex-direction:column;scroll-snap-align:start}.dfb-bracket-round-head{position:sticky;top:0;z-index:2;text-align:center;padding:10px 8px 13px;margin-bottom:12px;background:linear-gradient(180deg,#f5f8fa 78%,rgba(245,248,250,0));border-radius:12px}.dfb-bracket-round-head span{display:block;color:#647d8f;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.dfb-bracket-round-head h3{margin:3px 0;color:#0f3049}.dfb-bracket-round-head small{color:#7b8f9d}.dfb-bracket-round-body{height:100%;display:flex;flex-direction:column;justify-content:space-around;gap:12px;position:relative}.dfb-bracket-round:not(:last-child) .dfb-bracket-round-body:after{content:"";position:absolute;right:-16px;top:12%;bottom:12%;width:1px;background:linear-gradient(180deg,transparent,#c8d5de 15%,#c8d5de 85%,transparent)}
.dfb-bracket-match{font:inherit;color:inherit;width:100%;text-align:left;background:#fff;border:1px solid #d4e0e8;border-radius:13px;padding:9px;box-shadow:0 5px 15px rgba(18,51,75,.07);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dfb-bracket-match:hover,.dfb-bracket-match:focus-visible{transform:translateY(-2px);box-shadow:0 9px 23px rgba(18,51,75,.13);border-color:#7799ae;outline:none}.dfb-bracket-match.is-live{border-color:#df5b5b;box-shadow:0 0 0 2px rgba(214,41,41,.08),0 5px 15px rgba(18,51,75,.07)}.dfb-bracket-status{display:flex;justify-content:flex-end;color:#78909f;font-size:.69rem;font-weight:800;text-transform:uppercase;margin:0 3px 4px}.is-live .dfb-bracket-status{color:#c92020}.dfb-bracket-team{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 7px;border-radius:8px}.dfb-bracket-team.is-winner{background:#e8f7ec;color:#176c31;font-weight:900}.dfb-bracket-team.is-winner:after{content:"✓";font-size:.72rem}.dfb-bracket-team-name{min-width:0;display:flex;align-items:center;gap:7px}.dfb-bracket-team-name img{width:25px;height:25px;object-fit:contain;flex:0 0 auto}.dfb-bracket-team-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfb-bracket-team>strong{font-size:1.02rem;margin-left:auto}.dfb-bracket-meta{border-top:1px solid #edf1f4;margin-top:5px;padding:7px 5px 0;display:flex;justify-content:space-between;gap:6px;color:#718694;font-size:.68rem}.dfb-bracket-pending{min-height:138px;padding:24px 14px;border:1px dashed #b8c7d1;border-radius:13px;text-align:center;color:#768a98;background:rgba(255,255,255,.48);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.dfb-bracket-pending>span{font-size:1.4rem}.dfb-bracket-pending small{line-height:1.35}
.dfb-match-dialog{width:min(680px,calc(100% - 28px));border:0;border-radius:18px;padding:27px;box-shadow:0 30px 90px rgba(0,0,0,.34);color:#15364e}.dfb-match-dialog::backdrop{background:rgba(9,28,42,.72);backdrop-filter:blur(3px)}.dfb-dialog-close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:2rem;line-height:1;color:#607687;cursor:pointer}.dfb-dialog-kickoff{color:#6e8493;margin-top:-5px}.dfb-dialog-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin:22px 0}.dfb-dialog-scoreboard>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.dfb-dialog-scoreboard img,.dfb-dialog-logo-placeholder{width:64px;height:64px;object-fit:contain;display:grid;place-items:center;font-size:2rem}.dfb-dialog-score{font-size:2rem;font-weight:900;white-space:nowrap;text-align:center}.dfb-dialog-score span{display:block;font-size:.72rem;color:#718594;font-weight:600;margin-top:3px}.dfb-dialog-trends{background:#f4f7f9;border-radius:13px;padding:16px;margin-bottom:16px}.dfb-dialog-trend-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px}.dfb-dialog-trend-head span{color:#728796;font-size:.82rem}.dfb-trend-row{display:grid;grid-template-columns:95px 1fr 42px;gap:9px;align-items:center;margin:8px 0;font-size:.82rem}.dfb-trend-row>div{height:8px;background:#dce5eb;border-radius:99px;overflow:hidden}.dfb-trend-row i{display:block;height:100%;background:#587d96;border-radius:99px}.dfb-trend-row strong{text-align:right}.dfb-dialog-trends p{margin:13px 0 0;color:#617989}
@media(max-width:760px){.dfb-bracket-hero,.dfb-bracket-toolbar{display:grid}.dfb-bracket-actions{align-items:stretch}.dfb-bracket-actions form,.dfb-bracket-actions select{width:100%}.dfb-bracket{grid-template-columns:repeat(6,84vw);gap:16px}.dfb-bracket-round{min-width:84vw}.dfb-dialog-scoreboard{grid-template-columns:1fr auto 1fr;gap:8px}.dfb-dialog-scoreboard img,.dfb-dialog-logo-placeholder{width:46px;height:46px}.dfb-dialog-score{font-size:1.55rem}.dfb-trend-row{grid-template-columns:80px 1fr 38px}}

/* DFB-Pokal Erlebnis, Live-Center und Prognosen */
.dfb-live-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.dfb-live-actions label{display:grid;gap:4px;font-size:.8rem;color:#617889}.dfb-live-status{display:flex;align-items:center;gap:9px;margin-bottom:16px;padding:12px 16px}.dfb-live-status>span:last-child{margin-left:auto;color:#6c8190;font-size:.82rem}.dfb-live-pulse{width:10px;height:10px;border-radius:50%;background:#22a447;box-shadow:0 0 0 0 rgba(34,164,71,.45);animation:dfbPulse 1.8s infinite}.dfb-live-list{display:grid;gap:14px}.dfb-live-card{border:1px solid #d9e3ea;border-radius:14px;padding:14px;background:#fff;transition:box-shadow .2s ease,transform .2s ease}.dfb-live-card.is-live{border-color:#db5555;box-shadow:0 0 0 2px rgba(219,85,85,.08)}.dfb-live-card.score-changed{animation:dfbGoalFlash 1.3s ease}.dfb-live-card-head{display:flex;justify-content:space-between;gap:12px;color:#6d8291;font-size:.78rem;text-transform:uppercase;font-weight:800}.dfb-live-card-head strong{color:#c82727}.dfb-live-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:15px 0}.dfb-live-scoreboard>div{display:flex;align-items:center;gap:9px;min-width:0}.dfb-live-scoreboard>div:last-child{justify-content:flex-end;text-align:right}.dfb-live-scoreboard img,.dfb-live-logo-placeholder{width:38px;height:38px;object-fit:contain;display:grid;place-items:center;flex:0 0 auto}.dfb-live-score{font-size:1.45rem;white-space:nowrap}.dfb-live-forecast{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:11px;border-top:1px solid #edf1f4}.dfb-live-forecast>div{display:flex;justify-content:space-between;gap:7px;padding:7px 9px;border-radius:8px;background:#f2f6f8;font-size:.78rem}.dfb-live-forecast p{grid-column:1/-1;margin:2px 0 0;color:#708594;font-size:.76rem}.dfb-rank-row small{color:#748896}.dfb-rank-row.is-leader{background:#fff8dc;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:9px}.dfb-rank-row.leader-changed{animation:dfbLeaderGlow 1.8s ease}.dfb-bracket-match.is-decided{animation:dfbAdvanceIn .55s ease both}.dfb-bracket-round.round-6 .dfb-bracket-match.is-decided{border:2px solid #d7aa28;background:linear-gradient(145deg,#fff,#fff8dd);box-shadow:0 9px 28px rgba(190,142,23,.22)}.dfb-bracket-round.round-6 .dfb-bracket-team.is-winner{background:linear-gradient(135deg,#fff1a8,#f7d35e);color:#5f4400}.dfb-bracket-round.round-6 .dfb-bracket-team.is-winner:after{content:"🏆"}.dfb-bracket-forecast{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:7px}.dfb-bracket-forecast span{padding:4px;border-radius:6px;background:#f1f5f7;text-align:center;color:#5f7585;font-size:.63rem;font-weight:800}.dfb-confetti{position:fixed;top:-20px;width:9px;height:14px;z-index:9999;pointer-events:none;animation:dfbConfettiFall 2.6s linear forwards}
@keyframes dfbPulse{70%{box-shadow:0 0 0 9px rgba(34,164,71,0)}100%{box-shadow:0 0 0 0 rgba(34,164,71,0)}}
@keyframes dfbGoalFlash{0%,100%{background:#fff}30%{background:#fff1a8;transform:scale(1.015)}}
@keyframes dfbLeaderGlow{0%,100%{box-shadow:none}45%{box-shadow:0 0 0 4px rgba(216,167,22,.25)}}
@keyframes dfbAdvanceIn{from{opacity:.6;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes dfbConfettiFall{to{transform:translate3d(var(--drift),110vh,0) rotate(720deg);opacity:.9}}
@media(max-width:700px){.dfb-live-actions{align-items:stretch}.dfb-live-actions form,.dfb-live-actions select{width:100%}.dfb-live-status{align-items:flex-start;flex-wrap:wrap}.dfb-live-status>span:last-child{margin-left:19px;width:100%}.dfb-live-scoreboard{gap:7px}.dfb-live-scoreboard b{font-size:.82rem}.dfb-live-scoreboard img,.dfb-live-logo-placeholder{width:30px;height:30px}.dfb-live-forecast{grid-template-columns:1fr}.dfb-live-forecast p{grid-column:auto}}


/* DFB Live-Center Ausbaustufe: Minute, Toralarm, Livepunkte, Überraschungstipp, Finaltag */
.dfb-live-hint{margin:-8px 0 10px;color:#728695;font-size:.78rem}
.dfb-rank-row small em{color:#168545;font-style:normal;font-weight:800}
.dfb-goal-toast{position:fixed;top:18px;left:50%;z-index:10000;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-width:min(520px,calc(100vw - 28px));padding:15px 20px;border-radius:14px;background:#0a7b3e;color:#fff;box-shadow:0 16px 45px rgba(0,0,0,.3);transform:translate(-50%,-140%);opacity:0}.dfb-goal-toast.show{animation:dfbGoalToast 4.7s ease both}.dfb-goal-toast strong{font-size:1.15rem}.dfb-goal-toast span{font-weight:700}.dfb-goal-toast b{font-size:1.2rem;white-space:nowrap}
.dfb-live-scoreboard .goal-team{animation:dfbGoalTeam 1.7s ease}.dfb-live-card.is-final{border-color:#d6aa29;background:linear-gradient(145deg,#fff,#fffaf0)}
.dfb-live-forecast>div{position:relative;overflow:hidden}.dfb-live-forecast>div i{position:absolute;left:0;bottom:0;width:var(--share);height:3px;background:currentColor;opacity:.45;transition:width .5s ease}
.dfb-surprise-tip{display:grid;gap:4px;margin-top:16px;padding:13px;border:1px solid #e8cc69;border-radius:11px;background:linear-gradient(135deg,#fffbea,#fff4bf)}.dfb-surprise-tip span{color:#826600;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.dfb-surprise-tip strong{color:#423400}.dfb-surprise-tip small{color:#776a3d}
.dfb-final-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;border:1px solid #d6aa29;background:linear-gradient(120deg,#fff8d4,#fff,#fff3b1);box-shadow:0 8px 30px rgba(190,142,23,.15)}.dfb-final-banner strong{font-size:1.15rem;color:#765600}.dfb-final-banner span{color:#7e6a2d}.dfb-feature-head.dfb-final-mode{border-color:#d6aa29;background:linear-gradient(135deg,#fff,#fff8dc)}
@keyframes dfbGoalToast{0%{transform:translate(-50%,-140%);opacity:0}10%,78%{transform:translate(-50%,0);opacity:1}100%{transform:translate(-50%,-140%);opacity:0}}@keyframes dfbGoalTeam{0%,100%{transform:scale(1)}35%{transform:scale(1.07);filter:drop-shadow(0 0 10px rgba(25,171,83,.6))}} 
@media(max-width:700px){.dfb-goal-toast{grid-template-columns:1fr auto;gap:5px 10px}.dfb-goal-toast strong{grid-column:1/-1}.dfb-final-banner{align-items:flex-start;flex-direction:column}}

/* ===== Öffentliche Kaderansicht ===== */
.league-table-team-link{color:inherit;text-decoration:none;border-radius:6px}.league-table-team-link:hover{text-decoration:underline}.league-table-team-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.public-squad-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}.public-squad-team{display:flex;align-items:center;gap:17px}.public-squad-team>img{width:72px;height:72px;object-fit:contain}.public-squad-head h2{margin:3px 0}.public-squad-head p{margin:0;color:#687d8b}
.public-squad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.public-player-card{display:grid;grid-template-columns:64px 46px minmax(0,1fr);align-items:center;gap:14px;padding:16px}.public-player-photo{width:64px;height:64px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#168aca,#0d6fa9);display:grid;place-items:center;color:#fff;font-size:1.55rem;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.public-player-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.public-player-number{font-size:1.45rem;font-weight:900;text-align:center;color:#183b54}.public-player-info{min-width:0}.public-player-info h3{margin:0 0 8px;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-player-info dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:0}.public-player-info dl>div{min-width:0}.public-player-info dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#748895;font-weight:800}.public-player-info dd{margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-squad-empty{text-align:center;padding:34px}.public-squad-empty h2{margin-top:0}
@media(max-width:760px){.public-squad-head{align-items:flex-start;flex-direction:column}.public-squad-grid{grid-template-columns:1fr}.public-player-card{grid-template-columns:58px 38px minmax(0,1fr);gap:10px;padding:13px}.public-player-photo{width:58px;height:58px}.public-player-info dl{grid-template-columns:1fr}.public-squad-team>img{width:58px;height:58px}}


/* Public links from team mentions to the squad page */
.team-link {
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
}
.team-link:hover,
.team-link:focus-visible {
    color: #176f9f;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ===== Öffentliche Spielerprofile ===== */
.public-player-card{position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.public-player-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(18,51,75,.13);border-color:#92afc0}.public-player-card-link{position:absolute;inset:0;z-index:1;border-radius:inherit}.public-player-card-link:focus-visible{outline:3px solid #168aca;outline-offset:3px}.public-player-card .public-player-photo,.public-player-card .public-player-number,.public-player-card .public-player-info{pointer-events:none}
.public-player-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;color:#6b8190;font-size:.9rem}.public-player-breadcrumb a{color:#176f9f;text-decoration:none}.public-player-breadcrumb a:hover{text-decoration:underline}
.public-player-hero{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;align-items:center;gap:28px;padding:28px;margin-bottom:20px}.public-player-profile-photo{width:150px;height:150px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#168aca,#0d6fa9);color:#fff;font-size:4rem;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 10px 25px rgba(18,51,75,.15)}.public-player-profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.public-player-profile-main h1{margin:4px 0 13px;font-size:clamp(1.8rem,4vw,3rem);line-height:1.06}.public-player-team-link{display:inline-flex;align-items:center;gap:10px;color:#21465f;text-decoration:none;font-weight:800}.public-player-team-link:hover{text-decoration:underline}.public-player-team-link img{width:34px;height:34px;object-fit:contain}.public-player-shirt{justify-self:end;display:grid;place-items:center;min-width:130px;padding:18px;border-radius:16px;background:#eff6fa;border:1px solid #cfdee7}.public-player-shirt span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#6b8190;font-weight:800}.public-player-shirt strong{font-size:3rem;line-height:1;color:#123b56;margin-top:7px}
.public-player-details{padding:24px}.public-player-details h2{margin-top:0}.public-player-details dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}.public-player-details dl>div{padding:15px;border-radius:12px;background:#f3f7fa;border:1px solid #dce6ec}.public-player-details dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#718694;font-weight:900}.public-player-details dd{margin:5px 0 0;font-size:1.05rem;font-weight:700;color:#173b53}.public-player-details dd a{color:inherit}.public-player-actions{margin-top:18px}.public-player-empty{text-align:center;padding:36px}
@media(max-width:760px){.public-player-hero{grid-template-columns:100px minmax(0,1fr);gap:18px;padding:20px}.public-player-profile-photo{width:100px;height:100px;font-size:2.7rem}.public-player-shirt{grid-column:1/-1;justify-self:stretch;display:flex;align-items:center;justify-content:space-between;min-width:0;padding:13px 16px}.public-player-shirt strong{font-size:2rem;margin:0}.public-player-details dl{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.public-player-hero{grid-template-columns:1fr;text-align:center}.public-player-profile-photo{margin:auto}.public-player-team-link{justify-content:center}.public-player-details dl{grid-template-columns:1fr}}


/* ===== Spielerprofil V2: moderner Profilkopf und Spielernavigation ===== */
.public-player-hero-v2{--club-primary:#176f9f;--club-secondary:#eaf4f9;--club-text:#fff;--club-button:#176f9f;position:relative;isolation:isolate;overflow:hidden;grid-template-columns:180px minmax(0,1fr) 160px;min-height:250px;padding:34px;background:linear-gradient(118deg,var(--club-primary) 0%,color-mix(in srgb,var(--club-primary) 82%,var(--club-secondary)) 48%,var(--club-secondary) 48.2%,var(--club-secondary) 100%)}
.public-player-hero-accent{position:absolute;z-index:-1;top:0;right:0;width:42%;height:100%;background:linear-gradient(135deg,rgba(22,138,202,.12),rgba(13,111,169,.03));clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}
.public-player-profile-photo-v2{width:180px;height:180px;border:6px solid #fff;box-shadow:0 16px 35px rgba(18,51,75,.2)}
.public-player-profile-main{min-width:0}.public-player-profile-main h1{word-break:break-word}
.public-player-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.public-player-badge{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border-radius:999px;background:#edf3f7;border:1px solid #d5e1e8;color:#34566c;font-size:.82rem;font-weight:800}.public-player-badge-position{background:#dff1fb;border-color:#b9deef;color:#0c6697}
.public-player-team-link-v2{width:max-content;max-width:100%;padding:9px 13px;border-radius:12px;background:#fff;border:1px solid #d7e3ea;box-shadow:0 5px 14px rgba(18,51,75,.07)}.public-player-team-link-v2:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 9px 20px rgba(18,51,75,.12)}
.public-player-shirt-v2{position:relative;overflow:hidden;background:linear-gradient(145deg,#153f5a,#0f6e9f);border:0;color:#fff;box-shadow:0 14px 30px rgba(13,80,118,.22)}.public-player-shirt-v2:after{content:"";position:absolute;inset:auto -30px -50px auto;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.08)}.public-player-shirt-v2 span,.public-player-shirt-v2 strong{position:relative;z-index:1;color:#fff}.public-player-shirt-v2 span{opacity:.78}.public-player-shirt-v2 strong{font-size:4rem}
.public-player-switcher{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px;margin-bottom:20px;padding:12px}.public-player-switcher-side>a,.public-player-switcher-disabled,.public-player-switcher-squad{display:flex;align-items:center;gap:12px;min-height:68px;padding:11px 14px;border-radius:12px;text-decoration:none}.public-player-switcher-side>a{color:#173e57;background:#f4f8fa;border:1px solid #dce6ec;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.public-player-switcher-side>a:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(18,51,75,.11)}.public-player-switcher-side>a>span:first-child,.public-player-switcher-side>a>span:last-child{font-size:1.45rem;font-weight:900}.public-player-switcher-side small,.public-player-switcher-side strong{display:block}.public-player-switcher-side small{margin-bottom:3px;color:#718694;font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;font-weight:900}.public-player-switcher-side strong{line-height:1.18}.public-player-switcher-next>a,.public-player-switcher-next>.public-player-switcher-disabled{justify-content:flex-end;text-align:right}.public-player-switcher-squad{justify-content:center;flex-direction:column;min-width:125px;background:#176f9f;color:#fff;text-align:center}.public-player-switcher-squad:hover{background:#105d87;transform:translateY(-2px)}.public-player-switcher-squad>span{font-size:1.25rem}.public-player-switcher-disabled{color:#9aa9b2;background:#f7f8f9;border:1px dashed #d6dfe4;cursor:not-allowed}
@media(max-width:820px){.public-player-hero-v2{grid-template-columns:130px minmax(0,1fr);min-height:0;padding:24px}.public-player-profile-photo-v2{width:130px;height:130px}.public-player-shirt-v2{grid-column:1/-1}.public-player-switcher{grid-template-columns:1fr 1fr}.public-player-switcher-squad{grid-column:1/-1;grid-row:2;min-height:54px;flex-direction:row}.public-player-switcher-side strong{font-size:.9rem}}
@media(max-width:540px){.public-player-hero-v2{grid-template-columns:1fr;text-align:center;padding:22px 16px}.public-player-profile-photo-v2{margin:auto}.public-player-badges{justify-content:center}.public-player-team-link-v2{margin:auto}.public-player-shirt-v2{width:100%}.public-player-switcher{grid-template-columns:1fr;padding:9px}.public-player-switcher-squad{grid-column:auto;grid-row:auto;order:-1}.public-player-switcher-side>a,.public-player-switcher-disabled{min-height:60px}.public-player-switcher-next>a,.public-player-switcher-next>.public-player-switcher-disabled{justify-content:space-between}.public-player-switcher-next>a>span:first-child,.public-player-switcher-next>.public-player-switcher-disabled>span:first-child{text-align:left}}


/* Vereinsabhängige Farben im Spielerprofil */
.public-player-hero-v2 .public-player-hero-accent{
    background:linear-gradient(115deg,transparent 0 42%,color-mix(in srgb,var(--club-secondary) 68%,transparent) 42.2% 49%,transparent 49.2%);
    opacity:.9;
}
.public-player-hero-v2 .public-player-profile-main,
.public-player-hero-v2 .public-player-profile-main h1,
.public-player-hero-v2 .league-kicker{color:var(--club-text)}
.public-player-hero-v2 .public-player-profile-main h1{border-bottom-color:color-mix(in srgb,var(--club-text) 32%,transparent)}
.public-player-hero-v2 .public-player-badge{background:color-mix(in srgb,#fff 90%,var(--club-primary));border-color:color-mix(in srgb,var(--club-primary) 24%,#dbe6ec);color:#173e57}
.public-player-hero-v2 .public-player-team-link-v2{background:color-mix(in srgb,#fff 92%,var(--club-secondary));border-color:color-mix(in srgb,var(--club-primary) 25%,#dbe6ec);color:#102f45}
.public-player-shirt-v2{background:linear-gradient(145deg,var(--club-button),color-mix(in srgb,var(--club-button) 72%,#000));box-shadow:0 14px 30px color-mix(in srgb,var(--club-button) 32%,transparent)}
.public-player-switcher{--club-button:#176f9f}
.public-player-switcher-squad{background:var(--club-button);color:#fff}
.public-player-switcher-squad:hover{background:color-mix(in srgb,var(--club-button) 82%,#000)}
@supports not (background:color-mix(in srgb,#000,#fff)){
    .public-player-hero-v2{background:linear-gradient(118deg,var(--club-primary) 0 48%,var(--club-secondary) 48.2% 100%)}
    .public-player-shirt-v2{background:var(--club-button)}
    .public-player-switcher-squad{background:var(--club-button)}
}


/* Dynamische Vereinsfarben im Adminbereich und Spielerprofil */
.team-color-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-bottom:28px}
.team-color-admin-card{padding:18px}.team-color-admin-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.team-color-admin-heading img{width:48px;height:48px;object-fit:contain}.team-color-admin-heading h3{margin:0}.team-color-admin-heading small{color:#6b7f8d}.team-color-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.team-color-field[hidden]{display:none}.team-color-input-row{display:flex;gap:7px;align-items:center}.team-color-input-row input[type=color]{width:46px;min-width:46px;height:42px;padding:2px}.team-color-input-row input[type=text]{min-width:0;font-family:monospace;text-transform:uppercase}.team-color-preview{min-height:100px;border-radius:14px;padding:20px;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:background .2s ease,color .2s ease}.team-color-preview strong{font-size:1.2rem}.team-color-preview span{opacity:.82}.team-color-reset-form{margin-top:10px}.team-color-reset-form .button{width:100%}
@media(max-width:650px){.team-color-fields{grid-template-columns:1fr}}

.public-player-hero-v2.public-player-colors-1{background:linear-gradient(135deg,var(--club-primary),color-mix(in srgb,var(--club-primary) 72%,#000))}
.public-player-hero-v2.public-player-colors-1 .public-player-hero-accent{background:linear-gradient(90deg,transparent,color-mix(in srgb,#fff 28%,transparent),transparent)}
.public-player-hero-v2.public-player-colors-2{background:linear-gradient(118deg,var(--club-primary) 0 49%,var(--club-secondary) 49.3% 100%)}
.public-player-hero-v2.public-player-colors-2 .public-player-hero-accent{background:linear-gradient(90deg,transparent,var(--club-secondary),transparent)}
.public-player-hero-v2.public-player-colors-3{background:linear-gradient(118deg,var(--club-primary) 0 44%,var(--club-secondary) 44.3% 78%,var(--club-accent) 78.3% 100%)}
.public-player-hero-v2.public-player-colors-3 .public-player-hero-accent{background:linear-gradient(90deg,var(--club-accent),var(--club-secondary),var(--club-accent))}

/* Admin: gemeinsame Spielerbearbeitung */
.mass-player-edit-form {
    display: grid;
    gap: 1rem;
}

.mass-edit-header,
.mass-edit-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    position: sticky;
    z-index: 8;
}

.mass-edit-header {
    top: .75rem;
}

.mass-edit-footer {
    bottom: .75rem;
}

.mass-edit-header small {
    display: block;
    margin-top: .25rem;
    opacity: .75;
}

.mass-save-button {
    min-width: 220px;
}

.mass-edit-player {
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.mass-edit-player.is-changed {
    border-color: #d6a700;
    box-shadow: 0 0 0 3px rgba(214, 167, 0, .16);
}

.mass-edit-player.is-changed > summary {
    background: rgba(255, 221, 87, .12);
}

.mass-player-fields {
    align-items: end;
}

.mass-edit-note {
    margin-top: .8rem;
    padding: .7rem .85rem;
    border-radius: .6rem;
    background: rgba(19, 71, 126, .08);
    font-size: .9rem;
}

#massEditStatus {
    font-weight: 600;
}

@media (max-width: 760px) {
    .mass-edit-header,
    .mass-edit-footer {
        position: static;
        align-items: stretch;
        flex-direction: column;
    }

    .mass-save-button {
        width: 100%;
        min-width: 0;
    }
}

/* Version 6.2.3: verliehene Spieler bleiben im öffentlichen Kader sichtbar */
.public-squad-sections{display:grid;gap:28px}.public-squad-position-title{margin:0 0 12px;padding-bottom:9px;border-bottom:2px solid #dce7ed;color:#173b53;font-size:1.35rem;text-transform:uppercase;letter-spacing:.04em}.public-player-card-loaned{border-color:#efc276;background:linear-gradient(135deg,#fff 0%,#fffaf1 100%)}.public-player-loan{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.public-player-loan-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#f59e0b;color:#fff;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.public-player-loan-club{color:#8a5a08;font-size:.82rem;font-weight:800}


/* Version 6.2.4: kompakte Positionsnamen und Nationalflagge auf der Kaderseite */
.public-player-nationality{display:inline-flex;align-items:center;gap:7px}.public-player-nationality-flag{display:block;width:24px;height:18px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(15,23,42,.16)}

/* Version 6.2.5: echte Flaggenbilder statt ISO-Ländercodes/Emoji auf der Kaderseite */


/* Version 6.2.9: robuster Flaggenring ohne CSS-Masken */
.public-player-flag-ring{
    position:relative;
    width:196px;
    height:196px;
    border-radius:50%;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    overflow:hidden;
    background-color:#dce7ed;
    background-image:var(--flag-one);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
    box-shadow:0 0 0 3px rgba(255,255,255,.92),0 12px 30px rgba(18,51,75,.22);
}
.public-player-flag-ring::before,
.public-player-flag-ring::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    height:50%;
    background-repeat:no-repeat;
    background-size:196px 196px;
    pointer-events:none;
    display:none;
}
.public-player-flag-ring-dual{
    background-image:none;
}
.public-player-flag-ring-dual::before{
    display:block;
    top:0;
    background-color:#dce7ed;
    background-image:var(--flag-one);
    background-position:center top;
}
.public-player-flag-ring-dual::after{
    display:block;
    bottom:0;
    background-color:#dce7ed;
    background-image:var(--flag-two);
    background-position:center bottom;
}
.public-player-flag-ring .public-player-profile-photo-v2{
    position:relative;
    z-index:2;
    width:168px;
    height:168px;
    border:5px solid #fff;
    border-radius:50%;
    overflow:hidden;
    background:#fff;
    box-shadow:0 8px 24px rgba(18,51,75,.24);
}
.public-player-nationality-list{display:flex;flex-direction:column;gap:6px}
.public-player-hero-v2{grid-template-columns:196px minmax(0,1fr) 160px}
@media(max-width:820px){
    .public-player-hero-v2{grid-template-columns:142px minmax(0,1fr)}
    .public-player-flag-ring{width:142px;height:142px}
    .public-player-flag-ring::before,.public-player-flag-ring::after{background-size:142px 142px}
    .public-player-flag-ring .public-player-profile-photo-v2{width:120px;height:120px}
}
@media(max-width:540px){
    .public-player-hero-v2{grid-template-columns:1fr}
    .public-player-flag-ring{margin:auto}
}

/* Version 6.3.1: Flaggenring entfernt, moderne SVG-Flaggen-Icons */
.public-player-flag-ring{display:contents}
.public-player-hero-v2{grid-template-columns:180px minmax(0,1fr) 160px}
.public-player-profile-photo-v2{
    width:180px;
    height:180px;
    border:6px solid rgba(255,255,255,.96);
    border-radius:50%;
    overflow:hidden;
    box-shadow:0 16px 35px rgba(18,51,75,.2);
}
.public-player-badge-nationalities{gap:10px;flex-wrap:wrap}
.public-player-compact-nationality{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.public-player-compact-nationality + .public-player-compact-nationality::before{content:"·";margin-right:2px;color:#7890a0;font-weight:900}
.public-player-modern-flag,
.public-player-nationality-flag{
    display:block;
    width:26px;
    height:18px;
    object-fit:cover;
    border-radius:5px;
    box-shadow:0 2px 7px rgba(15,23,42,.22),0 0 0 1px rgba(15,23,42,.12);
}
.public-player-nationality-list{display:flex;flex-direction:column;gap:8px}
.public-player-nationality{display:inline-flex;align-items:center;gap:9px}
@media(max-width:820px){
    .public-player-hero-v2{grid-template-columns:130px minmax(0,1fr)}
    .public-player-profile-photo-v2{width:130px;height:130px}
}
@media(max-width:540px){
    .public-player-hero-v2{grid-template-columns:1fr}
    .public-player-profile-photo-v2{margin:auto}
    .public-player-badge-nationalities{justify-content:center}
}
/* Tipp-King 7.0 – Bonus & Rewards */
.rewards-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#111827,#1f3b73);color:#fff}.rewards-hero h2{color:#fff}.rewards-balance{text-align:center;min-width:170px;padding:20px;border-radius:18px;background:rgba(255,255,255,.12)}.rewards-balance strong{display:block;font-size:2.25rem}.rewards-balance span{opacity:.8}.reward-shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.reward-item{border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.07)}.reward-item>img{width:100%;height:150px;object-fit:cover}.reward-item>div{padding:18px}.reward-item h3{margin-top:0}.reward-item form{margin-top:14px}.reward-plus{font-weight:800;color:#087443}.reward-minus{font-weight:800;color:#b42318}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px}.form-grid .full{grid-column:1/-1}.inline-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}@media(max-width:700px){.rewards-hero{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

/* Tipp-King 7.1 – virtueller Bonus-Shop */
.bonus-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.reward-category{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.75;margin-bottom:.35rem}.virtual-item-preview{min-height:110px;display:grid;place-items:center;font-size:2.6rem;font-weight:800;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(0,0,0,.08));margin-bottom:.8rem}.reward-item{border:2px solid transparent}.rarity-common{border-color:#aeb4bc}.rarity-rare{border-color:#42a55b}.rarity-epic{border-color:#3979d6}.rarity-legendary{border-color:#8b4ed1}.rarity-mythic{border-color:#d5a928}.inventory-grid{margin-top:1rem}.inventory-grid .reward-item{position:relative}.inventory-grid .reward-item strong{font-size:.92rem}
