.jkp-wrap{--jkp:#183a63;--jkp2:#245a91;--bg:#f4f7fb;--line:#dbe3ee;--muted:#667085;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033}.jkp-wrap *{box-sizing:border-box}.jkp-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px}.jkp-tabs a{text-decoration:none;padding:10px 14px;border-radius:10px;color:#344054;font-weight:650}.jkp-tabs a:hover,.jkp-tabs a.is-active{background:var(--jkp);color:#fff}.jkp-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}.jkp-heading h2{font-size:28px;margin:0 0 4px}.jkp-heading p{margin:0;color:var(--muted)}.jkp-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:var(--jkp);color:#fff!important;padding:9px 14px;text-decoration:none!important;font-weight:700;cursor:pointer}.jkp-btn:hover{background:var(--jkp2)}.jkp-btn-light{background:#fff;color:var(--jkp)!important;border:1px solid var(--line)}.jkp-whatsapp{background:#177c45!important}.jkp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.jkp-kpis>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.jkp-kpis b{display:block;font-size:30px}.jkp-kpis span{color:var(--muted)}.jkp-teamgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.jkp-teamcard{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none!important;color:inherit!important;transition:.15s}.jkp-teamcard:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(20,50,90,.08)}.jkp-teamcard strong{font-size:24px;color:var(--jkp)}.jkp-teamcard small,.jkp-rosterrow small{color:var(--muted)}.jkp-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.jkp-formcard{margin-bottom:22px}.jkp-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jkp-formgrid label,.jkp-card label{display:flex;flex-direction:column;gap:5px;font-weight:650}.jkp-formgrid label span,.jkp-card label span{font-size:13px;color:#344054}.jkp-formgrid input,.jkp-formgrid select,.jkp-formgrid textarea,.jkp-card input,.jkp-card select,.jkp-card textarea,.jkp-filter input,.jkp-inlineform input,.jkp-inlineform select,.jkp-addbox input,.jkp-addbox select{width:100%;min-height:40px;border:1px solid #cfd8e5;border-radius:8px;padding:8px 10px;background:#fff}.jkp-wide{grid-column:1/-1}.jkp-wide textarea{min-height:80px}.jkp-filter{display:flex;gap:8px;max-width:640px;margin:0 0 14px}.jkp-tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.jkp-table{width:100%;border-collapse:collapse}.jkp-table th,.jkp-table td{padding:11px 12px;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:middle}.jkp-table th{background:#f8fafc;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085}.jkp-table tr:last-child td{border-bottom:0}.jkp-iconbtn{display:inline-block;padding:5px 8px;border-radius:7px;background:#eaf0f8;color:#1d4b7d!important;text-decoration:none!important;font-size:12px;font-weight:800}.jkp-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.jkp-teamselector{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.jkp-teamselector a{padding:7px 11px;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none}.jkp-teamselector a.is-active{background:var(--jkp);color:#fff}.jkp-planhead h3{font-size:24px}.jkp-planhead small{font-size:14px;color:var(--muted)}.jkp-roster{display:flex;flex-direction:column;gap:7px}.jkp-rosterrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;background:#f8fafc;border:1px solid #edf1f6;border-radius:9px}.jkp-rosterrow small{display:block}.jkp-remove{font-size:23px;color:#b42318;text-decoration:none}.jkp-addbox{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:7px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.jkp-possum{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.jkp-possum span{display:flex;gap:4px;align-items:center;background:#eff4fa;border-radius:999px;padding:4px 8px;font-size:11px}.jkp-possum b{font-size:14px;color:var(--jkp)}.jkp-badge{display:inline-flex;border-radius:999px;background:#eaf0f8;color:var(--jkp);padding:2px 8px;font-size:12px}.jkp-inlineform{display:grid;grid-template-columns:130px 1fr 160px auto;gap:8px}.jkp-timeline{list-style:none;margin:15px 0 0;padding:0}.jkp-timeline li{border-left:3px solid #c8d7e8;padding:4px 0 12px 12px}.jkp-timeline b,.jkp-timeline span{display:block}.jkp-timeline span{color:var(--muted)}.jkp-eventgrid{display:grid;gap:12px}.jkp-event{display:grid;grid-template-columns:90px 1fr;gap:16px}.jkp-eventdate{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eef4fa;border-radius:12px;padding:10px;color:var(--jkp);font-weight:700}.jkp-eventdate b{font-size:22px}.jkp-event h3{margin-top:0}.jkp-att{margin-top:14px}.jkp-att summary{cursor:pointer;font-weight:700}.jkp-mini{display:flex;gap:4px}.jkp-mini select{min-width:100px}.jkp-notice{background:#ecfdf3;border:1px solid #abefc6;color:#067647;padding:10px 14px;border-radius:10px;margin:10px 0}.jkp-alert{background:#fff4ed;border:1px solid #f7b27a;color:#b54708;padding:10px;border-radius:9px}.jkp-login{max-width:520px;margin:40px auto;padding:30px;border:1px solid #dde5ef;border-radius:16px;background:#fff;text-align:center}.jkp-admin{max-width:none!important;width:auto;margin-right:20px}.jkp-admin .jkp-wrap{margin-top:10px;width:100%;max-width:none}.jkp-wrap.jkp-adminportal{width:100%;max-width:none}
@media(max-width:900px){.jkp-kpis{grid-template-columns:repeat(2,1fr)}.jkp-columns{grid-template-columns:1fr}.jkp-addbox{grid-template-columns:1fr 1fr}.jkp-inlineform{grid-template-columns:1fr 1fr}.jkp-event{grid-template-columns:1fr}.jkp-eventdate{align-items:flex-start}.jkp-formgrid{grid-template-columns:1fr}.jkp-wide{grid-column:auto}}
@media(max-width:560px){.jkp-kpis{grid-template-columns:1fr 1fr}.jkp-heading{align-items:flex-start;flex-direction:column}.jkp-tabs{overflow-x:auto;flex-wrap:nowrap}.jkp-tabs a{white-space:nowrap}.jkp-addbox,.jkp-inlineform{grid-template-columns:1fr}.jkp-table{min-width:760px}}
.jkp-seasonselect{display:flex;justify-content:flex-end;margin:-8px 0 14px}.jkp-seasonselect label{display:flex;align-items:center;gap:8px;font-weight:700}.jkp-seasonselect label span{color:var(--muted);font-size:13px}.jkp-seasonselect select{min-height:40px;border:1px solid #cfd8e5;border-radius:8px;background:#fff;padding:7px 10px}.jkp-cohortselector{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px;margin-bottom:16px}.jkp-cohortselector a{display:flex;flex-direction:column;gap:2px;text-align:center;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none!important;color:inherit!important}.jkp-cohortselector a b{font-size:17px;color:var(--jkp)}.jkp-cohortselector a span{font-size:12px;color:var(--muted)}.jkp-cohortselector a.is-active{background:var(--jkp);border-color:var(--jkp)}.jkp-cohortselector a.is-active b,.jkp-cohortselector a.is-active span{color:#fff}.jkp-cohorthead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 0 15px}.jkp-cohorthead h3{font-size:24px;margin:0}.jkp-cohorthead p{margin:3px 0 0;color:var(--muted)}.jkp-autoage{padding:7px 10px;background:#eef4fa;border-radius:999px;color:var(--jkp);font-size:12px;font-weight:700}.jkp-yeargrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.jkp-yearcard{margin-bottom:0}.jkp-year-title{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}.jkp-year-title>div{display:flex;flex-direction:column}.jkp-year-title>div:first-child{margin-right:auto}.jkp-year-title strong{font-size:32px;line-height:1;color:var(--jkp)}.jkp-year-title b{font-size:20px;line-height:1.1}.jkp-year-title span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.jkp-yearcard h4{margin:14px 0 8px}.jkp-prospectblock{margin-top:18px;padding-top:4px;border-top:1px dashed var(--line)}.jkp-prospectrow{background:#fffaf0}.jkp-muted{color:var(--muted)}
@media(max-width:1050px){.jkp-cohortselector{grid-template-columns:repeat(4,1fr)}}
@media(max-width:780px){.jkp-yeargrid{grid-template-columns:1fr}.jkp-cohorthead{align-items:flex-start;flex-direction:column}.jkp-seasonselect{justify-content:flex-start}.jkp-cohortselector{grid-template-columns:repeat(3,1fr)}}

/* Jahrgangskader: dynamische Mannschaftsbadges + responsive Spielerzeilen */
.jkp-age-teamlist{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}.jkp-age-teamlist>span:first-child{font-size:12px;font-weight:750;color:var(--muted);margin-right:2px}.jkp-playerline{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.jkp-playerteams{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.jkp-team-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:3px 8px;border-radius:999px;background:var(--jkp);color:#fff;font-size:11px;line-height:1.4;font-weight:800;letter-spacing:.02em;white-space:nowrap}.jkp-team-badge.is-secondary{background:#516f94}.jkp-team-badge.is-guest{background:#8a5a16}.jkp-team-badge.is-playing-up{outline:2px solid #f2b84b;outline-offset:1px}.jkp-team-badge.is-unassigned{background:#eef2f6;color:#667085;border:1px dashed #b7c1cf;font-weight:700}.jkp-team-badge-available{background:#eaf0f8;color:var(--jkp);border:1px solid #cdd9e7}.jkp-roster-main{min-width:0;flex:1}.jkp-roster-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}
@media(max-width:780px){.jkp-yearcard .jkp-rosterrow{padding:12px}.jkp-playerline{gap:6px}.jkp-playerteams{width:100%;margin-top:2px}.jkp-team-badge{font-size:12px;padding:4px 9px}.jkp-age-teamlist{margin-top:10px}}
@media(max-width:560px){.jkp-yearcard{padding:14px}.jkp-year-title{gap:9px;align-items:flex-start}.jkp-year-title strong{font-size:28px}.jkp-year-title b{font-size:18px}.jkp-yearcard .jkp-rosterrow{align-items:flex-start;flex-direction:column;gap:8px}.jkp-roster-actions{width:100%;justify-content:flex-start}.jkp-roster-actions .jkp-iconbtn{padding:7px 10px}.jkp-cohortselector{grid-template-columns:repeat(2,minmax(0,1fr))}.jkp-cohortselector a{padding:9px 7px}.jkp-autoage{border-radius:10px}.jkp-age-teamlist{align-items:flex-start}.jkp-age-teamlist>span:first-child{width:100%}}

/* Spieleradministration: kombinierbare Filter, desktop- und mobilfreundlich */
.jkp-playerfilters{display:grid;grid-template-columns:minmax(210px,1.6fr) repeat(4,minmax(130px,1fr));gap:8px;max-width:none;align-items:center;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px}.jkp-playerfilters input,.jkp-playerfilters select{width:100%;min-height:40px;border:1px solid #cfd8e5;border-radius:8px;padding:7px 9px;background:#fff}.jkp-filtercount{justify-self:end;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.jkp-formhint{margin:8px 0 0;color:var(--muted);font-size:12px}.jkp-addbox optgroup{font-weight:800;color:var(--jkp)}
@media(max-width:1100px){.jkp-playerfilters{grid-template-columns:repeat(3,minmax(0,1fr))}.jkp-playerfilters input[type=search]{grid-column:span 2}.jkp-filtercount{justify-self:start}}
@media(max-width:700px){.jkp-playerfilters{grid-template-columns:1fr 1fr}.jkp-playerfilters input[type=search]{grid-column:1/-1}.jkp-playerfilters .jkp-btn{width:100%}.jkp-filtercount{grid-column:1/-1}.jkp-addbox{grid-template-columns:1fr}.jkp-addbox select,.jkp-addbox input,.jkp-addbox .jkp-btn{width:100%}}
@media(max-width:460px){.jkp-playerfilters{grid-template-columns:1fr}.jkp-playerfilters input[type=search],.jkp-filtercount{grid-column:auto}}


/* 0.1.4: volle Desktopbreite, Kader-Arbeitsansicht und Direktzuordnung */
@media(min-width:1100px){.jkp-wrap.jkp-frontendportal{width:calc(100vw - 48px);max-width:none;position:relative;left:50%;transform:translateX(-50%)}.jkp-admin .jkp-card{padding:20px}.jkp-yeargrid{gap:20px}}
.jkp-squadfilters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px}.jkp-squadfilters a{display:flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none!important;color:inherit!important}.jkp-squadfilters a span{font-size:11px;color:var(--muted)}.jkp-squadfilters a.is-active{background:var(--jkp);border-color:var(--jkp);color:#fff!important}.jkp-squadfilters a.is-active span{color:#fff}.jkp-squadgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:16px;align-items:start}.jkp-squadcard{margin:0;min-width:0}.jkp-squadhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}.jkp-squadhead h3{font-size:26px;line-height:1;margin:0 0 5px;color:var(--jkp)}.jkp-squadhead p{margin:0;color:var(--muted);font-size:12px}.jkp-squadcount{white-space:nowrap;padding:5px 9px;border-radius:999px;background:#eef4fa;color:var(--jkp);font-size:12px;font-weight:800}.jkp-squadroster{max-height:520px;overflow:auto;padding-right:2px}.jkp-squadadd{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.jkp-squadadd h4{margin:0 0 4px}.jkp-squadadd .jkp-addbox{grid-template-columns:minmax(220px,2fr) minmax(130px,1fr) auto;margin-top:6px}.jkp-cohort-assign{display:inline-flex;margin-left:auto}.jkp-cohort-assign select{min-height:30px!important;width:auto!important;min-width:120px;border:1px solid #b9c7d8;border-radius:999px!important;padding:3px 28px 3px 9px!important;background:#fff;font-size:11px;font-weight:800;color:var(--jkp);cursor:pointer}.jkp-cohort-player .jkp-playerline{width:100%}.jkp-cohort-player .jkp-roster-main{overflow:visible}
@media(max-width:1200px){.jkp-squadgrid{grid-template-columns:repeat(auto-fit,minmax(390px,1fr))}.jkp-squadadd .jkp-addbox{grid-template-columns:1fr 1fr}.jkp-squadadd .jkp-addbox .jkp-btn{grid-column:1/-1}}
@media(max-width:780px){.jkp-wrap.jkp-frontendportal{width:100%;left:auto;transform:none}.jkp-squadgrid{grid-template-columns:1fr}.jkp-squadcard{padding:14px}.jkp-squadfilters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.jkp-squadfilters a{white-space:nowrap}.jkp-cohort-assign{margin-left:0;width:100%;margin-top:3px}.jkp-cohort-assign select{width:100%!important;min-height:38px!important;border-radius:8px!important}.jkp-cohort-player .jkp-playerline{align-items:flex-start}.jkp-squadadd .jkp-addbox{grid-template-columns:1fr}.jkp-squadadd .jkp-addbox .jkp-btn{grid-column:auto}}
@media(max-width:560px){.jkp-admin{margin-right:10px}.jkp-squadhead{align-items:flex-start}.jkp-squadcount{font-size:11px}.jkp-squadroster{max-height:none;overflow:visible}}


/* 0.1.5: Spielerprofil mit Positionen, starkem Fuß und besonderen Eigenschaften */
.jkp-player-profile{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px}.jkp-profileitem{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:7px;background:#edf3f9;color:#344054;font-size:11px;line-height:1.35}.jkp-profileitem b{color:var(--jkp)}.jkp-traitlist{display:inline-flex;gap:4px;flex-wrap:wrap}.jkp-trait{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#f4ecff;color:#65439b;font-size:10px;font-weight:750;line-height:1.35}.jkp-squad-player-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}.jkp-squad-player-meta>span{font-size:10px;color:var(--muted);background:#f1f3f6;padding:2px 6px;border-radius:999px}.jkp-profileedit{margin-top:7px;border-top:1px dashed #d7e0eb;padding-top:6px}.jkp-profileedit summary{cursor:pointer;color:var(--jkp);font-size:11px;font-weight:800;list-style-position:inside}.jkp-profileedit[open]{padding-bottom:5px}.jkp-profileedit form{margin-top:8px;padding:10px;border:1px solid #dce5ef;border-radius:10px;background:#fff}.jkp-quickprofile-grid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:7px;margin-bottom:9px}.jkp-quickprofile-grid label{display:flex;flex-direction:column;gap:3px;font-weight:650}.jkp-quickprofile-grid label span{font-size:10px;color:var(--muted)}.jkp-quickprofile-grid select{width:100%;min-height:34px;border:1px solid #cfd8e5;border-radius:7px;padding:5px 7px;background:#fff}.jkp-traits-field{margin:8px 0 10px;padding:9px 10px 10px;border:1px solid #dce5ef;border-radius:10px;background:#fbfcfe}.jkp-traits-field legend{padding:0 5px;font-size:11px;font-weight:800;color:var(--jkp)}.jkp-traitchecks{display:flex;gap:5px;flex-wrap:wrap}.jkp-traitchecks label,.jkp-formgrid .jkp-traitchecks label,.jkp-card .jkp-traitchecks label{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:4px;padding:4px 7px;border:1px solid #d7e0eb;border-radius:999px;background:#fff;font-size:10px;font-weight:650;cursor:pointer}.jkp-traitchecks input,.jkp-formgrid .jkp-traitchecks input,.jkp-card .jkp-traitchecks input{width:auto!important;min-height:0!important;margin:0!important;padding:0!important}.jkp-traitchecks label:has(input:checked){background:#f4ecff;border-color:#cdb7ed;color:#65439b}.jkp-traitchecks label span,.jkp-formgrid .jkp-traitchecks label span,.jkp-card .jkp-traitchecks label span{font-size:10px;color:inherit}.jkp-customtraits{display:flex!important;flex-direction:column!important;gap:4px;margin-top:8px}.jkp-customtraits>span{font-size:10px!important;color:var(--muted)!important}.jkp-customtraits input{width:100%!important;min-height:34px!important}.jkp-btn-small{padding:6px 10px;font-size:11px}
@media(max-width:1000px){.jkp-quickprofile-grid{grid-template-columns:1fr 1fr}.jkp-player-profile{align-items:flex-start}.jkp-traitlist{width:100%}}
@media(max-width:560px){.jkp-player-profile{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.jkp-player-profile .jkp-traitlist{grid-column:1/-1;width:auto}.jkp-profileitem{font-size:11px;padding:5px 7px}.jkp-trait{font-size:10px;padding:4px 7px}.jkp-profileedit{width:100%}.jkp-profileedit summary{font-size:12px;padding:4px 0}.jkp-quickprofile-grid{grid-template-columns:1fr}.jkp-traitchecks{gap:6px}.jkp-traitchecks label,.jkp-formgrid .jkp-traitchecks label,.jkp-card .jkp-traitchecks label{font-size:11px;padding:6px 8px}.jkp-traitchecks label span,.jkp-formgrid .jkp-traitchecks label span,.jkp-card .jkp-traitchecks label span{font-size:11px}}

/* 0.1.6: Gesamtübersicht – komplette Altersklasse oder Mannschaft auf einem Bildschirm */
.jkp-overview-heading{margin-bottom:10px}.jkp-screenhint{padding:7px 10px;border-radius:999px;background:#eef4fa;color:var(--jkp);font-size:11px;font-weight:800;white-space:nowrap}.jkp-overview-controls{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(150px,.8fr) minmax(180px,1fr) minmax(190px,1fr) auto;gap:8px;align-items:end;margin-bottom:12px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px}.jkp-overview-controls label{display:flex;flex-direction:column;gap:3px}.jkp-overview-controls label>span{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.jkp-overview-controls select{width:100%;min-height:36px;border:1px solid #cfd8e5;border-radius:8px;padding:5px 8px;background:#fff}.jkp-overview-card{padding:13px}.jkp-overview-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:7px}.jkp-overview-title h3{margin:0;color:var(--jkp);font-size:24px;line-height:1.05}.jkp-overview-title p{margin:3px 0 0;color:var(--muted);font-size:11px}.jkp-overview-title>strong{font-size:12px;padding:5px 9px;background:#eef4fa;border-radius:999px;color:var(--jkp);white-space:nowrap}.jkp-overview-stats{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.jkp-overview-stats>span{display:inline-flex;gap:3px;align-items:center;padding:3px 7px;border-radius:999px;background:#f5f7fa;color:#5d6878;font-size:10px}.jkp-overview-stats b{color:#26364a}.jkp-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:5px}.jkp-overview-player{min-width:0;border:1px solid #e2e8f0;border-radius:9px;padding:7px 8px;background:#fff}.jkp-overview-player-head{display:flex;align-items:center;gap:5px;min-width:0}.jkp-overview-player-head b{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.jkp-overview-player-head>span:not(.jkp-playing-up){font-size:10px;color:var(--muted);font-weight:750}.jkp-playing-up{font-size:9px!important;font-weight:800!important;color:#9a6200!important;background:#fff2ce;padding:2px 4px;border-radius:5px}.jkp-overview-player-line{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:3px;font-size:10px}.jkp-overview-pos{font-weight:750;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-overview-foot{color:var(--muted);white-space:nowrap}.jkp-overview-player-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:4px;min-height:20px}.jkp-overview-player .jkp-team-badge{font-size:9px;min-width:26px;padding:2px 5px}.jkp-overview-traits{display:flex;gap:3px;min-width:0;justify-content:flex-end}.jkp-overview-player .jkp-trait{font-size:8px;padding:2px 5px;white-space:nowrap;max-width:105px;overflow:hidden;text-overflow:ellipsis}.jkp-trait-more{background:#eef1f5!important;color:#667085!important}.jkp-overview-card .jkp-muted{grid-column:1/-1;padding:20px;text-align:center}
@media(min-width:1500px){.jkp-overview-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.jkp-overview-player{padding:6px 7px}.jkp-overview-card{padding:11px}}
@media(min-width:1900px){.jkp-overview-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}}
@media(max-width:1050px){.jkp-overview-controls{grid-template-columns:1fr 1fr}.jkp-overview-controls .jkp-btn{grid-column:1/-1}.jkp-overview-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}}
@media(max-width:650px){.jkp-screenhint{display:none}.jkp-overview-controls{grid-template-columns:1fr}.jkp-overview-controls .jkp-btn{grid-column:auto;width:100%}.jkp-overview-card{padding:10px}.jkp-overview-title h3{font-size:20px}.jkp-overview-grid{grid-template-columns:1fr;gap:6px}.jkp-overview-player{padding:9px 10px}.jkp-overview-player-head b{font-size:13px}.jkp-overview-player-line{font-size:11px}.jkp-overview-player .jkp-team-badge{font-size:10px}.jkp-overview-player .jkp-trait{font-size:9px}}
.jkp-overview-title-actions{display:flex;align-items:center;gap:6px}.jkp-overview-title-actions>strong{font-size:12px;padding:5px 9px;background:#eef4fa;border-radius:999px;color:var(--jkp);white-space:nowrap}.jkp-overview-card.jkp-density-dense .jkp-overview-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.jkp-overview-card.jkp-density-ultra .jkp-overview-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.jkp-overview-card.jkp-density-ultra .jkp-overview-player{padding:5px 6px}.jkp-overview-card.jkp-density-ultra .jkp-overview-player-head b{font-size:11px}.jkp-overview-card.jkp-density-ultra .jkp-overview-player-line{font-size:9px}.jkp-overview-card:fullscreen{overflow:auto;background:#f4f7fb;padding:14px;border-radius:0}.jkp-overview-card:fullscreen .jkp-overview-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.jkp-overview-card:fullscreen .jkp-fullscreen-btn{position:sticky;top:8px;z-index:3}
@media(max-width:650px){.jkp-overview-title-actions{align-items:flex-end;flex-direction:column}.jkp-fullscreen-btn{display:none}}


/* 0.1.7: Hochziehen direkt im Jahrgangskader + sichtbarer Aushelferstatus */
.jkp-cohort-assign{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(92px,.8fr) auto;gap:5px;align-items:center;margin-left:auto}
.jkp-cohort-assign select{margin:0!important}
.jkp-cohort-assign .jkp-btn{min-height:30px;padding:5px 9px;font-size:10px}
.jkp-squad-player-meta>span.is-aushelfer{background:#fff1d6;color:#8a5a16;font-weight:850;border:1px solid #f0d092}
.jkp-team-badge.is-guest{background:#8a5a16;min-width:auto}
@media(max-width:1050px){.jkp-cohort-assign{width:100%;margin-left:0;grid-template-columns:minmax(145px,1.3fr) minmax(100px,.8fr) auto}}
@media(max-width:780px){.jkp-cohort-assign{grid-template-columns:1fr 1fr;width:100%;margin-top:5px}.jkp-cohort-assign .jkp-btn{grid-column:1/-1;width:100%;min-height:38px}.jkp-cohort-assign select{width:100%!important;min-height:38px!important;border-radius:8px!important}}
@media(max-width:460px){.jkp-cohort-assign{grid-template-columns:1fr}.jkp-cohort-assign .jkp-btn{grid-column:auto}}

.jkp-callupbox{padding:12px 14px;margin:0 0 14px;background:#fffaf1;border-color:#f0d8a6}.jkp-callupbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.jkp-callupbox-head h4{margin:0 0 2px;color:#7c4a08}.jkp-callupbox-head p{margin:0;color:#806742;font-size:11px}.jkp-callupbox-head>span{white-space:nowrap;background:#8a5a16;color:#fff;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:850}.jkp-callupform{display:grid;grid-template-columns:minmax(250px,2fr) minmax(130px,1fr) minmax(105px,.7fr) auto;gap:6px;align-items:center}.jkp-callupform select{width:100%;min-height:38px;border:1px solid #dbc18e;border-radius:8px;padding:6px 9px;background:#fff}.jkp-callupform .jkp-btn{min-height:38px}.jkp-formhint{font-size:11px;color:var(--muted)}
@media(max-width:900px){.jkp-callupform{grid-template-columns:1fr 1fr}.jkp-callupform .jkp-btn{grid-column:1/-1}}
@media(max-width:560px){.jkp-callupbox-head{align-items:flex-start}.jkp-callupbox-head>span{display:none}.jkp-callupform{grid-template-columns:1fr}.jkp-callupform .jkp-btn{grid-column:auto;width:100%}}

/* 0.1.8: Branding + direkte Mehrfach-Kaderplanung */
.jkp-wrap{background-image:linear-gradient(rgba(244,247,251,.90),rgba(244,247,251,.90)),var(--jkp-brand-bg);background-size:cover;background-position:center;background-attachment:fixed;padding:14px;border-radius:18px;min-height:70vh}
.jkp-brand-header{display:grid;grid-template-columns:86px minmax(0,1fr) 86px;align-items:center;gap:18px;padding:10px 16px;margin:0 0 10px;background:rgba(8,25,48,.94);border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 10px 28px rgba(17,36,62,.12);overflow:hidden}
.jkp-brand-logo{height:72px;display:flex;align-items:center;justify-content:center}.jkp-brand-logo img{display:block;max-width:72px;max-height:72px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.25))}
.jkp-brand-title{text-align:center;display:flex;flex-direction:column;gap:2px;min-width:0}.jkp-brand-title strong{font-size:23px;line-height:1.1;color:#fff;letter-spacing:.01em}.jkp-brand-title span{font-size:12px;color:#c8d4e3;font-weight:650}.jkp-brand-user{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;margin-top:4px;color:#dbe8f5;font-size:9px;line-height:1.15;white-space:nowrap}.jkp-brand-user>span{color:#9fb3c9;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.jkp-brand-user>b{max-width:190px;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:10px}.jkp-brand-user>small{display:inline-flex;align-items:center;padding:2px 6px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#cfe0f1;font-size:8px;font-weight:800}
.jkp-brand-settings>p{max-width:900px}.jkp-brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.jkp-brand-field{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.jkp-brand-field>b{font-size:13px}.jkp-brand-field>small{color:var(--muted);font-size:11px}.jkp-brand-preview{height:150px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#10213a;overflow:hidden}.jkp-brand-preview img{max-width:100%;max-height:100%;object-fit:contain}.jkp-brand-preview.is-background img{width:100%;height:100%;object-fit:cover}.jkp-brand-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.jkp-brand-actions .jkp-btn,.jkp-brand-actions .jkp-iconbtn{font-size:11px;padding:7px 9px}
.jkp-checkline{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:8px!important;margin-top:12px}.jkp-checkline input{width:auto!important;min-height:0!important;margin-top:3px!important}.jkp-checkline span{font-size:12px!important;line-height:1.35;color:#344054!important}
.jkp-cohorthead-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.jkp-copy-cohort-form{margin:0}.jkp-copy-cohort-form .jkp-btn{font-size:11px;padding:7px 10px}
.jkp-planning-hint{padding:11px 13px;margin-bottom:12px;background:rgba(255,255,255,.92);font-size:12px;color:#42526a}.jkp-planning-hint b{color:var(--jkp)}
.jkp-cohort-player{align-items:flex-start}.jkp-cohort-team-picker{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;padding:7px;border:1px solid #dce5ef;border-radius:10px;background:#fff}.jkp-teamstate{display:grid!important;grid-template-columns:auto minmax(76px,auto);align-items:center;gap:5px!important;padding:4px 5px!important;border:1px solid #d8e1ec;border-radius:8px;background:#f8fafc;font-weight:600!important}.jkp-teamstate>span{display:flex!important;flex-direction:column;align-items:flex-start;line-height:1.05;min-width:34px}.jkp-teamstate>span b{font-size:11px;color:#344054}.jkp-teamstate>span small{font-size:8px;color:#8a5a16;font-weight:800}.jkp-teamstate select{width:auto!important;min-width:78px!important;min-height:28px!important;padding:2px 22px 2px 6px!important;border-radius:6px!important;font-size:10px!important;margin:0!important}.jkp-teamstate.is-assigned{background:#eef5ff;border-color:#9cb8db}.jkp-teamstate.is-assigned>span b{color:var(--jkp)}.jkp-teamstate.is-higher{border-style:dashed}.jkp-teamstate.is-higher.is-assigned{background:#fff7e7;border-color:#e7bd6c}
.jkp-cohort-savebar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border:1px solid #b8cbe1;border-radius:12px;background:rgba(238,244,250,.98);box-shadow:0 8px 22px rgba(24,58,99,.09)}.jkp-cohort-savebar>div{display:flex;flex-direction:column}.jkp-cohort-savebar b{color:var(--jkp)}.jkp-cohort-savebar span{font-size:11px;color:var(--muted)}
.jkp-player-teamset{margin-top:8px;padding:8px;border:1px solid #dce5ef;border-radius:9px;background:#fff}.jkp-player-teamset-label{font-size:10px;font-weight:850;color:var(--jkp);margin-bottom:5px;text-transform:uppercase;letter-spacing:.03em}.jkp-player-teamset-grid{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.jkp-player-teamset .jkp-teamstate{grid-template-columns:auto minmax(70px,auto);padding:3px 4px!important}.jkp-player-teamset .jkp-teamstate select{min-width:72px!important}.jkp-player-teamset>.jkp-btn{margin-top:1px}
@media(min-width:1500px){.jkp-wrap{padding:16px 18px}.jkp-yeargrid{gap:18px}.jkp-yearcard{padding:15px}.jkp-cohort-team-picker{gap:6px}.jkp-teamstate select{min-width:84px!important}}
@media(max-width:900px){.jkp-brand-grid{grid-template-columns:1fr 1fr}.jkp-brand-grid .jkp-brand-field:last-child{grid-column:1/-1}.jkp-cohorthead-actions{align-items:flex-start}.jkp-cohorthead{align-items:flex-start}.jkp-cohort-team-picker{width:100%}.jkp-teamstate{flex:1 1 145px;grid-template-columns:45px 1fr}.jkp-teamstate select{width:100%!important}.jkp-cohort-savebar{position:sticky;bottom:8px;z-index:8}}
@media(max-width:650px){.jkp-wrap{padding:8px;border-radius:12px;background-attachment:scroll}.jkp-brand-user{flex-wrap:wrap;gap:3px;margin-top:3px}.jkp-brand-user>span{display:none}.jkp-brand-user>b{max-width:120px;font-size:9px}.jkp-brand-user>small{font-size:7px;padding:1px 5px}.jkp-brand-header{grid-template-columns:52px 1fr 52px;gap:8px;padding:8px 10px}.jkp-brand-logo{height:46px}.jkp-brand-logo img{max-width:46px;max-height:46px}.jkp-brand-title strong{font-size:16px}.jkp-brand-title span{font-size:10px}.jkp-brand-grid{grid-template-columns:1fr}.jkp-brand-grid .jkp-brand-field:last-child{grid-column:auto}.jkp-brand-preview{height:120px}.jkp-cohort-team-picker{display:grid;grid-template-columns:1fr 1fr;padding:6px}.jkp-teamstate{display:grid!important;grid-template-columns:40px 1fr;min-width:0}.jkp-teamstate select{min-width:0!important;width:100%!important}.jkp-cohort-savebar{align-items:stretch;flex-direction:column}.jkp-cohort-savebar .jkp-btn{width:100%}.jkp-player-teamset-grid{display:grid;grid-template-columns:1fr 1fr}.jkp-player-teamset .jkp-teamstate{grid-template-columns:40px 1fr}}
@media(max-width:420px){.jkp-cohort-team-picker,.jkp-player-teamset-grid{grid-template-columns:1fr}.jkp-brand-title strong{font-size:14px}}

/* 0.1.9 – Teamverwaltung, Sortierung und Drag-&-Drop-Saisonplanung */
.jkp-btn-danger{background:#b42318!important;color:#fff!important}.jkp-btn-danger:hover{background:#912018!important}
.jkp-teammanage-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}.jkp-teammanage-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:12px;align-items:center;padding:9px 10px;background:#f8fafc;border:1px solid #e6ecf3;border-radius:10px}.jkp-teammanage-row>div:first-child{display:flex;align-items:baseline;gap:8px}.jkp-teammanage-row>div:first-child b{font-size:17px;color:var(--jkp)}.jkp-teammanage-row>div:first-child span{font-size:12px;color:var(--muted)}.jkp-teammanage-counts{display:flex;gap:5px;flex-wrap:wrap}.jkp-teammanage-counts span{font-size:10px;padding:4px 7px;background:#eef3f8;border-radius:999px;color:#516174}.jkp-delete-team-form{margin:0}.jkp-delete-team-form .jkp-btn{min-height:32px;padding:5px 9px;font-size:11px}
.jkp-sort-hint{padding:9px 12px;font-size:11px;color:#5c697a;background:#f8fafc}.jkp-team-order-form{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 12px;border:1px dashed #9fb6d0;border-radius:10px;background:#f7fbff}.jkp-team-order-form>span{font-size:11px;color:#4d6177;font-weight:700}.jkp-squadgrid.is-sortable .jkp-squadcard{transition:transform .12s,box-shadow .12s,opacity .12s}.jkp-squadgrid.is-sortable .jkp-squadcard.is-dragging{opacity:.55;box-shadow:0 18px 40px rgba(20,50,90,.18)}.jkp-squad-titleline{display:flex;align-items:center;gap:7px}.jkp-team-sort-handle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:#eef3f8;color:#5f7289;cursor:grab;font-size:17px;line-height:1;user-select:none}.jkp-team-sort-handle:active{cursor:grabbing}.jkp-squadhead-tools{display:flex;align-items:center;gap:6px}.jkp-order-buttons{display:flex;gap:3px}.jkp-order-buttons button,.jkp-delete-team-inline button{width:28px;height:28px;border:1px solid #d6e0ea;border-radius:7px;background:#fff;color:#40566e;cursor:pointer;padding:0}.jkp-delete-team-inline button{color:#a11d17}.jkp-roster-sortbar{display:flex;justify-content:flex-end;margin:-4px 0 7px}.jkp-roster-sortbar label{display:flex!important;flex-direction:row!important;align-items:center;gap:5px!important;font-size:10px;color:var(--muted);font-weight:650!important}.jkp-roster-sortbar select{width:auto!important;min-height:27px!important;padding:2px 24px 2px 6px!important;font-size:10px!important}
.jkp-subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.jkp-subtabs a{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.9);text-decoration:none!important;color:#40536b;font-weight:750;font-size:12px}.jkp-subtabs a.is-active{background:var(--jkp);border-color:var(--jkp);color:#fff}
.jkp-planner-controls{display:grid;grid-template-columns:minmax(180px,260px) minmax(210px,320px) auto;gap:8px;align-items:end;margin-bottom:10px}.jkp-planner-controls label{display:flex;flex-direction:column;gap:4px}.jkp-planner-controls label span{font-size:10px;color:var(--muted);font-weight:750}.jkp-planner-controls select{min-height:38px;border:1px solid #cfd8e5;border-radius:8px;background:#fff;padding:6px 9px}.jkp-planner-summary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.jkp-planner-summary>div{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:999px;padding:5px 10px}.jkp-planner-summary b{color:var(--jkp);font-size:12px}.jkp-planner-summary span{font-size:10px;color:var(--muted)}
.jkp-dragplanner{display:grid;grid-template-columns:minmax(290px,350px) minmax(0,1fr);gap:12px;align-items:start}.jkp-playerpool{position:sticky;top:38px;max-height:calc(100vh - 78px);overflow:auto;padding:12px;margin:0;background:rgba(255,255,255,.96)}.jkp-playerpool-head{position:sticky;top:-12px;z-index:2;margin:-12px -12px 8px;padding:11px 12px 9px;background:rgba(255,255,255,.98);border-bottom:1px solid #e7edf4}.jkp-playerpool-head>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jkp-playerpool-head h3{margin:0;font-size:18px}.jkp-playerpool-head p{margin:0;font-size:10px;color:var(--muted)}.jkp-planner-search{width:100%;min-height:34px!important;margin-top:7px!important}.jkp-pool-year{margin-top:9px}.jkp-pool-year h4{display:flex;align-items:center;justify-content:space-between;margin:5px 2px;font-size:12px;color:#4a5c71}.jkp-pool-year h4 span,.jkp-younger-pool summary span{display:inline-flex;min-width:22px;justify-content:center;padding:2px 5px;border-radius:999px;background:#edf3f9;color:var(--jkp);font-size:9px}.jkp-pool-list{display:flex;flex-direction:column;gap:5px}.jkp-pool-player{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;padding:7px 8px;border:1px solid #e1e8f0;border-radius:8px;background:#f9fbfd;cursor:grab;transition:.12s}.jkp-pool-player:hover{border-color:#9eb6d1;background:#f2f7fc}.jkp-pool-player:active{cursor:grabbing}.jkp-pool-player.is-selected{outline:2px solid #2d69a8;border-color:#2d69a8;background:#edf5ff}.jkp-pool-player.is-younger{border-style:dashed;background:#fffaf1}.jkp-pool-player>div:first-child{min-width:0}.jkp-pool-player b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-pool-player span{display:block;font-size:9px;color:var(--muted)}.jkp-pool-badges{display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end;max-width:90px}.jkp-pool-badges .jkp-team-badge{font-size:8px;padding:2px 4px}.jkp-younger-pool{margin-top:12px;border-top:1px solid #e5ebf2;padding-top:8px}.jkp-younger-pool summary{cursor:pointer;font-size:11px;font-weight:800;color:#8a5a16;margin-bottom:7px}.jkp-mobile-plan-hint{display:none;margin-top:10px;padding:7px 8px;border-radius:8px;background:#eef5ff;color:#335473;font-size:10px}
.jkp-teamboard{min-width:0}.jkp-teamboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:9px;align-items:start}.jkp-plan-team{padding:10px;margin:0;min-width:0;background:rgba(255,255,255,.97)}.jkp-plan-team>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:7px;border-bottom:1px solid #e8edf3}.jkp-plan-team h3{margin:0;color:var(--jkp);font-size:21px}.jkp-plan-team header span{display:block;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.jkp-plan-team-tools{display:flex;align-items:center;gap:5px}.jkp-plan-team-tools>b{min-width:25px;height:25px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#edf3f9;color:var(--jkp);font-size:10px}.jkp-plan-add-selected{display:none;width:28px;height:28px;border:0;border-radius:8px;background:var(--jkp);color:#fff;font-size:18px;line-height:1;cursor:pointer}.jkp-team-dropzone{min-height:90px;padding:7px 0 0;display:flex;flex-direction:column;gap:5px;border-radius:8px;transition:.12s}.jkp-team-dropzone.is-dragover{outline:2px dashed #3d78b7;outline-offset:3px;background:#edf6ff}.jkp-team-dropzone.is-duplicate{animation:jkp-shake .35s linear;background:#fff3f1}.jkp-drop-placeholder{display:none;align-items:center;justify-content:center;min-height:64px;border:1px dashed #c5d2e0;border-radius:8px;color:#8492a3;font-size:10px;text-align:center}.jkp-team-dropzone:not(:has(.jkp-plan-member)) .jkp-drop-placeholder{display:flex}.jkp-plan-member{display:grid;grid-template-columns:minmax(0,1fr) 82px 24px;gap:4px;align-items:center;padding:6px 6px 6px 7px;border:1px solid #dde6ef;border-radius:8px;background:#f8fafc;cursor:grab}.jkp-plan-member.is-new{border-color:#a9c5e3;background:#f1f7fd}.jkp-plan-member-main{min-width:0}.jkp-plan-member-main b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-plan-member-main span{display:block;font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-plan-member-main em{font-style:normal;color:#9a6514;font-weight:800}.jkp-plan-status{width:100%!important;min-height:26px!important;padding:1px 19px 1px 4px!important;border-radius:6px!important;font-size:9px!important}.jkp-plan-remove{width:24px;height:24px;border:0;border-radius:6px;background:#fff0ee;color:#a8241c;font-size:17px;line-height:1;cursor:pointer}.jkp-planner-savebar{position:sticky;bottom:8px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:10px 12px;border:1px solid #a8bfd8;border-radius:11px;background:rgba(239,246,253,.98);box-shadow:0 10px 28px rgba(20,50,90,.14)}.jkp-planner-savebar>div{display:flex;flex-direction:column}.jkp-planner-savebar b{font-size:12px;color:var(--jkp)}.jkp-planner-savebar span{font-size:9px;color:var(--muted)}
@keyframes jkp-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(min-width:1500px){.jkp-dragplanner{grid-template-columns:minmax(320px,370px) minmax(0,1fr)}.jkp-teamboard-grid{grid-template-columns:repeat(auto-fit,minmax(265px,1fr))}.jkp-plan-team{padding:11px}.jkp-pool-player b{font-size:12px}.jkp-plan-member-main b{font-size:11px}}
@media(max-width:1050px){.jkp-dragplanner{grid-template-columns:280px minmax(0,1fr)}.jkp-teamboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.jkp-teammanage-row{grid-template-columns:1fr auto}.jkp-teammanage-counts{grid-column:1/2}.jkp-planner-controls{grid-template-columns:1fr 1fr auto}}
@media(max-width:780px){.jkp-teammanage-row{grid-template-columns:1fr auto}.jkp-teammanage-counts{grid-column:1/-1}.jkp-team-order-form{align-items:stretch;flex-direction:column}.jkp-dragplanner{grid-template-columns:1fr}.jkp-playerpool{position:relative;top:auto;max-height:none}.jkp-teamboard-grid{grid-template-columns:1fr 1fr}.jkp-plan-add-selected{display:inline-flex;align-items:center;justify-content:center}.jkp-mobile-plan-hint{display:block}.jkp-pool-player{cursor:pointer}.jkp-planner-controls{grid-template-columns:1fr 1fr}.jkp-planner-controls .jkp-btn{grid-column:1/-1}.jkp-planner-savebar{align-items:stretch;flex-direction:column}.jkp-planner-savebar .jkp-btn{width:100%}}
@media(max-width:520px){.jkp-teammanage-row{grid-template-columns:1fr}.jkp-teammanage-row>div:first-child{flex-direction:column;gap:1px}.jkp-delete-team-form .jkp-btn{width:100%}.jkp-planner-controls{grid-template-columns:1fr}.jkp-planner-controls .jkp-btn{grid-column:auto}.jkp-teamboard-grid{grid-template-columns:1fr}.jkp-plan-member{grid-template-columns:minmax(0,1fr) 92px 26px}.jkp-squadhead-tools{align-items:flex-end;flex-direction:column}.jkp-roster-sortbar{justify-content:flex-start}}

/* 0.2.0 – kompakte Kaderkarten, sichtbarer Hintergrund und Kader-Soll */
.jkp-wrap{background-image:linear-gradient(rgba(244,247,251,.72),rgba(244,247,251,.78)),var(--jkp-brand-bg);background-size:cover;background-position:center top;background-repeat:no-repeat;background-attachment:fixed}
.jkp-card,.jkp-tabs{background:rgba(255,255,255,.93);backdrop-filter:blur(1.5px)}
.jkp-yearcard,.jkp-squadcard{background:rgba(255,255,255,.91)}

/* Spielerzeilen bewusst kompakt: mehr Spieler pro Bildschirm */
.jkp-yearcard .jkp-roster{gap:4px}.jkp-yearcard .jkp-rosterrow,.jkp-squadroster .jkp-rosterrow{padding:6px 7px;gap:6px;border-radius:8px}
.jkp-cohort-player .jkp-playerline,.jkp-squadroster .jkp-playerline{gap:5px;min-height:22px;flex-wrap:nowrap}
.jkp-cohort-player .jkp-playerline>b,.jkp-squadroster .jkp-playerline>b{font-size:14px!important;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44%}
.jkp-cohort-player .jkp-playerteams{gap:3px;flex:0 1 auto}
.jkp-cohort-player .jkp-team-badge,.jkp-squadroster .jkp-team-badge{font-size:9px;padding:2px 5px;min-width:28px}
.jkp-cohort-player .jkp-player-profile>.jkp-profileitem,.jkp-squadroster .jkp-player-profile>.jkp-profileitem{display:none}
.jkp-cohort-player .jkp-player-profile,.jkp-squadroster .jkp-player-profile{margin-top:3px;gap:3px}
.jkp-cohort-player .jkp-trait,.jkp-squadroster .jkp-trait{font-size:8px;padding:2px 5px}
.jkp-squad-player-meta{margin-top:2px!important}.jkp-squad-player-meta span{font-size:9px!important;padding:2px 5px!important}

/* Haupt-/Zweit-/Drittposition und Fuß rechts neben dem Namen */
.jkp-player-miniinfo{display:inline-flex;align-items:center;gap:3px;margin-left:auto;flex:0 0 auto}
.jkp-mini-position,.jkp-mini-foot{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:24px;padding:0 5px;border-radius:999px;background:#e9f0f8;color:#173f6c;font-size:9px;font-weight:850;line-height:1;white-space:nowrap}
.jkp-mini-position.is-open{background:#f3f4f6;color:#7a8492}.jkp-mini-foot{background:#fff5dc;color:#7c5610}

/* Mannschaftsauswahl wie Spielerprofil standardmäßig geschlossen */
.jkp-teamassign-details{margin-top:5px;border-top:1px dashed #d8e2ed;padding-top:4px}
.jkp-teamassign-details>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;color:var(--jkp);font-size:10px;font-weight:850;padding:3px 0;user-select:none}
.jkp-teamassign-details>summary::-webkit-details-marker{display:none}.jkp-teamassign-details>summary:before{content:'▶';font-size:8px;transition:transform .12s}.jkp-teamassign-details[open]>summary:before{transform:rotate(90deg)}
.jkp-teamassign-details>summary span{display:inline-flex;padding:2px 5px;border-radius:999px;background:#eaf1f8;color:#355a82;font-size:8px}
.jkp-teamassign-details .jkp-cohort-team-picker,.jkp-teamassign-details .jkp-player-teamset-grid{margin-top:5px}
.jkp-player-teamset{padding:0!important;background:transparent!important;border:0!important;margin-top:4px!important}
.jkp-player-teamset>form{padding:6px;border:1px solid #dce5ef;border-radius:8px;background:#fff}

/* Kaderbedarf / Sollprüfung */
.jkp-possum-targets{margin-bottom:6px}.jkp-possum-targets span{border:1px solid transparent}.jkp-possum-targets span.is-missing{background:#fff0ed;border-color:#f2b8ad;color:#9e2a20}.jkp-possum-targets span.is-ok{background:#edf9f1;border-color:#b8dfc5;color:#176b36}.jkp-possum-targets span.is-open{background:#fff7e7;color:#84570e}
.jkp-roster-warning,.jkp-roster-ok{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;margin:0 0 7px;padding:6px 8px;border-radius:8px;font-size:9px}
.jkp-roster-warning{background:#fff4ed;border:1px solid #f2c09c;color:#8e4a0c}.jkp-roster-warning b{font-size:10px}.jkp-roster-warning span{color:#6d4d2f}.jkp-roster-ok{background:#ecfdf3;border:1px solid #b7e5c5;color:#176b36;font-weight:800}

/* Positionsverwaltung */
.jkp-position-admin-list{display:flex;flex-direction:column;gap:5px}.jkp-position-admin-head,.jkp-position-admin-row{display:grid;grid-template-columns:100px minmax(190px,1fr) minmax(150px,220px) 70px;gap:7px;align-items:center}
.jkp-position-admin-head{padding:0 6px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.jkp-position-admin-row{padding:6px;border:1px solid #e1e8f0;border-radius:8px;background:#f9fbfd}
.jkp-position-admin-row input,.jkp-position-admin-row select{min-height:32px!important;padding:4px 7px!important}.jkp-position-admin-row.is-new{border-style:dashed}.jkp-delete-position{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important}.jkp-delete-position input{width:auto!important;min-height:0!important}.jkp-delete-position span{color:#a8241c!important;font-size:17px!important}

/* Team-Soll in Einstellungen */
.jkp-team-requirements{grid-column:1/-1;border-top:1px dashed #dce4ee;padding-top:5px}.jkp-team-requirements>summary{cursor:pointer;color:var(--jkp);font-size:11px;font-weight:850}.jkp-team-requirements>form{margin-top:8px;padding:8px;border-radius:9px;background:#f8fafc;border:1px solid #e2e9f1}
.jkp-department-targets{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:7px;margin-bottom:8px}.jkp-department-targets label{gap:3px!important}.jkp-department-targets label span{font-size:10px!important}.jkp-department-targets input{min-height:32px!important;padding:4px 7px!important}
.jkp-position-req-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:5px;margin-bottom:8px}.jkp-position-req-grid label{display:grid!important;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:5px!important;padding:5px 6px;border:1px solid #e0e7ef;border-radius:7px;background:#fff}.jkp-position-req-grid label>span{display:flex!important;flex-direction:column!important;gap:0!important}.jkp-position-req-grid b{font-size:10px}.jkp-position-req-grid small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-position-req-grid input{min-height:28px!important;padding:2px 4px!important;text-align:center}

@media(max-width:780px){.jkp-wrap{background-attachment:scroll;background-image:linear-gradient(rgba(244,247,251,.78),rgba(244,247,251,.84)),var(--jkp-brand-bg)}.jkp-position-admin-head{display:none}.jkp-position-admin-row{grid-template-columns:80px 1fr}.jkp-position-admin-row select{grid-column:1/2}.jkp-position-admin-row>.jkp-delete-position,.jkp-position-admin-row>.jkp-muted{grid-column:2/3}.jkp-department-targets{grid-template-columns:1fr 1fr}.jkp-cohort-player .jkp-playerline,.jkp-squadroster .jkp-playerline{flex-wrap:wrap}.jkp-cohort-player .jkp-playerline>b,.jkp-squadroster .jkp-playerline>b{max-width:70%}.jkp-player-miniinfo{margin-left:auto}}
@media(max-width:460px){.jkp-position-admin-row{grid-template-columns:1fr}.jkp-position-admin-row select,.jkp-position-admin-row>.jkp-delete-position,.jkp-position-admin-row>.jkp-muted{grid-column:auto}.jkp-department-targets{grid-template-columns:1fr 1fr}.jkp-player-miniinfo{width:100%;justify-content:flex-end}.jkp-cohort-player .jkp-playerline>b,.jkp-squadroster .jkp-playerline>b{max-width:calc(100% - 60px)}}


/* 0.2.1 – eigene Vollbild-Anmeldung für /jugendkader */
.jkp-login-screen{--jkp:#183a63;--jkp2:#245a91;position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;min-height:100dvh;padding:24px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#071428 var(--jkp-login-bg) center/cover no-repeat;color:#172033;overflow:auto}
.jkp-login-screen *{box-sizing:border-box}.jkp-login-shade{position:absolute;inset:0;background:linear-gradient(125deg,rgba(5,15,31,.60),rgba(8,24,45,.48) 48%,rgba(4,13,28,.70));backdrop-filter:blur(1px)}
.jkp-login-panel{position:relative;z-index:1;width:min(94vw,470px);padding:28px 30px 24px;border:1px solid rgba(255,255,255,.36);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 28px 80px rgba(0,0,0,.35);backdrop-filter:blur(12px)}
.jkp-login-logos{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:20px;min-height:105px;margin-bottom:16px}.jkp-login-logos span{height:72px;background:#dbe3ee}.jkp-login-logos img{display:block;width:100%;height:100px;object-fit:contain;margin:auto}
.jkp-login-title{text-align:center;margin-bottom:18px}.jkp-login-title h1{margin:0;color:#142540;font-size:29px;line-height:1.1;font-weight:800}.jkp-login-title p{margin:7px 0 0;color:#667085;font-size:12px;font-weight:650;letter-spacing:.03em}
.jkp-login-form form{margin:0}.jkp-login-form p{margin:0 0 13px}.jkp-login-form label{display:block;margin-bottom:5px;color:#344054;font-size:12px;font-weight:750}.jkp-login-form input[type=text],.jkp-login-form input[type=password]{display:block;width:100%;min-height:46px;margin:0;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:9px 12px;color:#172033;font-size:15px;box-shadow:none}.jkp-login-form input:focus{outline:0;border-color:#4479ad;box-shadow:0 0 0 3px rgba(36,90,145,.12)}
.jkp-login-form .login-remember{display:flex;align-items:center;gap:7px;margin:2px 0 14px}.jkp-login-form .login-remember label{display:flex;align-items:center;gap:7px;margin:0;font-weight:600}.jkp-login-form .login-remember input{margin:0}.jkp-login-form .login-submit{margin:0}.jkp-login-form .button-primary{width:100%;min-height:46px;border:0;border-radius:10px;background:#183a63;color:#fff;font-size:15px;font-weight:800;cursor:pointer}.jkp-login-form .button-primary:hover{background:#245a91}.jkp-login-links{text-align:center;margin-top:14px}.jkp-login-links a{color:#355f8c;text-decoration:none;font-size:12px;font-weight:700}.jkp-login-links a:hover{text-decoration:underline}
.jkp-access-denied{max-width:560px;margin:50px auto;padding:24px;border:1px solid #e3e8ef;border-radius:15px;background:#fff;text-align:center}
@media(max-width:560px){.jkp-login-screen{padding:14px}.jkp-login-panel{padding:21px 18px 18px;border-radius:18px}.jkp-login-logos{min-height:78px;gap:12px;margin-bottom:12px}.jkp-login-logos img{height:76px}.jkp-login-logos span{height:54px}.jkp-login-title h1{font-size:24px}.jkp-login-title p{font-size:10px}.jkp-login-form input[type=text],.jkp-login-form input[type=password],.jkp-login-form .button-primary{min-height:44px}}

/* 0.2.2 – sehr kompakte Spielerkarten / Details erst aufklappen */
.jkp-squad-seasonbar{display:flex;align-items:end;gap:8px;margin:0 0 10px;padding:8px 10px;border:1px solid rgba(212,223,235,.9);border-radius:10px;background:rgba(255,255,255,.86)}
.jkp-squad-seasonbar label{display:flex;align-items:center;gap:8px}.jkp-squad-seasonbar label>span{font-size:10px;font-weight:850;color:#536579;text-transform:uppercase;letter-spacing:.04em}.jkp-squad-seasonbar select{min-width:170px;min-height:34px;padding:4px 28px 4px 8px}
.jkp-player-compact{min-height:0!important}.jkp-player-compact .jkp-roster-main{min-width:0;width:100%}.jkp-player-compact .jkp-playerline{min-height:22px!important;margin:0!important}
.jkp-player-compact .jkp-playerline>b{font-size:13px!important;font-weight:800!important;max-width:36%!important}.jkp-compact-meta{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.jkp-compact-meta>span{display:inline-flex;align-items:center;min-height:19px;padding:1px 5px;border-radius:999px;background:#f0f3f7;color:#677487;font-size:8px;font-weight:750;white-space:nowrap}.jkp-compact-meta>span.is-aushelfer{background:#fff1d6;color:#8a5a00}
.jkp-playerdetails{margin-top:2px;border-top:1px dashed #e0e6ed}.jkp-playerdetails>summary{display:flex;align-items:center;gap:5px;padding:3px 0 1px;list-style:none;cursor:pointer;color:#536579;font-size:9px;font-weight:800;user-select:none}.jkp-playerdetails>summary::-webkit-details-marker{display:none}.jkp-playerdetails>summary:before{content:'▶';font-size:7px;color:#6b7b8e;transition:transform .12s}.jkp-playerdetails[open]>summary:before{transform:rotate(90deg)}.jkp-playerdetails-body{padding:5px 0 2px}.jkp-detail-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px;padding-top:5px;border-top:1px dashed #e1e7ee}
.jkp-playerdetails .jkp-player-profile>.jkp-profileitem{display:inline-flex!important}.jkp-playerdetails .jkp-player-profile{margin-top:0}.jkp-playerdetails .jkp-trait{font-size:8px}.jkp-playerdetails .jkp-teamassign-details,.jkp-playerdetails .jkp-profileedit{margin-top:4px}
.jkp-squadadd-collapsed{margin-top:7px;border:1px dashed #cdd9e6;border-radius:9px;background:rgba(248,251,254,.9)}.jkp-squadadd-collapsed>summary{cursor:pointer;list-style:none;padding:7px 9px;color:var(--jkp);font-size:10px;font-weight:850}.jkp-squadadd-collapsed>summary::-webkit-details-marker{display:none}.jkp-squadadd-collapsed>summary:before{content:'▶';font-size:8px;margin-right:5px}.jkp-squadadd-collapsed[open]>summary:before{display:inline-block;transform:rotate(90deg)}.jkp-squadadd-collapsed>div{padding:0 9px 9px}.jkp-squadadd-collapsed h4{margin:3px 0 6px;font-size:11px}
.jkp-empty-roster{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px dashed #d2dce7;border-radius:8px;background:rgba(250,252,254,.82);color:#5f6d7d}.jkp-empty-roster b{font-size:10px}.jkp-empty-roster span{font-size:9px}
@media(max-width:780px){.jkp-squad-seasonbar{align-items:stretch}.jkp-squad-seasonbar label{width:100%;justify-content:space-between}.jkp-squad-seasonbar select{flex:1}.jkp-player-compact .jkp-playerline>b{max-width:55%!important}.jkp-compact-meta{order:2}.jkp-player-miniinfo{order:3}}
@media(max-width:460px){.jkp-squad-seasonbar label{display:grid;grid-template-columns:auto 1fr}.jkp-player-compact .jkp-playerline>b{max-width:62%!important}.jkp-playerteams{order:4;width:100%;margin-left:0!important}.jkp-player-miniinfo{width:auto!important;margin-left:auto!important;justify-content:flex-end!important}}


/* 0.2.6 – kompakte Detail-Schaltfläche ohne überlappende zweite Zeile */
.jkp-player-compact{align-items:flex-start!important;overflow:visible!important}
.jkp-player-compact .jkp-roster-main{position:relative!important;overflow:visible!important}
.jkp-player-compact .jkp-playerline{position:relative!important;padding-right:27px!important;min-height:24px!important;line-height:1.1!important}
.jkp-player-compact .jkp-player-miniinfo{margin-right:0!important}
.jkp-player-compact .jkp-playerdetails{
  display:block!important;position:static!important;width:100%!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;line-height:1.2!important;overflow:visible!important
}
.jkp-player-compact .jkp-playerdetails>summary{
  position:absolute!important;z-index:2!important;top:1px!important;right:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;
  margin:0!important;padding:0!important;border:1px solid #d5dfeb!important;border-radius:999px!important;
  background:#f3f6fa!important;color:#365678!important;list-style:none!important;cursor:pointer!important;
  font-size:0!important;line-height:1!important;box-shadow:none!important;text-indent:0!important;overflow:hidden!important
}
.jkp-player-compact .jkp-playerdetails>summary::-webkit-details-marker{display:none!important}
.jkp-player-compact .jkp-playerdetails>summary::marker{content:''}
.jkp-player-compact .jkp-playerdetails>summary:before{
  content:'i'!important;display:block!important;transform:none!important;margin:0!important;
  font-size:11px!important;line-height:19px!important;font-weight:900!important;color:inherit!important
}
.jkp-player-compact .jkp-playerdetails>summary:hover{background:#e8f0f8!important;border-color:#b8c9dc!important;color:#183a63!important}
.jkp-player-compact .jkp-playerdetails[open]>summary{background:#183a63!important;border-color:#183a63!important;color:#fff!important}
.jkp-player-compact .jkp-playerdetails[open]>summary:before{content:'×'!important;font-size:14px!important;font-weight:800!important}
.jkp-player-compact .jkp-playerdetails-body{
  position:relative!important;display:block;margin:5px 0 0!important;padding:6px 0 2px!important;
  border-top:1px dashed #dce4ee!important;clear:both!important
}
.jkp-player-compact .jkp-playerdetails:not([open])>.jkp-playerdetails-body{display:none!important}
.jkp-squadroster .jkp-rosterrow.jkp-player-compact,.jkp-yearcard .jkp-rosterrow.jkp-player-compact{height:auto!important;min-height:34px!important;max-height:none!important}
.jkp-squadroster .jkp-rosterrow.jkp-player-compact:not(:has(.jkp-playerdetails[open])),.jkp-yearcard .jkp-rosterrow.jkp-player-compact:not(:has(.jkp-playerdetails[open])){padding-top:4px!important;padding-bottom:4px!important}
.jkp-squadroster .jkp-rosterrow.jkp-player-compact+.jkp-rosterrow.jkp-player-compact,.jkp-yearcard .jkp-rosterrow.jkp-player-compact+.jkp-rosterrow.jkp-player-compact{margin-top:0!important}
@media(max-width:780px){
  .jkp-player-compact .jkp-playerline{padding-right:29px!important;min-height:26px!important}
  .jkp-player-compact .jkp-playerdetails>summary{width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important}
}

/* 0.2.7 – robuste Inline-Details ohne Theme-<details>-Nebenwirkungen */
.jkp-player-compact .jkp-playerdetails{position:static!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.jkp-player-compact .jkp-playerdetails-toggle{position:absolute!important;z-index:3!important;top:1px!important;right:0!important;display:flex!important;align-items:center!important;justify-content:center!important;width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;margin:0!important;padding:0!important;border:1px solid #d5dfeb!important;border-radius:999px!important;background:#f3f6fa!important;color:#365678!important;cursor:pointer!important;font-size:11px!important;font-weight:900!important;line-height:1!important;box-shadow:none!important}
.jkp-player-compact .jkp-playerdetails-toggle:hover{background:#e8f0f8!important;border-color:#b8c9dc!important;color:#183a63!important}
.jkp-player-compact .jkp-playerdetails.is-open .jkp-playerdetails-toggle{background:#183a63!important;border-color:#183a63!important;color:#fff!important;font-size:0!important}
.jkp-player-compact .jkp-playerdetails.is-open .jkp-playerdetails-toggle:before{content:'×';font-size:14px;font-weight:800;line-height:1}
.jkp-player-compact .jkp-playerdetails-body{display:block!important;position:static!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:6px 0 0!important;padding:7px 0 2px!important;border-top:1px dashed #dce4ee!important;background:transparent!important;overflow:visible!important;clear:both!important}
.jkp-player-compact .jkp-playerdetails-body[hidden]{display:none!important}
.jkp-player-compact.jkp-detail-open{padding-bottom:8px!important}
.jkp-player-compact[data-jkp-player-edit="1"]{cursor:default}
.jkp-player-compact[data-jkp-player-edit="1"] .jkp-playerline>b{cursor:pointer}
.jkp-player-compact[data-jkp-player-edit="1"] .jkp-playerline>b:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}

/* Spieler-Modal: Hintergrund bleibt sichtbar und unverändert */
.jkp-player-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(9,20,36,.48);backdrop-filter:blur(2px)}
.jkp-player-modal.is-open{display:flex}
.jkp-player-modal-dialog{width:min(980px,96vw);max-height:92vh;display:flex;flex-direction:column;background:#fff;border:1px solid #d9e3ee;border-radius:16px;box-shadow:0 28px 80px rgba(10,30,55,.28);overflow:hidden}
.jkp-player-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #e5ebf2;background:#f8fafc}
.jkp-player-modal-head h3{margin:0;font-size:20px;color:#183a63}
.jkp-player-modal-close{width:34px;height:34px;border:0;border-radius:999px;background:#eaf0f7;color:#183a63;font-size:22px;line-height:1;cursor:pointer}
.jkp-player-modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:18px}
.jkp-player-modal .jkp-formgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.jkp-player-modal .jkp-wide{grid-column:1/-1}
.jkp-player-modal .jkp-traits-field{grid-column:1/-1}
.jkp-player-modal .jkp-formgrid input,.jkp-player-modal .jkp-formgrid select,.jkp-player-modal .jkp-formgrid textarea{width:100%;min-height:38px;border:1px solid #cfd8e5;border-radius:8px;padding:7px 9px;background:#fff}
.jkp-player-modal .jkp-formgrid textarea{min-height:76px;resize:vertical}
.jkp-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #edf1f5}
.jkp-player-modal-content>.jkp-player-modal-form>.jkp-modal-actions{display:none!important}
.jkp-player-modal-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-top:1px solid #dfe7f0;background:#fff;box-shadow:0 -8px 22px rgba(15,38,66,.06);z-index:3}
.jkp-player-modal-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.jkp-player-modal-footer .jkp-btn{min-width:118px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.jkp-player-modal-status{min-height:20px;margin:0;font-size:12px;color:#067647;flex:1 1 auto}
.jkp-player-modal.is-loading .jkp-player-modal-body,.jkp-player-modal.is-loading .jkp-player-modal-footer{opacity:.62;pointer-events:none}
body.jkp-modal-open{overflow:hidden!important}
@media(max-width:820px){.jkp-player-modal{padding:10px}.jkp-player-modal-dialog{width:100%;max-height:96vh}.jkp-player-modal .jkp-formgrid{grid-template-columns:1fr 1fr}.jkp-player-modal-body{padding:12px}.jkp-player-modal-footer{padding:10px 12px}}
@media(max-width:520px){.jkp-player-modal{padding:0;align-items:flex-end}.jkp-player-modal-dialog{width:100%;max-height:96vh;border-radius:16px 16px 0 0}.jkp-player-modal .jkp-formgrid{grid-template-columns:1fr}.jkp-player-modal .jkp-wide,.jkp-player-modal .jkp-traits-field{grid-column:auto}.jkp-player-modal-footer{gap:8px;align-items:stretch}.jkp-player-modal-status{display:none}.jkp-player-modal-footer-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.jkp-player-modal-footer .jkp-btn{width:100%;min-width:0}}

/* 0.2.9 – erweiterte Saisonplanung: jüngere Altersklassen + Trainer im Board */
.jkp-pool-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px -2px 6px;padding:6px 8px;border-radius:8px;background:#eef4fa;color:#234a75;font-size:11px}.jkp-pool-section-title span{display:inline-flex;min-width:24px;justify-content:center;padding:2px 6px;border-radius:999px;background:#fff;font-size:9px}.jkp-pool-section-title.is-younger{background:#fff4df;color:#87570f}.jkp-pool-section-title.is-trainer{background:#eef8f1;color:#21623b}.jkp-lower-age-pool{margin-top:10px;padding-top:3px;border-top:1px dashed #e4e9ef}.jkp-trainerpool{margin-top:14px;padding-top:6px;border-top:2px solid #dce8df}.jkp-pool-trainer{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;padding:7px 8px;border:1px solid #dce8df;border-radius:8px;background:#f7fcf8;cursor:grab;transition:.12s}.jkp-pool-trainer:hover{border-color:#93bda2;background:#f0f9f3}.jkp-pool-trainer.is-selected{outline:2px solid #3f885a;border-color:#3f885a;background:#edf8f0}.jkp-pool-trainer>div:first-child{min-width:0}.jkp-pool-trainer b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-pool-trainer span{display:block;font-size:9px;color:var(--muted)}.jkp-team-badge.is-candidate{background:#fff3dc;color:#865710}.jkp-plan-team-tools{flex-wrap:wrap;justify-content:flex-end}.jkp-plan-team-tools>b{width:auto;min-width:38px;padding:0 6px}.jkp-plan-add-selected,.jkp-plan-add-trainer-selected{border:0;border-radius:7px;background:var(--jkp);color:#fff;font-size:9px;font-weight:800;line-height:1;cursor:pointer;padding:7px 8px;white-space:nowrap}.jkp-plan-subtitle{margin:7px 0 1px;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#6b7a8c;font-weight:800}.jkp-plan-trainer-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:9px 0 3px;padding-top:7px;border-top:1px solid #e8edf3}.jkp-plan-trainer-head>span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#47614f;font-weight:800}.jkp-plan-add-trainer-selected{background:#35764b}.jkp-trainer-dropzone{min-height:46px;display:flex;flex-direction:column;gap:5px;border-radius:8px;transition:.12s}.jkp-trainer-dropzone.is-dragover{outline:2px dashed #4c9564;outline-offset:3px;background:#eef9f1}.jkp-trainer-dropzone.is-duplicate{animation:jkp-shake .35s linear;background:#fff3f1}.jkp-trainer-placeholder{display:none;align-items:center;justify-content:center;min-height:40px;border:1px dashed #cbd9cf;border-radius:8px;color:#83978a;font-size:9px;text-align:center}.jkp-trainer-dropzone:not(:has(.jkp-plan-trainer)) .jkp-trainer-placeholder{display:flex}.jkp-plan-trainer{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(72px,1fr) 24px;gap:4px;align-items:center;padding:6px;border:1px solid #dce8df;border-radius:8px;background:#f7fbf8;cursor:grab}.jkp-plan-trainer.is-new{border-color:#9dc5a9;background:#eff8f1}.jkp-plan-trainer-main{min-width:0}.jkp-plan-trainer-main b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-plan-trainer-main span{display:block;font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-trainer-status,.jkp-trainer-role{width:100%!important;min-height:26px!important;padding:1px 5px!important;border-radius:6px!important;font-size:9px!important}.jkp-trainer-status{padding-right:18px!important}.jkp-plan-trainer-remove{width:24px;height:24px;border:0;border-radius:6px;background:#fff0ee;color:#a8241c;font-size:17px;line-height:1;cursor:pointer}.jkp-inline-delete-person{display:inline;margin:0}.jkp-link-danger{appearance:none;border:0;background:none;padding:0;margin:0 0 0 6px;color:#b42318;text-decoration:underline;cursor:pointer;font:inherit}.jkp-link-danger:hover{color:#7a1510}
@media(min-width:781px){.jkp-plan-add-selected{display:none}.jkp-plan-add-trainer-selected{display:none}}
@media(max-width:780px){.jkp-plan-add-selected,.jkp-plan-add-trainer-selected{display:inline-flex;align-items:center;justify-content:center}.jkp-plan-trainer{grid-template-columns:minmax(0,1fr) 76px 26px}.jkp-trainer-role{grid-column:1/3}.jkp-playerpool{max-height:none}}
@media(max-width:520px){.jkp-plan-trainer{grid-template-columns:minmax(0,1fr) 72px 26px}.jkp-trainer-role{grid-column:1/3}.jkp-plan-team-tools{max-width:150px}.jkp-plan-team-tools>b{font-size:9px}}
.jkp-delete-person-edit{display:inline-block;margin:8px 0 0 8px}.jkp-btn-danger{background:#b42318!important;border-color:#b42318!important;color:#fff!important}.jkp-btn-danger:hover{background:#8d1b13!important}
.jkp-plan-add-selected,.jkp-plan-add-trainer-selected{width:auto!important;height:auto!important;min-height:28px}


/* 0.2.10 – Hintergrund wirklich sichtbar + regelbare Stärke */
.jkp-wrap{
  background-color:#dce5ef!important;
  background-image:linear-gradient(rgba(244,247,251,var(--jkp-bg-wash,.404)),rgba(244,247,251,var(--jkp-bg-wash,.404))),var(--jkp-brand-bg)!important;
  background-size:cover!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
  min-height:calc(100vh - 135px)!important;
}
/* Die Arbeitsflächen bleiben hell, lassen das Motiv aber sichtbar durchscheinen. */
.jkp-wrap .jkp-tabs,
.jkp-wrap .jkp-card,
.jkp-wrap .jkp-tablewrap,
.jkp-wrap .jkp-kpis>div,
.jkp-wrap .jkp-teamcard,
.jkp-wrap .jkp-yearcard,
.jkp-wrap .jkp-squadcard{background-color:rgba(255,255,255,.88)!important;backdrop-filter:blur(2px)}
.jkp-wrap .jkp-playerpool{background:rgba(255,255,255,.88)!important;backdrop-filter:blur(2px)}
.jkp-wrap .jkp-playerpool-head{background:rgba(255,255,255,.94)!important}
.jkp-wrap .jkp-plan-team{background:rgba(255,255,255,.89)!important;backdrop-filter:blur(2px)}
.jkp-wrap .jkp-planning-hint,
.jkp-wrap .jkp-planner-summary>div{background:rgba(255,255,255,.86)!important}
.jkp-wrap .jkp-heading{padding:9px 12px;border:1px solid rgba(219,227,238,.78);border-radius:12px;background:rgba(255,255,255,.68);backdrop-filter:blur(2px)}
.jkp-wrap .jkp-heading h2,.jkp-wrap .jkp-heading p{position:relative;z-index:1}
.jkp-bg-strength-setting{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.jkp-bg-strength-setting>label{display:flex!important;flex-direction:column!important;gap:2px!important;margin-bottom:8px}
.jkp-bg-strength-setting>label b{font-size:13px;color:#183a63}.jkp-bg-strength-setting>label span,.jkp-bg-strength-setting small{font-size:11px;color:var(--muted)}
.jkp-bg-strength-setting>div{display:flex;align-items:center;gap:12px}.jkp-bg-strength-setting input[type=range]{flex:1;min-height:28px!important;padding:0!important;border:0!important;background:transparent!important}.jkp-bg-strength-setting output{min-width:58px;text-align:right;font-weight:850;color:#183a63}
@media(max-width:780px){.jkp-wrap{background-attachment:scroll!important;min-height:80vh!important}.jkp-wrap .jkp-card,.jkp-wrap .jkp-tabs,.jkp-wrap .jkp-yearcard,.jkp-wrap .jkp-squadcard{background-color:rgba(255,255,255,.91)!important}}

/* 0.2.11 – robuste Hintergrundebene auf Desktop und Mobil */
.jkp-wrap{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#d9e3ee!important;
  background-size:cover!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
}
.jkp-wrap>.jkp-bg-layer{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background-size:cover!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  filter:saturate(.92) contrast(.96)!important;
}
.jkp-wrap>.jkp-bg-layer::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(236,242,249,.20);
}
.jkp-wrap>*:not(.jkp-bg-layer){position:relative;z-index:1}
/* Mehr Motiv durch die Arbeitsflächen scheinen lassen. */
.jkp-wrap .jkp-tabs,
.jkp-wrap .jkp-card,
.jkp-wrap .jkp-tablewrap,
.jkp-wrap .jkp-kpis>div,
.jkp-wrap .jkp-teamcard,
.jkp-wrap .jkp-yearcard,
.jkp-wrap .jkp-squadcard,
.jkp-wrap .jkp-playerpool,
.jkp-wrap .jkp-plan-team{background-color:rgba(255,255,255,.80)!important}
/* 0.2.40 – Trainerbereich in der Kaderplanung immer oberhalb des Spielerkaders */
.jkp-plan-team{display:flex;flex-direction:column}.jkp-plan-team>header{order:0}.jkp-plan-team-trainers{order:1}.jkp-plan-subtitle{order:2}.jkp-team-dropzone{order:3}

.jkp-wrap .jkp-heading{background:rgba(255,255,255,.55)!important}
.jkp-admin>.jkp-wrap{border-radius:16px!important;padding:12px!important}
body.jkp-body-background #wpcontent,
body.jkp-body-background #wpbody,
body.jkp-body-background #wpbody-content{background:transparent!important}
@media(max-width:780px){
  body.jkp-body-background{background-attachment:scroll!important}
  .jkp-wrap>.jkp-bg-layer{background-position:center top!important}
  .jkp-wrap .jkp-tabs,.jkp-wrap .jkp-card,.jkp-wrap .jkp-yearcard,.jkp-wrap .jkp-squadcard{background-color:rgba(255,255,255,.84)!important}
}

/* 0.2.12 – Trainerteam in Kaderkarten, Ersetzen-Dialoge und Doppelklick-Hinweise */
.jkp-squadcount.is-trainer{background:#f3e8ff;color:#6b21a8}
.jkp-squad-trainers{margin-top:10px;padding-top:9px;border-top:1px solid rgba(23,58,99,.12)}
.jkp-squad-trainers-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.jkp-squad-trainers-head h4{margin:0;font-size:13px;color:#173a63}.jkp-squad-trainers-head span{font-size:10px;color:var(--muted)}
.jkp-trainer-roster{display:grid;gap:5px}.jkp-trainer-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid rgba(23,58,99,.10);border-radius:9px;background:rgba(248,250,252,.86);cursor:default}
.jkp-trainer-row-main{min-width:0;display:flex;align-items:center;gap:7px}.jkp-trainer-row-main b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-trainer-row-main span{font-size:10px;color:var(--muted);white-space:nowrap}
.jkp-trainer-row-actions{display:flex;align-items:center;gap:5px}.jkp-squad-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.jkp-replace-assignment{display:inline-block;vertical-align:middle;position:relative}.jkp-replace-assignment>summary{list-style:none;cursor:pointer;font-size:10px;font-weight:800;color:#17416e;padding:3px 6px;border-radius:7px;background:#eef5fc}.jkp-replace-assignment>summary::-webkit-details-marker{display:none}
.jkp-replace-assignment[open]>form{position:absolute;z-index:40;right:0;top:calc(100% + 4px);display:flex;gap:5px;min-width:300px;padding:8px;border:1px solid #cbd8e7;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(16,36,60,.18)}
.jkp-replace-assignment select{min-width:190px;max-width:260px}.jkp-brand-text-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.jkp-brand-text-settings label{display:flex;flex-direction:column;gap:4px}.jkp-brand-text-settings p{grid-column:1/-1;margin:0;font-size:11px;color:var(--muted)}
[data-jkp-open-url]{cursor:zoom-in}.jkp-yearcard[data-jkp-open-url],.jkp-squadcard[data-jkp-open-url],.jkp-plan-team[data-jkp-open-url]{transition:box-shadow .15s ease,transform .15s ease}.jkp-yearcard[data-jkp-open-url]:hover,.jkp-squadcard[data-jkp-open-url]:hover,.jkp-plan-team[data-jkp-open-url]:hover{box-shadow:0 8px 24px rgba(16,36,60,.12)}
[data-jkp-person-edit="1"]{cursor:default}
@media(max-width:780px){.jkp-squad-add-grid,.jkp-brand-text-settings{grid-template-columns:1fr}.jkp-replace-assignment[open]>form{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0;z-index:99999}.jkp-trainer-row-main{align-items:flex-start;flex-direction:column;gap:1px}}
.jkp-trainer-assignment-edit{display:inline-block;position:relative}.jkp-trainer-assignment-edit>summary{list-style:none;cursor:pointer;font-size:10px;font-weight:800;color:#17416e;padding:3px 6px;border-radius:7px;background:#eef5fc}.jkp-trainer-assignment-edit>summary::-webkit-details-marker{display:none}.jkp-trainer-assignment-edit[open]>form{position:absolute;right:0;top:calc(100% + 4px);z-index:45;display:grid;grid-template-columns:auto 1fr auto;gap:5px;min-width:330px;padding:8px;border:1px solid #cbd8e7;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(16,36,60,.18)}.jkp-trainer-assignment-edit input{min-width:130px}
@media(max-width:780px){.jkp-trainer-assignment-edit[open]>form{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0;z-index:99999;grid-template-columns:1fr}.jkp-trainer-assignment-edit input{min-width:0}}


/* 0.2.13 – Modal ohne horizontales Überlaufen; Aktionsleiste immer vollständig sichtbar. */
.jkp-player-modal-dialog,
.jkp-player-modal-body,
.jkp-player-modal-content,
.jkp-player-modal-form,
.jkp-person-modal-form,
.jkp-player-modal .jkp-formgrid,
.jkp-player-modal .jkp-formgrid > *,
.jkp-player-modal fieldset,
.jkp-player-modal label,
.jkp-player-modal input,
.jkp-player-modal select,
.jkp-player-modal textarea{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.jkp-player-modal-body{overflow-x:hidden!important;}
.jkp-player-modal-content{width:100%!important;overflow-x:hidden!important;}
.jkp-player-modal fieldset{width:100%!important;margin-left:0!important;margin-right:0!important;}
.jkp-player-modal-footer{
  width:100%!important;
  min-width:0!important;
  min-height:64px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.jkp-player-modal-footer-actions{
  display:grid!important;
  grid-template-columns:minmax(108px,1fr) minmax(108px,1fr)!important;
  width:min(360px,100%)!important;
  min-width:0!important;
  max-width:360px!important;
  margin-left:auto!important;
  flex:0 1 360px!important;
  gap:8px!important;
}
.jkp-player-modal-footer-actions .jkp-btn,
.jkp-player-modal-footer-actions .jkp-player-modal-save,
.jkp-player-modal-footer-actions .jkp-person-modal-save,
.jkp-player-modal-footer-actions .jkp-modal-cancel{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  float:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
.jkp-player-modal-footer-actions .jkp-player-modal-save,
.jkp-player-modal-footer-actions .jkp-person-modal-save{
  background:#183a63!important;
  color:#fff!important;
}
/* Suche: Author-CSS darf das HTML-hidden-Attribut nicht wieder mit display:flex überschreiben. */
.jkp-pool-player.jkp-search-hidden,
.jkp-pool-trainer.jkp-search-hidden{display:none!important;}
@media(max-width:520px){
  .jkp-player-modal-footer{min-height:58px!important;}
  .jkp-player-modal-footer-actions{width:100%!important;max-width:none!important;flex-basis:100%!important;}
}

/* 0.2.14 – Dashboard-Kennzahlen: aktive Spieler und Interessenten strikt getrennt. */
.jkp-kpis span small{display:block;margin-top:2px;font-size:11px;color:inherit;opacity:.8}

/* 0.2.16 – gemeinsames Spieler-/Trainer-Scouting, mobil schnell erfassbar. */
.jkp-scout-quickgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0 0 14px}
.jkp-scout-quick{margin:0!important;padding:14px!important;background:rgba(255,255,255,.94)!important}
.jkp-scout-quickhead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}
.jkp-scout-quickhead span{display:block;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#5b728d;margin-bottom:5px}
.jkp-scout-quickhead h3{margin:0;font-size:17px;color:#173a63}
.jkp-scout-quickhead p{margin:4px 0 0;font-size:11px;line-height:1.35;color:var(--muted)}
.jkp-scout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.jkp-scout-fields label{display:flex;flex-direction:column;gap:4px;min-width:0}
.jkp-scout-fields label>span{font-size:10px;font-weight:800;color:#52677f}
.jkp-scout-fields input,.jkp-scout-fields select,.jkp-scout-fields textarea{width:100%;min-width:0;min-height:38px;box-sizing:border-box}
.jkp-scout-fields .jkp-wide{grid-column:1/-1}
.jkp-scout-save{width:100%;min-height:42px;margin-top:10px;justify-content:center;font-size:13px}
.jkp-scout-search{margin:0 0 12px}.jkp-scout-search input[type=search]{min-width:min(440px,100%);flex:1}
.jkp-scout-section{margin-bottom:12px!important;padding:12px!important}
.jkp-scout-sectionhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.jkp-scout-sectionhead h3{margin:0;font-size:16px;color:#173a63}.jkp-scout-sectionhead p{margin:2px 0 0;font-size:10px;color:var(--muted)}
.jkp-scout-list{display:grid;gap:5px}
.jkp-scout-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 9px;border:1px solid rgba(23,58,99,.10);border-radius:10px;background:rgba(255,255,255,.88)}
.jkp-scout-person{min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.jkp-scout-person b{font-size:12px;color:#1e344c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.jkp-scout-person span{font-size:10px;color:#64788e}.jkp-scout-person small{font-size:9px;color:#7c8fa3}
.jkp-scout-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.jkp-scout-actions .jkp-inline-delete-person{display:inline-flex;margin:0}.jkp-scout-actions .jkp-link-danger{font-size:10px}
@media(max-width:780px){
  .jkp-scout-quickgrid{grid-template-columns:1fr;gap:8px}
  .jkp-scout-quick{padding:11px!important}
  .jkp-scout-fields{grid-template-columns:1fr 1fr;gap:7px}
  .jkp-scout-fields input,.jkp-scout-fields select,.jkp-scout-fields textarea{min-height:44px;font-size:16px}
  .jkp-scout-save{min-height:48px;font-size:14px}
  .jkp-scout-search{display:grid!important;grid-template-columns:1fr auto;gap:7px}
  .jkp-scout-search input[type=search]{grid-column:1/-1;min-width:0;width:100%;min-height:44px;font-size:16px}
  .jkp-scout-row{grid-template-columns:1fr;padding:9px;gap:6px}
  .jkp-scout-person{display:grid;gap:2px}.jkp-scout-person b{font-size:14px}.jkp-scout-person span{font-size:11px}.jkp-scout-person small{font-size:10px}
  .jkp-scout-actions{justify-content:flex-start}.jkp-scout-actions .jkp-iconbtn{min-height:36px;display:inline-flex;align-items:center}
}
@media(max-width:480px){
  .jkp-scout-fields{grid-template-columns:1fr}
  .jkp-scout-fields .jkp-wide{grid-column:auto}
  .jkp-scout-quickhead h3{font-size:16px}
}

/* 0.2.17 – saisonbezogene Dashboard-Zählung und Altersklassen-Aufschlüsselung */
.jkp-dashboard-note{margin:10px 0 14px;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.82);font-size:13px}
.jkp-age-breakdown{margin-top:14px}
.jkp-age-breakdown h3{margin-top:0}
.jkp-age-breakdown-grid{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:8px}
.jkp-age-breakdown-grid>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px;padding:9px 10px;border:1px solid rgba(15,23,42,.10);border-radius:10px;background:rgba(255,255,255,.76)}
.jkp-age-breakdown-grid b{font-size:12px}
.jkp-age-breakdown-grid strong{justify-self:end;font-size:20px;line-height:1}
.jkp-age-breakdown-grid small{grid-column:1/-1;color:#64748b;font-size:10px}
@media(max-width:900px){.jkp-age-breakdown-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.jkp-age-breakdown-grid{grid-template-columns:repeat(2,1fr)}}

/* 0.2.19 – Sticky Navigation/Filter, Trainerverwaltung, Scouting-Gruppen */
.jkp-wrap{--jkp-sticky-base:0px;--jkp-tabs-height:62px}
body.admin-bar .jkp-wrap{--jkp-sticky-base:32px}
.jkp-tabs{position:sticky;top:var(--jkp-sticky-base);z-index:120;box-shadow:0 7px 18px rgba(20,50,90,.08);backdrop-filter:blur(10px);background:rgba(255,255,255,.96)}
.jkp-playerfilters,.jkp-trainerfilters,.jkp-scout-search,.jkp-planner-controls,.jkp-squadfilters{position:sticky;top:calc(var(--jkp-sticky-base) + var(--jkp-tabs-height) + 6px);z-index:105;background:rgba(255,255,255,.97);box-shadow:0 7px 16px rgba(20,50,90,.07)}
.jkp-trainerfilters{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(125px,.6fr) minmax(170px,.8fr) auto auto auto;gap:8px;max-width:none;padding:10px;border:1px solid var(--line);border-radius:12px;align-items:center}
.jkp-trainerfilters input,.jkp-trainerfilters select{width:100%;min-height:38px;border:1px solid #cfd8e5;border-radius:8px;padding:6px 9px;background:#fff}
.jkp-trainer-savebar,.jkp-cohort-top-save{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin:0 0 10px;border:1px solid #a9bfd6;border-radius:11px;background:rgba(239,246,253,.97);box-shadow:0 7px 18px rgba(20,50,90,.08)}
.jkp-trainer-savebar>div{display:flex;flex-direction:column}.jkp-trainer-savebar b,.jkp-cohort-top-save b{color:var(--jkp)}.jkp-trainer-savebar span,.jkp-cohort-top-save span{font-size:10px;color:var(--muted)}
.jkp-planner-savebar-top{position:relative!important;bottom:auto!important;top:auto!important;margin:0 0 10px!important}
.jkp-player-team-fields{border:1px solid #c9d7e7;border-radius:12px;padding:10px 12px;background:#f8fbff}.jkp-player-team-fields legend{font-weight:800;color:var(--jkp);padding:0 5px}.jkp-player-team-fields .jkp-player-teamset-grid{margin:0}
.jkp-trainer-overview{display:flex;flex-direction:column;gap:8px}.jkp-trainer-card{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:10px;padding:11px 12px;border:1px solid var(--line);border-left:5px solid #2f7d4a;border-radius:11px;background:rgba(255,255,255,.95)}
.jkp-trainer-card.is-inactive{border-left-color:#98a2b3;background:rgba(245,246,248,.96);opacity:.86}.jkp-trainer-card.is-scouting{border-left-color:#d08a18;background:rgba(255,249,236,.97)}
.jkp-trainer-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.jkp-trainer-main>div:first-child{min-width:180px}.jkp-trainer-main b{display:block;font-size:15px;color:#172033}.jkp-trainer-main span{font-size:11px;color:var(--muted)}.jkp-trainer-currentteams{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.jkp-trainer-state{display:flex;align-items:center;gap:6px}.jkp-trainer-state select{min-height:34px;border:1px solid #cfd8e5;border-radius:8px;background:#fff;padding:4px 26px 4px 7px}
.jkp-trainer-teamdetails{grid-column:1/-1;border-top:1px dashed #d8e1eb;padding-top:5px}.jkp-trainer-teamdetails summary{cursor:pointer;color:var(--jkp);font-size:11px;font-weight:800}.jkp-trainer-teamdetails summary span{color:var(--muted);font-weight:600;margin-left:5px}.jkp-trainer-teamgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px;margin-top:7px}.jkp-trainer-teamstate{display:grid!important;grid-template-columns:50px 72px minmax(80px,1fr);align-items:center;gap:5px!important;padding:5px 6px!important;border:1px solid #dce4ed;border-radius:8px;background:#f8fafc}.jkp-trainer-teamstate.is-assigned{background:#eef5ff;border-color:#a7bed8}.jkp-trainer-teamstate>span{display:flex!important;flex-direction:column;line-height:1}.jkp-trainer-teamstate b{font-size:11px;color:var(--jkp)}.jkp-trainer-teamstate small{font-size:8px;color:var(--muted)}.jkp-trainer-teamstate select,.jkp-trainer-teamstate input{min-height:29px!important;width:100%!important;padding:3px 5px!important;font-size:10px!important;border-radius:6px!important}
.jkp-scout-agegroup{margin-top:12px}.jkp-scout-agehead{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:9px;background:#eaf1f8;color:var(--jkp);margin-bottom:6px}.jkp-scout-agehead b{font-size:13px}.jkp-scout-agehead span{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:#fff;font-size:10px;font-weight:800}.jkp-scout-agegroup .jkp-scout-row{border-left:4px solid #6d8eaf}
@media(max-width:1000px){.jkp-trainerfilters{grid-template-columns:1fr 1fr 1fr}.jkp-trainerfilters input[type=search]{grid-column:span 2}.jkp-trainer-card{grid-template-columns:1fr}.jkp-trainer-state{justify-content:flex-start}.jkp-trainer-main{align-items:flex-start}.jkp-trainer-currentteams{justify-content:flex-start}}
@media(max-width:782px){body.admin-bar .jkp-wrap{--jkp-sticky-base:46px}.jkp-trainerfilters{grid-template-columns:1fr 1fr}.jkp-trainerfilters input[type=search]{grid-column:1/-1}.jkp-trainerfilters .jkp-btn{width:100%}.jkp-trainer-main{flex-direction:column}.jkp-trainer-teamgrid{grid-template-columns:1fr}.jkp-trainer-savebar,.jkp-cohort-top-save{align-items:stretch;flex-direction:column}.jkp-trainer-savebar .jkp-btn,.jkp-cohort-top-save .jkp-btn{width:100%}}
@media(max-width:520px){.jkp-trainerfilters{grid-template-columns:1fr}.jkp-trainerfilters input[type=search]{grid-column:auto}.jkp-trainer-teamstate{grid-template-columns:45px 70px 1fr}.jkp-tabs{scrollbar-width:none}.jkp-tabs::-webkit-scrollbar{display:none}}

/* 0.2.20 – saisonbezogene Trainerplanung: Fix links, Kandidaten rechts */
.jkp-trainerfilters-board{grid-template-columns:minmax(150px,.75fr) minmax(220px,1.4fr) minmax(140px,.7fr) minmax(170px,.8fr) auto auto auto}
.jkp-trainer-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:12px}
.jkp-trainer-board-column{min-width:0;border:1px solid var(--line);border-radius:15px;background:rgba(248,250,253,.93);overflow:hidden;box-shadow:0 8px 22px rgba(24,48,76,.06);transition:.15s}
.jkp-trainer-board-column.is-fixed{border-top:4px solid #2f7d4a}.jkp-trainer-board-column.is-candidate{border-top:4px solid #d08a18}
.jkp-trainer-board-column.is-dragover{outline:3px dashed #3d78b7;outline-offset:3px;background:rgba(237,246,255,.97)}
.jkp-trainer-board-column>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.75)}
.jkp-trainer-board-column>header h3{margin:0;color:var(--jkp);font-size:19px}.jkp-trainer-board-column>header p{margin:2px 0 0;color:var(--muted);font-size:10px}
.jkp-trainer-board-column>header strong{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border-radius:999px;background:#edf3f9;color:var(--jkp);font-size:13px}
.jkp-trainer-board-list{display:flex;flex-direction:column;gap:9px;padding:11px;min-height:120px}
.jkp-trainer-board-card{border:1px solid #dce4ee;border-left:5px solid #2f7d4a;border-radius:12px;background:rgba(255,255,255,.97);padding:10px;cursor:grab;box-shadow:0 3px 10px rgba(22,43,67,.04);transition:.14s}
.jkp-trainer-board-card.is-inactive{border-left-color:#98a2b3;background:rgba(246,247,249,.97)}.jkp-trainer-board-card.is-scouting{border-left-color:#d08a18;background:rgba(255,250,239,.98)}
.jkp-trainer-board-card.is-dragging{opacity:.5;transform:scale(.985)}.jkp-trainer-board-card.is-board-changed{outline:2px solid #76a6d7}
.jkp-trainer-board-cardhead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.jkp-trainer-board-cardhead>div:first-child{min-width:0}
.jkp-trainer-board-cardhead b{display:block;font-size:14px;color:#15243a}.jkp-trainer-board-cardhead span{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px}
.jkp-trainer-board-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.jkp-trainer-personstate{display:inline-flex!important;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px!important;font-weight:800;line-height:1.1}.jkp-trainer-personstate.is-active{background:#e9f7ee;color:#24693d}.jkp-trainer-personstate.is-inactive{background:#eef0f3;color:#687384}.jkp-trainer-personstate.is-scouting{background:#fff0d2;color:#8a5a0b}
.jkp-trainer-board-move{border:1px solid #cbd8e6;border-radius:7px;background:#fff;color:var(--jkp);padding:5px 7px;font-size:9px;font-weight:800;cursor:pointer;white-space:nowrap}
.jkp-trainer-board-personstatus{margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8ef}.jkp-trainer-board-personstatus label{display:grid;grid-template-columns:95px minmax(130px,180px);align-items:center;gap:8px}.jkp-trainer-board-personstatus span,.jkp-trainer-assignment-row label>span{font-size:9px;color:var(--muted);font-weight:700}
.jkp-trainer-board-personstatus select{min-height:30px!important;padding:3px 25px 3px 7px!important;font-size:10px!important}
.jkp-trainer-board-assignments{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.jkp-trainer-assignment-row{display:grid;grid-template-columns:minmax(145px,1fr) 92px minmax(120px,.8fr) auto;gap:6px;align-items:end;padding:7px;border:1px solid #e0e7ef;border-radius:9px;background:#f8fafc}
.jkp-trainer-assignment-row label{display:flex;flex-direction:column;gap:2px;min-width:0}.jkp-trainer-assignment-row select,.jkp-trainer-assignment-row input{width:100%!important;min-height:31px!important;padding:3px 7px!important;border-radius:7px!important;font-size:10px!important}
.jkp-trainer-assignment-row select{padding-right:22px!important}.jkp-trainer-assignment-remove{align-self:center!important;flex-direction:row!important;align-items:center!important;gap:4px!important;white-space:nowrap}.jkp-trainer-assignment-remove input{width:auto!important;min-height:0!important}
.jkp-trainer-assignment-readonly{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.jkp-trainer-assignment-readonly b{font-size:11px}.jkp-trainer-assignment-readonly span{font-size:9px;color:var(--muted)}
.jkp-trainer-noassignment{padding:8px;border:1px dashed #d8e0e9;border-radius:8px;color:var(--muted);font-size:10px;text-align:center}
.jkp-trainer-newassignment{margin-top:7px;padding-top:7px;border-top:1px dashed #dfe6ee}.jkp-trainer-newassignment>b{font-size:10px;color:var(--jkp)}.jkp-trainer-newassignment>div{display:grid;grid-template-columns:minmax(145px,1fr) 92px minmax(120px,.8fr);gap:6px;margin-top:5px}.jkp-trainer-newassignment select,.jkp-trainer-newassignment input{width:100%!important;min-height:31px!important;padding:3px 7px!important;border-radius:7px!important;font-size:10px!important}.jkp-trainer-newassignment select{padding-right:22px!important}
.jkp-trainer-board-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid #edf1f5}.jkp-trainer-board-footer small{color:var(--muted);font-size:8px}
.jkp-trainer-board-empty{padding:24px 12px;border:1px dashed #cfd9e5;border-radius:10px;color:var(--muted);font-size:10px;text-align:center;background:rgba(255,255,255,.65)}
.jkp-planning-detail-season{display:flex;justify-content:flex-end;margin:-4px 0 10px}.jkp-planning-detail-season label{display:flex;align-items:center;gap:8px}.jkp-planning-detail-season label>span{font-size:10px;color:var(--muted);font-weight:800}.jkp-planning-detail-season select{min-width:190px;min-height:36px;border:1px solid #cfd8e5;border-radius:8px;background:#fff;padding:5px 28px 5px 9px}
@media(max-width:1100px){.jkp-trainerfilters-board{grid-template-columns:1fr 1fr 1fr}.jkp-trainerfilters-board input[type=search]{grid-column:span 2}.jkp-trainer-assignment-row{grid-template-columns:minmax(135px,1fr) 90px minmax(110px,.8fr)}.jkp-trainer-assignment-remove{grid-column:1/-1;justify-self:end}}
@media(max-width:820px){.jkp-trainer-board{grid-template-columns:1fr}.jkp-trainer-board-card{cursor:default}.jkp-trainer-board-move{font-size:10px;padding:7px 9px}.jkp-trainerfilters-board{grid-template-columns:1fr 1fr}.jkp-trainerfilters-board input[type=search]{grid-column:1/-1}.jkp-trainer-newassignment>div{grid-template-columns:1fr 100px}.jkp-trainer-newassignment input{grid-column:1/-1}}
@media(max-width:560px){.jkp-trainerfilters-board{grid-template-columns:1fr}.jkp-trainerfilters-board input[type=search]{grid-column:auto}.jkp-trainer-assignment-row{grid-template-columns:1fr 100px}.jkp-trainer-role-field{grid-column:1/-1}.jkp-trainer-assignment-remove{grid-column:1/-1;justify-self:start}.jkp-trainer-board-cardhead{align-items:flex-start}.jkp-trainer-board-cardhead b{font-size:13px}.jkp-trainer-board-personstatus label{grid-template-columns:85px 1fr}.jkp-planning-detail-season{justify-content:stretch}.jkp-planning-detail-season label{width:100%;flex-direction:column;align-items:stretch}.jkp-planning-detail-season select{width:100%}}

/* 0.2.21 – globale Saisonwahl oben rechts in der sticky Hauptnavigation */
.jkp-tabs{align-items:center;justify-content:space-between;gap:10px}
.jkp-tablinks{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;flex:1}
.jkp-global-season{margin-left:auto;display:flex;align-items:center;flex:0 0 auto}
.jkp-global-season label{display:flex;align-items:center;gap:7px;margin:0;padding:2px 3px 2px 8px;border-left:1px solid #dbe3ee}
.jkp-global-season label>span{font-size:10px;font-weight:800;color:#667085;text-transform:uppercase;letter-spacing:.04em}
.jkp-global-season select{min-width:145px;min-height:38px!important;margin:0!important;padding:4px 28px 4px 9px!important;border-radius:9px!important;border:1px solid #cbd8e6!important;background:#f7faff!important;color:#183a63!important;font-weight:800!important;font-size:11px!important}
.jkp-trainer-board-card.is-pool-reference{cursor:default;border-left-color:#7890aa;background:rgba(247,249,252,.96)}
.jkp-trainer-pool-teams{margin-top:7px;padding:6px 8px;border-radius:8px;background:#edf3f9;color:#183a63;font-size:9px;font-weight:700;line-height:1.35}
@media(max-width:900px){.jkp-tabs{align-items:stretch}.jkp-tablinks{order:1;width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.jkp-global-season{order:0;width:100%;justify-content:flex-end}.jkp-global-season label{border-left:0;padding:0}.jkp-global-season select{min-width:160px}}
@media(max-width:520px){.jkp-global-season{justify-content:stretch}.jkp-global-season label{width:100%;justify-content:space-between}.jkp-global-season select{flex:1;min-width:0}.jkp-global-season label>span{font-size:9px}}


/* 0.2.22 – Kaderfilter als eine feste, deckende Toolbar statt überlappender Einzel-Sticky-Leisten */
.jkp-squad-toolbar{position:sticky;top:calc(var(--jkp-sticky-base) + var(--jkp-tabs-height) + 6px);z-index:460;margin:0 0 16px;padding:8px;border:1px solid #d6e0eb;border-radius:12px;background:#f4f7fb!important;box-shadow:0 9px 22px rgba(20,50,90,.12);isolation:isolate;backdrop-filter:none!important}
.jkp-squad-toolbar .jkp-squadfilters{position:static!important;top:auto!important;z-index:auto!important;margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.jkp-squad-toolbar .jkp-team-order-form,.jkp-squad-toolbar .jkp-sort-hint{margin:7px 0 0!important;position:static!important;z-index:auto!important;background:#fff!important}
.jkp-squadgrid{position:relative;z-index:1}
.jkp-squadcard{position:relative;z-index:1}
.jkp-trainer-copy-prev{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-6px 0 12px;padding:8px 10px;border:1px dashed #aabbd0;border-radius:10px;background:rgba(247,250,253,.96)}
.jkp-trainer-copy-prev span{font-size:10px;color:#52657b;font-weight:700}
@media(max-width:780px){.jkp-squad-toolbar{padding:6px;top:calc(var(--jkp-sticky-base) + var(--jkp-tabs-height) + 4px)}.jkp-trainer-copy-prev{align-items:stretch;flex-direction:column}.jkp-trainer-copy-prev .jkp-btn{width:100%}}


/* 0.2.23 – Mannschaftsorientierte Trainerplanung */
.jkp-trainer-team-planner{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(300px,.9fr);gap:16px;align-items:start;margin-top:12px}
.jkp-trainer-team-area,.jkp-trainer-pool-column{min-width:0}
.jkp-trainer-team-area-head,.jkp-trainer-pool-column>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:rgba(248,250,253,.94)}
.jkp-trainer-team-area-head h3,.jkp-trainer-pool-column>header h3{margin:0;color:var(--jkp);font-size:19px}.jkp-trainer-team-area-head p,.jkp-trainer-pool-column>header p{margin:2px 0 0;color:var(--muted);font-size:10px}
.jkp-trainer-team-area-head>span,.jkp-trainer-pool-column>header>strong{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:#edf3f9;color:var(--jkp);font-size:12px;font-weight:800}
.jkp-trainer-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:11px}
.jkp-trainer-team-box{min-width:0;border:1px solid #d9e2ec;border-top:4px solid #2f7d4a;border-radius:13px;background:rgba(255,255,255,.95);overflow:hidden;box-shadow:0 5px 16px rgba(23,45,70,.05);transition:.15s}
.jkp-trainer-team-box.is-duplicate{outline:3px solid #d59c35}.jkp-trainer-team-box>header{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 10px;border-bottom:1px solid #e4eaf0;background:rgba(247,250,253,.95)}
.jkp-trainer-team-box>header h4{margin:0;color:var(--jkp);font-size:21px}.jkp-trainer-team-box>header p{margin:1px 0 0;color:var(--muted);font-size:9px}.jkp-trainer-team-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:999px;background:#e9f7ee;color:#24693d;font-size:11px}
.jkp-trainer-team-dropzone{display:flex;flex-direction:column;gap:7px;min-height:95px;padding:8px;transition:.15s}.jkp-trainer-team-dropzone.is-dragover{background:#edf6ff;outline:2px dashed #4a82bd;outline-offset:-5px}
.jkp-trainer-team-placeholder{display:flex;align-items:center;justify-content:center;min-height:72px;padding:10px;border:1px dashed #c9d5e2;border-radius:9px;color:#728197;font-size:10px;text-align:center;background:rgba(249,251,253,.8)}
.jkp-trainer-assigned-card{border:1px solid #dce5ed;border-left:4px solid #2f7d4a;border-radius:9px;background:#fff;padding:7px 8px;cursor:grab}.jkp-trainer-assigned-card.is-inactive{border-left-color:#98a2b3;background:#f6f7f9}.jkp-trainer-assigned-card.is-scouting{border-left-color:#d08a18;background:#fffaf0}.jkp-trainer-assigned-card.is-dragging,.jkp-trainer-pool-card.is-dragging{opacity:.5}
.jkp-trainer-assigned-main{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.jkp-trainer-assigned-main b{display:block;color:#17273d;font-size:12px}.jkp-trainer-assigned-main span{display:block;color:var(--muted);font-size:8px}.jkp-trainer-unassign{width:25px;height:25px;border:1px solid #e2c4c4;border-radius:7px;background:#fff;color:#b43b3b;font-size:17px;line-height:1;cursor:pointer}
.jkp-trainer-role-inline{display:grid!important;grid-template-columns:50px 1fr;align-items:center;gap:5px!important;margin-top:6px!important}.jkp-trainer-role-inline span{font-size:8px!important;color:var(--muted);font-weight:700}.jkp-trainer-role-inline input{width:100%!important;min-height:28px!important;padding:3px 6px!important;border-radius:6px!important;font-size:9px!important}
.jkp-trainer-pool-column{border:1px solid #d8e1eb;border-top:4px solid #d08a18;border-radius:14px;background:rgba(248,250,253,.94);overflow:hidden;position:sticky;top:calc(var(--jkp-sticky-base) + var(--jkp-tabs-height) + var(--jkp-sticky-toolbar-height,0px) + 12px);max-height:calc(100vh - var(--jkp-sticky-base) - var(--jkp-tabs-height) - 35px)}
.jkp-trainer-pool-column>header{margin:0;border:0;border-radius:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.82)}
.jkp-trainer-pool-list{display:flex;flex-direction:column;gap:7px;padding:9px;overflow:auto;max-height:calc(100vh - var(--jkp-sticky-base) - var(--jkp-tabs-height) - 150px)}
.jkp-trainer-pool-card{border:1px solid #dce4ed;border-left:4px solid #2f7d4a;border-radius:10px;background:#fff;padding:8px;cursor:grab}.jkp-trainer-pool-card.is-inactive{border-left-color:#98a2b3;background:#f6f7f9}.jkp-trainer-pool-card.is-scouting{border-left-color:#d08a18;background:#fffaf0}
.jkp-trainer-pool-cardhead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.jkp-trainer-pool-cardhead b{display:block;font-size:12px;color:#17273d}.jkp-trainer-pool-cardhead>div>span{display:block;font-size:8px;color:var(--muted)}
.jkp-trainer-pool-controls{display:grid;grid-template-columns:minmax(95px,.7fr) minmax(120px,1fr) 34px;gap:5px;align-items:end;margin-top:6px}.jkp-trainer-pool-controls label{display:flex;flex-direction:column;gap:2px}.jkp-trainer-pool-controls label>span{font-size:8px;color:var(--muted);font-weight:700}.jkp-trainer-pool-controls select{width:100%!important;min-height:29px!important;padding:3px 22px 3px 6px!important;font-size:9px!important}.jkp-trainer-pool-add{min-width:34px!important;width:34px!important;height:30px!important;padding:0!important}
.jkp-trainer-pool-drop-hint{margin:7px 9px 9px;padding:8px;border:1px dashed #d0b16e;border-radius:8px;background:#fff7e5;color:#80580f;font-size:9px;text-align:center}.jkp-trainer-pool-column.is-dragover .jkp-trainer-pool-drop-hint{outline:2px dashed #b87a11;background:#ffefc6}
.jkp-trainer-quickcreate{margin-bottom:10px}.jkp-trainer-quickcreate-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px}.jkp-trainer-quickcreate-grid label{display:flex;flex-direction:column;gap:3px}.jkp-trainer-quickcreate-grid label>span{font-size:9px;color:var(--muted);font-weight:700}.jkp-trainer-quickcreate-grid input,.jkp-trainer-quickcreate-grid select{width:100%;min-height:36px}.jkp-trainer-quickcreate-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}
@media(max-width:1100px){.jkp-trainer-team-planner{grid-template-columns:minmax(0,1.55fr) minmax(285px,.85fr)}.jkp-trainer-team-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.jkp-trainer-quickcreate-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:820px){.jkp-trainer-team-planner{grid-template-columns:1fr}.jkp-trainer-pool-column{position:relative;top:auto;max-height:none}.jkp-trainer-pool-list{max-height:none}.jkp-trainer-assigned-card,.jkp-trainer-pool-card{cursor:default}.jkp-trainer-team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.jkp-trainer-team-grid{grid-template-columns:1fr}.jkp-trainer-quickcreate-grid{grid-template-columns:1fr}.jkp-trainer-pool-controls{grid-template-columns:1fr 1fr 38px}.jkp-trainer-quickcreate-actions{flex-direction:column}.jkp-trainer-quickcreate-actions .jkp-btn{width:100%}}


/* 0.2.24 – kompakte einzeilige Desktop-Navigation + robuste Sticky-Ebenen */
@media (min-width:781px){
  .jkp-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:4px!important;
    padding:5px 6px!important;
    min-height:48px!important;
  }
  .jkp-tablinks{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:2px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scrollbar-width:thin;
    order:0!important;
    width:auto!important;
    padding:0!important;
  }
  .jkp-tabs a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    font-size:12px!important;
    line-height:1.15!important;
    padding:7px 9px!important;
    border-radius:8px!important;
  }
  .jkp-global-season{
    order:1!important;
    width:auto!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
    justify-content:flex-end!important;
  }
  .jkp-global-season label{
    width:auto!important;
    padding-left:6px!important;
    gap:5px!important;
  }
  .jkp-global-season label>span{font-size:9px!important}
  .jkp-global-season select{
    min-width:128px!important;
    min-height:34px!important;
    font-size:10px!important;
    padding:3px 25px 3px 7px!important;
  }
}
@media (min-width:1280px){
  .jkp-tabs a{font-size:12.5px!important;padding-left:10px!important;padding-right:10px!important}
}

/* Sticky-Menü und Filter müssen immer VOR Karten/Tabellen liegen. */
.jkp-tabs{
  z-index:100000!important;
  isolation:isolate!important;
  background:#f7f9fc!important;
  backdrop-filter:none!important;
}
.jkp-squad-toolbar,
.jkp-playerfilters,
.jkp-trainerfilters,
.jkp-scout-search,
.jkp-planner-controls,
.jkp-cohortselector,
.jkp-teamselector{
  z-index:99900!important;
  isolation:isolate!important;
  background:#f4f7fb!important;
  backdrop-filter:none!important;
  box-shadow:0 8px 18px rgba(20,50,90,.16)!important;
}
.jkp-squad-toolbar{background:#f4f7fb!important}
.jkp-squad-toolbar .jkp-squadfilters{background:#f4f7fb!important}
.jkp-squad-toolbar .jkp-squadfilters a{background:#fff!important}
.jkp-squad-toolbar .jkp-squadfilters a.is-active{background:var(--jkp)!important}

/* Inhalte dürfen niemals eine Sticky-Leiste überdecken. */
.jkp-squadgrid,
.jkp-squadcard,
.jkp-tablewrap,
.jkp-yeargrid,
.jkp-overview-card,
.jkp-trainer-team-planner,
.jkp-dragplanner,
.jkp-teamboard-grid{
  position:relative!important;
  z-index:1!important;
}

/* Für alle sticky Filter denselben dynamischen Offset verwenden. */
.jkp-playerfilters,
.jkp-trainerfilters,
.jkp-scout-search,
.jkp-planner-controls,
.jkp-squad-toolbar,
.jkp-cohortselector,
.jkp-teamselector{
  top:calc(var(--jkp-sticky-base) + var(--jkp-tabs-height) + 6px)!important;
}

/* Karten beginnen optisch klar unter der Filterleiste. */
.jkp-squad-toolbar + .jkp-squadgrid,
.jkp-playerfilters + *,
.jkp-trainerfilters + *,
.jkp-scout-search + *,
.jkp-planner-controls + *{
  scroll-margin-top:calc(var(--jkp-sticky-base) + var(--jkp-tabs-height) + var(--jkp-sticky-toolbar-height, 64px) + 14px);
}

@media(max-width:780px){
  .jkp-tabs{z-index:100000!important}
  .jkp-tablinks{overflow-x:auto!important;white-space:nowrap!important}
  .jkp-tabs a{font-size:11px!important;padding:7px 9px!important;white-space:nowrap!important}
  .jkp-squad-toolbar,
  .jkp-playerfilters,
  .jkp-trainerfilters,
  .jkp-scout-search,
  .jkp-planner-controls,
  .jkp-cohortselector,
  .jkp-teamselector{z-index:99900!important}
}


/* 0.2.25 – Sticky-Filter ohne Leerraum und ohne Überdeckung des ersten Datensatzes */
.jkp-wrap{--jkp-filter-top:calc(var(--jkp-sticky-base) + 54px)}
.jkp-playerfilters,
.jkp-trainerfilters,
.jkp-scout-search,
.jkp-planner-controls,
.jkp-squad-toolbar,
.jkp-cohortselector,
.jkp-teamselector{
  top:var(--jkp-filter-top)!important;
  margin-top:0!important;
}
/* Überschriften kompakter an die Filter heranführen. */
.jkp-wrap .jkp-heading{margin:8px 0 10px!important}
/* Ein echter Abstand im Dokumentfluss statt nur scroll-margin. */
.jkp-playerfilters{margin-bottom:12px!important}
.jkp-trainerfilters{margin-bottom:12px!important}
.jkp-scout-search{margin-bottom:12px!important}
.jkp-planner-controls{margin-bottom:12px!important}
.jkp-squad-toolbar{margin-bottom:12px!important}
.jkp-cohortselector,.jkp-teamselector{margin-bottom:12px!important}
.jkp-playerfilters + .jkp-tablewrap,
.jkp-trainerfilters + .jkp-tablewrap,
.jkp-scout-search + .jkp-tablewrap,
.jkp-planner-controls + .jkp-dragplanner,
.jkp-squad-toolbar + .jkp-squadgrid{
  margin-top:0!important;
  position:relative!important;
  z-index:1!important;
}
/* Tabellenkopf darf nicht hinter die Filterleiste wandern. */
.jkp-tablewrap{isolation:isolate}
.jkp-table thead{position:relative;z-index:1}
@media (min-width:781px){
  .jkp-wrap .jkp-heading h2{font-size:25px!important}
  .jkp-wrap .jkp-heading p{font-size:13px!important}
}
@media (max-width:780px){
  .jkp-wrap .jkp-heading{margin:6px 0 8px!important}
}

/* 0.2.26 – kompakter Trainerpool + strukturierte DFB-Lizenzen */
.jkp-trainer-pool-card{padding:7px 9px}
.jkp-trainer-pool-simplehead{display:flex;align-items:center;gap:7px;min-width:0}
.jkp-trainer-pool-simplehead b{font-size:12px;color:#17273d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-trainer-pool-simplemeta{display:grid;gap:2px;margin-top:5px;font-size:9px;color:#66758a;line-height:1.3}
.jkp-trainer-pool-simplemeta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-trainer-pool-simplemeta b{color:#334862;font-weight:800;margin-right:3px}
.jkp-license-badge{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:22px;padding:0 5px;border-radius:7px;background:#173f6d;color:#fff;font-size:8px;font-weight:900;line-height:1;letter-spacing:.2px;vertical-align:middle;margin-right:5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.jkp-license-basis-coach{background:#6b7280}.jkp-license-kindertrainer-zertifikat{background:#4f7b56}.jkp-license-jugendtrainer-zertifikat{background:#547497}
.jkp-license-c-kinder{background:#3e8b62}.jkp-license-c-jugend{background:#2f7d71}.jkp-license-c-erwachsene{background:#337d94}.jkp-license-c-leistung{background:#315f94}
.jkp-license-b-jugend{background:#5359a0}.jkp-license-b-erwachsene{background:#674d9c}.jkp-license-b-plus{background:#7c3f8d}.jkp-license-torwart-b{background:#8a5b37}.jkp-license-futsal-b{background:#9a4d4d}
.jkp-license-a{background:#a46d18}.jkp-license-a-plus{background:#b14f18}.jkp-license-torwart-a{background:#a83b52}.jkp-license-pro{background:#111827;color:#f9d66b}
.jkp-trainer-assigned-main b{display:flex!important;align-items:center;gap:2px}
.jkp-license-settings{margin-top:14px}.jkp-license-admin-list{display:grid;gap:5px}.jkp-license-admin-head,.jkp-license-admin-row{display:grid;grid-template-columns:90px minmax(220px,1fr) 70px;gap:7px;align-items:center}.jkp-license-admin-head{padding:0 7px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.jkp-license-admin-row{padding:6px;border:1px solid #dce4ed;border-radius:9px;background:rgba(248,250,253,.9)}.jkp-license-admin-row input{width:100%!important;min-height:34px!important}.jkp-license-symbol-input{text-align:center;font-weight:900;text-transform:uppercase}.jkp-license-admin-row.is-new{border-style:dashed}
@media(max-width:650px){.jkp-license-admin-head,.jkp-license-admin-row{grid-template-columns:70px 1fr 44px}.jkp-trainer-pool-simplemeta span{white-space:normal}.jkp-license-badge{min-width:23px;height:21px;font-size:7px}}

/* 0.2.27 – klare Sticky-Struktur: Navigation oben, Filter direkt darunter. */
.jkp-wrap{--jkp-sticky-base:0px;--jkp-tabs-height:48px;--jkp-filter-top:52px}
.jkp-tabs{
  position:sticky!important;
  top:var(--jkp-sticky-base)!important;
  z-index:100000!important;
  margin-bottom:10px!important;
  background:#f7f9fc!important;
}
.jkp-playerfilters,
.jkp-trainerfilters,
.jkp-scout-search,
.jkp-planner-controls,
.jkp-squad-toolbar,
.jkp-cohortselector,
.jkp-teamselector{
  position:sticky!important;
  top:var(--jkp-filter-top)!important;
  z-index:99900!important;
  margin-top:0!important;
  margin-bottom:12px!important;
  background:#f4f7fb!important;
  box-shadow:0 7px 14px rgba(20,50,90,.13)!important;
}
/* Sticky-Elemente bleiben im Dokumentfluss; kein künstlicher Platzhalter. */
.jkp-playerfilters + *,
.jkp-trainerfilters + *,
.jkp-scout-search + *,
.jkp-planner-controls + *,
.jkp-squad-toolbar + *{
  margin-top:0!important;
}
.jkp-wrap .jkp-heading{margin:8px 0 10px!important}

/* Scouting-Übersichten: Spieler links, Trainerkandidaten rechts. */
.jkp-scout-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.jkp-scout-overview-grid>.jkp-scout-section{margin:0!important;min-width:0}
.jkp-scout-row.is-trainer .jkp-scout-person>b{display:flex;align-items:center;gap:4px}
.jkp-scout-row.is-trainer{border-left:4px solid #8b6aae}

/* Löschen im Doppelklick-Modal klar getrennt vom Speichern. */
.jkp-btn-danger{background:#b42318!important;color:#fff!important}
.jkp-btn-danger:hover{background:#912018!important}
.jkp-player-modal-footer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.jkp-person-modal-delete{margin-right:auto}

@media(max-width:1050px){
  .jkp-scout-overview-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
  .jkp-wrap{--jkp-tabs-height:46px}
  .jkp-playerfilters,
  .jkp-trainerfilters,
  .jkp-scout-search,
  .jkp-planner-controls,
  .jkp-squad-toolbar,
  .jkp-cohortselector,
  .jkp-teamselector{top:var(--jkp-filter-top)!important}
  .jkp-person-modal-delete{margin-right:0}
  .jkp-player-modal-footer-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .jkp-person-modal-delete{grid-column:1/-1}
}

/* 0.2.28 – Trainerübersicht + besser lesbare Lizenzdarstellung */
.jkp-trainer-create-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.jkp-license-badge{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.45);
  border:1px solid rgba(0,0,0,.18);
  font-weight:900!important;
}
.jkp-license-pro{color:#ffe071!important;-webkit-text-fill-color:#ffe071!important}
.jkp-trainer-pool-simplemeta{color:#31445d!important}
.jkp-trainer-pool-simplemeta b{color:#142c49!important}
.jkp-trainer-overview-list{margin:10px 0 14px;padding:0!important;overflow:hidden}
.jkp-trainer-overview-head{padding:11px 13px;border-bottom:1px solid #dbe4ed;background:rgba(248,250,253,.97)}
.jkp-trainer-overview-head h3{margin:0;color:#12375f;font-size:18px}.jkp-trainer-overview-head p{margin:2px 0 0;color:#53647a;font-size:10px}
.jkp-trainer-overview-group{padding:10px 12px}.jkp-trainer-overview-group+.jkp-trainer-overview-group{border-top:1px solid #dbe4ed}
.jkp-trainer-overview-group.is-office{background:rgba(239,249,243,.65)}
.jkp-trainer-overview-group.is-candidates{background:rgba(250,247,239,.52)}
.jkp-trainer-overview-grouphead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.jkp-trainer-overview-grouphead h4{margin:0;color:#183b61;font-size:14px}.jkp-trainer-overview-grouphead span{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;border-radius:999px;background:#e7eef6;color:#183b61;font-size:10px;font-weight:900}
.jkp-trainer-overview-rows{display:grid;gap:5px}
.jkp-trainer-overview-row{display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(230px,1fr) minmax(250px,1.2fr);gap:10px;align-items:center;padding:7px 9px;border:1px solid #dce4ed;border-left:4px solid #2f7d4a;border-radius:9px;background:#fff;cursor:pointer}
.jkp-trainer-overview-row.is-scouting{border-left-color:#c47a12;background:#fffaf0}.jkp-trainer-overview-row.is-inactive{border-left-color:#8995a5;background:#f5f7f9}
.jkp-trainer-overview-name{display:flex;align-items:center;gap:6px;min-width:0}.jkp-trainer-overview-name>div{min-width:0}.jkp-trainer-overview-name b{display:block;color:#132840;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-trainer-overview-name span{display:block;color:#516278;font-size:9px;font-weight:700}
.jkp-trainer-overview-license,.jkp-trainer-overview-teams{min-width:0}.jkp-trainer-overview-license>b,.jkp-trainer-overview-teams>b{display:block;margin-bottom:1px;color:#173655;font-size:8px;text-transform:uppercase;letter-spacing:.35px}.jkp-trainer-overview-license>span,.jkp-trainer-overview-teams>span{display:block;color:#172a40!important;font-size:10px;font-weight:750;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-trainer-overview-license>small{display:block;color:#40546c!important;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-trainer-overview-empty{padding:12px;border:1px dashed #ccd7e2;border-radius:8px;background:rgba(255,255,255,.7)}
@media(max-width:900px){.jkp-trainer-overview-row{grid-template-columns:minmax(190px,1fr) minmax(180px,1fr)}.jkp-trainer-overview-teams{grid-column:1/-1;padding-left:32px}}
@media(max-width:600px){.jkp-trainer-create-buttons{width:100%}.jkp-trainer-create-buttons .jkp-btn{flex:1}.jkp-trainer-overview-row{grid-template-columns:1fr;gap:4px}.jkp-trainer-overview-teams{grid-column:auto;padding-left:31px}.jkp-trainer-overview-license{padding-left:31px}.jkp-trainer-overview-license>span,.jkp-trainer-overview-teams>span,.jkp-trainer-overview-license>small{white-space:normal}}

/* 0.2.29 – aktive Saison / Planungsstand in der Kaderplanung */
.jkp-season-statebar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:8px 0 10px;padding:10px 12px;border:1px solid #d5e0eb;border-radius:12px;
  background:rgba(248,250,253,.96);color:#18324f;
}
.jkp-season-statebar>div{min-width:0}
.jkp-season-statebar b{display:block;font-size:13px;color:#153a61}
.jkp-season-statebar span{display:block;margin-top:2px;font-size:10px;color:#5b6d82;line-height:1.35}
.jkp-season-statebar.is-active{border-color:#b9dec6;background:rgba(239,249,243,.97)}
.jkp-season-statebar.is-planning{border-color:#e4d5ac;background:rgba(255,249,235,.97)}
.jkp-season-active-badge{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;margin:0!important;padding:5px 10px;border-radius:999px;background:#277a48!important;color:#fff!important;font-size:10px!important;font-weight:900}
@media(max-width:700px){.jkp-season-statebar{align-items:stretch;flex-direction:column}.jkp-season-statebar form,.jkp-season-statebar .jkp-btn{width:100%}}

/* 0.2.29 – aus der parallel gepflegten 0.2.28-Variante übernommen:
   mobile Saisonwahl oben, Menüzeile direkt darunter und aktive Registerkarte sichtbar. */
@media(max-width:780px){
  .jkp-wrap{
    --jkp-tabs-height:96px;
    --jkp-filter-top:calc(var(--jkp-sticky-base) + var(--jkp-tabs-height) + 4px);
  }
  .jkp-tabs{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    justify-content:flex-start!important;flex-wrap:nowrap!important;gap:6px!important;
    width:100%!important;max-width:100%!important;min-height:0!important;padding:6px!important;
    overflow:visible!important;
  }
  .jkp-global-season{
    order:0!important;display:flex!important;width:100%!important;max-width:none!important;
    margin:0!important;flex:0 0 auto!important;justify-content:stretch!important;
  }
  .jkp-global-season label{
    display:flex!important;width:100%!important;min-width:0!important;min-height:38px;
    margin:0!important;padding:3px 4px 3px 9px!important;align-items:center!important;
    justify-content:space-between!important;gap:8px!important;border:1px solid #d6e0eb!important;
    border-radius:9px!important;background:#fff!important;
  }
  .jkp-global-season label>span{flex:0 0 auto;font-size:9px!important}
  .jkp-global-season select{
    flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;
    min-height:32px!important;
  }
  .jkp-tablinks{
    order:1!important;display:flex!important;width:100%!important;max-width:100%!important;
    min-width:0!important;min-height:40px!important;margin:0!important;padding:0 0 2px!important;
    flex:0 0 auto!important;flex-direction:row!important;flex-wrap:nowrap!important;
    align-items:center!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;
    white-space:nowrap!important;scrollbar-width:thin;scrollbar-color:#9badc2 transparent;
    -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  }
  .jkp-tablinks::-webkit-scrollbar{height:3px}
  .jkp-tablinks::-webkit-scrollbar-thumb{background:#9badc2;border-radius:999px}
  .jkp-tablinks a{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;min-height:35px!important}
  .jkp-playerfilters,.jkp-trainerfilters,.jkp-scout-search,.jkp-planner-controls,
  .jkp-squad-toolbar,.jkp-cohortselector,.jkp-teamselector{top:var(--jkp-filter-top)!important}
}

/* 0.2.30 Spielerbewertung & normierte Kaderstärke */
.jkp-mini-rating{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 6px;border-radius:999px;background:#fff4c7;color:#6b4b00!important;border:1px solid #e6c765;font-size:10px;font-weight:900;line-height:1;white-space:nowrap}.jkp-mini-rating.is-elite{background:#e8f7ec;border-color:#7fc993;color:#165a2c!important}.jkp-mini-rating.is-strong{background:#f1f9e7;border-color:#afd474;color:#46691d!important}.jkp-mini-rating.is-solid{background:#fff7d9;border-color:#e7c867;color:#725900!important}.jkp-mini-rating.is-development{background:#fff0df;border-color:#efb06a;color:#8a4b08!important}.jkp-mini-rating.is-risk{background:#fde7e7;border-color:#e49a9a;color:#842029!important}.jkp-mini-rating.is-open{background:#f2f4f7;border-color:#d5dde6;color:#667085!important}
.jkp-profile-rating{background:#fff8db!important;border:1px solid #ead37b!important;color:#5d4708!important}
.jkp-rating-field input{font-weight:800}
.jkp-strength-panel{margin:8px 0 12px;padding:10px 12px;border:1px solid #d8e3ef;border-radius:12px;background:rgba(255,255,255,.92)}
.jkp-strength-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.jkp-strength-head>div:first-child{display:flex;flex-direction:column;gap:2px}.jkp-strength-head b{font-size:13px;color:#183a63}.jkp-strength-head span{font-size:10px;color:#667085}
.jkp-strength-score{display:flex;align-items:baseline;gap:3px;white-space:nowrap}.jkp-strength-score strong{font-size:26px;line-height:1;color:#183a63}.jkp-strength-score span{font-size:11px;color:#667085}
.jkp-strength-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.jkp-strength-grid>div{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label score" "meta meta";gap:1px 6px;padding:6px 8px;border-radius:9px;background:#f5f8fc;border:1px solid #e5ebf3}.jkp-strength-grid span{grid-area:label;font-size:10px;font-weight:800;color:#526173}.jkp-strength-grid b{grid-area:score;font-size:16px;color:#183a63}.jkp-strength-grid small{grid-area:meta;font-size:9px;color:#788494}
.jkp-strength-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.jkp-strength-meta>span{padding:3px 7px;border-radius:999px;background:#eef3f8;color:#5b6878;font-size:9px}.jkp-strength-meta b{color:#26364a}
.jkp-strength-focus,.jkp-strength-ok,.jkp-strength-empty{margin-top:7px;padding:6px 8px;border-radius:8px;font-size:10px}.jkp-strength-focus{background:#fff1e8;color:#8a3f0b;border:1px solid #f1c5a7}.jkp-strength-ok{background:#edf8f1;color:#176b36;border:1px solid #c5e4cf}.jkp-strength-empty{background:#f4f6f8;color:#667085}
.jkp-team-strength-mini{display:block;margin-top:5px;font-size:10px;font-weight:850;color:#6b4b00}
@media(max-width:760px){.jkp-strength-head{align-items:flex-start}.jkp-strength-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jkp-strength-head span{max-width:260px}.jkp-strength-score strong{font-size:22px}}

/* 0.2.32 – Bewertungsbalken in der Kaderplanung */
.jkp-plan-member-main{display:flex;flex-direction:column;gap:4px}.jkp-plan-member-main b{display:block}.jkp-ratingbar{position:relative;display:flex;align-items:center;height:24px;border-radius:999px;overflow:hidden;border:1px solid #e7d28f;background:#fff7df}.jkp-ratingbar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;transition:width .2s ease}.jkp-ratingbar-label{position:relative;z-index:1;padding:0 10px;font-size:12px;font-weight:900;letter-spacing:.01em;color:#6b4b00;white-space:nowrap}.jkp-ratingbar.is-elite{background:#ebf8ee;border-color:#85ca96}.jkp-ratingbar.is-elite .jkp-ratingbar-fill{background:linear-gradient(90deg,#2f9e44,#62c56f)}.jkp-ratingbar.is-elite .jkp-ratingbar-label{color:#155724}.jkp-ratingbar.is-strong{background:#f1f9e7;border-color:#afd474}.jkp-ratingbar.is-strong .jkp-ratingbar-fill{background:linear-gradient(90deg,#8bc34a,#b6dc74)}.jkp-ratingbar.is-strong .jkp-ratingbar-label{color:#40661b}.jkp-ratingbar.is-solid{background:#fff8dd;border-color:#e7c867}.jkp-ratingbar.is-solid .jkp-ratingbar-fill{background:linear-gradient(90deg,#f0cf57,#f6df8d)}.jkp-ratingbar.is-solid .jkp-ratingbar-label{color:#715900}.jkp-ratingbar.is-development{background:#fff0df;border-color:#efb06a}.jkp-ratingbar.is-development .jkp-ratingbar-fill{background:linear-gradient(90deg,#f29d49,#f6be78)}.jkp-ratingbar.is-development .jkp-ratingbar-label{color:#8a4b08}.jkp-ratingbar.is-risk{background:#fde5e5;border-color:#e49a9a}.jkp-ratingbar.is-risk .jkp-ratingbar-fill{background:linear-gradient(90deg,#d85a5a,#ed8c8c)}.jkp-ratingbar.is-risk .jkp-ratingbar-label{color:#7f1d1d}.jkp-ratingbar.is-open{background:#f2f4f7;border-color:#d5dde6}.jkp-ratingbar.is-open .jkp-ratingbar-label{color:#667085}.jkp-ratingbar.is-open .jkp-ratingbar-fill{display:none}.jkp-overview-player-rating,.jkp-pool-rating{margin-top:4px}.jkp-ratingbar.is-compact{height:24px;max-width:100%}.jkp-ratingbar.is-compact .jkp-ratingbar-fill{display:none}.jkp-ratingbar.is-compact .jkp-ratingbar-label{width:100%;padding:0 10px;font-size:12px}.jkp-ratingbar.is-compact.is-open{width:88px;background:#f2f4f7;border-color:#d5dde6}.jkp-ratingbar.is-compact.is-open .jkp-ratingbar-label{color:#667085}

/* 0.2.31 – Änderungshistorie / Audit Log */
.jkp-audit-details{grid-column:1/-1;margin:10px 0 2px;border:1px solid rgba(15,43,78,.16);border-radius:12px;background:rgba(248,251,255,.92);overflow:hidden}
.jkp-audit-details>summary{cursor:pointer;list-style:none;padding:11px 13px;font-weight:800;color:#102b4e;display:flex;justify-content:space-between;gap:12px;align-items:center}
.jkp-audit-details>summary::-webkit-details-marker{display:none}
.jkp-audit-details>summary:after{content:'▾';font-size:13px;opacity:.7}
.jkp-audit-details[open]>summary:after{content:'▴'}
.jkp-audit-details>summary span{font-size:11px;font-weight:700;color:#52657b}
.jkp-audit-list{max-height:280px;overflow:auto;border-top:1px solid rgba(15,43,78,.10)}
.jkp-audit-row{padding:9px 12px;border-bottom:1px solid rgba(15,43,78,.08);display:grid;gap:3px;background:rgba(255,255,255,.74)}
.jkp-audit-row:last-child{border-bottom:0}
.jkp-audit-row>div{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.jkp-audit-row b{font-size:12px;color:#102b4e;min-width:140px}
.jkp-audit-row span{font-size:12px;color:#27384c}
.jkp-audit-row small{font-size:10.5px;color:#6a7889}
.jkp-audit-old{color:#7a4b4b!important;text-decoration:line-through;text-decoration-thickness:1px}
.jkp-audit-new{color:#176638!important;font-weight:800}
.jkp-audit-filter{display:grid!important;grid-template-columns:minmax(220px,1.4fr) minmax(170px,.8fr) minmax(170px,.8fr) auto;gap:8px;align-items:end}
.jkp-history-table{padding:0!important;overflow:hidden}
.jkp-history-head,.jkp-history-row{display:grid;grid-template-columns:170px 190px minmax(300px,1fr) minmax(180px,.7fr);gap:12px;align-items:center;padding:10px 12px}
.jkp-history-head{background:#102b4e;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.jkp-history-row{border-bottom:1px solid rgba(15,43,78,.09);background:rgba(255,255,255,.84)}
.jkp-history-row:last-child{border-bottom:0}
.jkp-history-row>span{min-width:0;font-size:12px;color:#23364b;overflow-wrap:anywhere}
.jkp-history-row>span>b{display:block;color:#102b4e}
.jkp-history-row>span>small{display:block;color:#68798c;margin-top:2px}
@media(max-width:900px){
  .jkp-audit-filter{grid-template-columns:1fr 1fr!important}
  .jkp-history-head{display:none}
  .jkp-history-row{grid-template-columns:1fr;gap:5px;padding:12px}
  .jkp-history-row>span:nth-child(2){font-weight:800;font-size:14px}
}
@media(max-width:560px){
  .jkp-audit-filter{grid-template-columns:1fr!important}
  .jkp-audit-row>div{display:block}
  .jkp-audit-row b{display:block;min-width:0;margin-bottom:2px}
}

/* 0.2.34 – Backup/Recovery */
.jkp-backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.jkp-backup-box{padding:14px;border:1px solid #dbe4ee;border-radius:12px;background:rgba(255,255,255,.75)}.jkp-backup-box h4{margin:0 0 6px}.jkp-backup-box p{margin:0 0 12px;color:var(--muted);font-size:12px}.jkp-backup-box input[type=file]{width:100%;margin:0 0 10px;padding:8px;border:1px solid #d5deea;border-radius:8px;background:#fff}.jkp-backup-box label{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.jkp-backup-box label span{font-size:11px}.jkp-backup-box.is-recovery{border-color:#efc5c1;background:#fff9f8}@media(max-width:780px){.jkp-backup-grid{grid-template-columns:1fr}}

/* 0.2.35 – Referenzkader je Altersklasse */
.jkp-age-strength-grid{display:flex;flex-direction:column;gap:5px;margin:12px 0}.jkp-age-strength-head,.jkp-age-strength-row{display:grid;grid-template-columns:minmax(90px,1.2fr) repeat(4,minmax(75px,1fr)) minmax(60px,.7fr);gap:7px;align-items:center}.jkp-age-strength-head{padding:0 8px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.jkp-age-strength-row{padding:8px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.78)}.jkp-age-strength-row b{color:var(--jkp);font-size:14px}.jkp-age-strength-row input{min-height:34px!important;width:100%!important;text-align:center}.jkp-age-strength-row strong{text-align:center;color:var(--jkp);font-size:13px}.jkp-teammanage-counts span:nth-child(2){font-weight:800}
@media(max-width:700px){.jkp-age-strength-head{display:none}.jkp-age-strength-row{grid-template-columns:55px repeat(4,1fr) 48px;gap:4px;padding:7px 5px}.jkp-age-strength-row input{min-width:0!important;padding:4px!important}.jkp-age-strength-row strong{font-size:11px}}

/* 0.2.37 – Trainerbox im Planungspool direkt nach dem regulären Jahrgang */
.jkp-trainerpool.jkp-trainerpool-top{margin:12px 0 14px;padding:8px;border:1px solid #bdd9c6;border-radius:11px;background:rgba(240,249,243,.9);box-shadow:0 2px 8px rgba(35,99,59,.06)}
.jkp-trainerpool.jkp-trainerpool-top .jkp-pool-section-title{margin:0 0 7px;padding:6px 8px;background:#e3f3e8}
.jkp-trainerpool.jkp-trainerpool-top .jkp-pool-list{max-height:250px;overflow:auto;padding-right:2px}
@media(max-width:780px){.jkp-trainerpool.jkp-trainerpool-top .jkp-pool-list{max-height:none}}

/* 0.2.38 – Altersklassen-Sonderzuordnungen */
.jkp-team-badge.is-playing-down{background:#8b3f72!important;color:#fff!important;outline:2px solid #d9a9ca;outline-offset:1px}
.jkp-playing-down{font-size:9px!important;font-weight:900!important;color:#7a285f!important;background:#f9eaf4;padding:2px 5px;border-radius:5px;border:1px solid #e4bad6;white-space:nowrap}
.jkp-rosterrow.is-age-down{border-color:#d9a9ca!important;background:#fff8fc!important;box-shadow:inset 3px 0 0 #9b4f82}
.jkp-rosterrow.is-age-up{box-shadow:inset 3px 0 0 #e4b447}
.jkp-plan-member.is-age-down{border-color:#d3a0c4!important;background:#fff7fc!important;box-shadow:inset 3px 0 0 #99507f}
.jkp-plan-member.is-age-up{box-shadow:inset 3px 0 0 #e1b449}
.jkp-plan-member-main em.is-playing-down{color:#7a285f!important;background:#f7e7f2;border-radius:4px;padding:1px 4px}
.jkp-pool-player.is-older{border-color:#d9a9ca;background:#fff8fc;border-style:dashed}
.jkp-pool-player.is-older:hover{border-color:#a55b8b;background:#fff1f9}
.jkp-older-age-pool{margin-top:12px;padding-top:6px;border-top:2px solid #ead1e2}
.jkp-pool-section-title.is-older{background:#f8eaf3;color:#7b315f}
.jkp-pool-warning{margin:5px 2px 0;font-size:9px;line-height:1.35;color:#7b536c}
.jkp-teamstate.is-lower{background:#fff3fa!important;border-color:#d7a4c5!important;border-style:dashed!important}
.jkp-teamstate.is-lower>span b{color:#7b315f!important}.jkp-teamstate.is-lower>span small{color:#8b3f72!important}
@media(max-width:560px){.jkp-team-badge.is-playing-down{white-space:normal;text-align:center}.jkp-playing-down{white-space:normal}}

/* 0.2.39 – Trainer in der Mannschaft ganz oben + automatische Fix/Idee-Logik */
.jkp-plan-team-trainers{margin:9px 0 10px;padding:8px;border:1px solid #b9d8c2;border-radius:10px;background:#f2faf4;box-shadow:0 1px 0 rgba(34,96,54,.04)}
.jkp-plan-team-trainers .jkp-plan-trainer-head{margin:0 0 5px;padding:0;border-top:0}
.jkp-plan-team-trainers .jkp-plan-trainer-head>span{font-size:10px;color:#245f39}
.jkp-plan-team-trainers .jkp-trainer-dropzone{min-height:48px}
.jkp-plan-team-trainers .jkp-trainer-placeholder{background:#fff;border-color:#9ec7aa;color:#4b7758;font-weight:700}
.jkp-plan-team-trainers .jkp-plan-trainer{background:#fff;border-color:#bed8c5}
.jkp-pool-trainer.is-back-to-idea{outline:2px dashed #d7a94b;outline-offset:1px;background:#fff8e9}
@media(max-width:780px){.jkp-plan-team-trainers{padding:7px;margin-top:8px}.jkp-plan-team-trainers .jkp-trainer-placeholder{min-height:44px}}

/* 0.2.41 – Trainerteam-Rollen Trainer / Betreuer */
.jkp-staff-badge{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:2px 6px;margin-right:5px;border-radius:999px;font-size:8px;font-weight:900;line-height:1;white-space:nowrap;vertical-align:middle}.jkp-staff-badge.is-trainer{background:#e9f1fb;color:#1f4d7d;border:1px solid #b8cce3}.jkp-staff-badge.is-co-trainer{background:#e9f7f2;color:#22604c;border:1px solid #a9d4c4}.jkp-staff-badge.is-betreuer{background:#f3eafa;color:#6b3185;border:1px solid #ceb1dc}.jkp-plan-trainer-main b,.jkp-trainer-assigned-main b,.jkp-pool-trainer b{display:flex;align-items:center;gap:3px}.jkp-trainer-overview-name>.jkp-staff-badge{flex:0 0 auto}

/* 0.2.42 – direkte Altersklassenwahl, Lizenzbadges und Doppelklick in der Kaderplanung */
.jkp-planner-age-nav{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:7px;margin:0 0 10px;padding:8px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:12px;position:sticky;top:var(--jkp-filter-top);z-index:106;box-shadow:0 7px 16px rgba(20,50,90,.07)}
.jkp-planner-age-nav a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:6px 9px;border:1px solid #cfd9e5;border-radius:10px;background:#fff;color:var(--jkp)!important;text-decoration:none!important;white-space:nowrap;transition:.12s ease}
.jkp-planner-age-nav a:hover{border-color:#7ea2c9;background:#f2f7fc}.jkp-planner-age-nav a.is-active{background:var(--jkp);border-color:var(--jkp);color:#fff!important;box-shadow:0 3px 10px rgba(23,63,109,.18)}
.jkp-planner-age-nav a b{font-size:13px}.jkp-planner-age-nav a span{font-size:9px;opacity:.72}.jkp-planner-age-nav a.is-active span{opacity:.88;color:#fff}
.jkp-pool-trainer b,.jkp-plan-trainer-main b,.jkp-trainer-row-main b{display:flex!important;align-items:center;gap:3px;min-width:0}.jkp-pool-trainer .jkp-license-badge,.jkp-plan-trainer .jkp-license-badge{flex:0 0 auto;margin-right:2px}
.jkp-plan-member[data-jkp-player-edit="1"],.jkp-pool-player[data-jkp-player-edit="1"]{cursor:grab}.jkp-plan-member[data-jkp-player-edit="1"] .jkp-plan-member-main b,.jkp-pool-player[data-jkp-player-edit="1"] b{cursor:pointer}.jkp-plan-member[data-jkp-player-edit="1"] .jkp-plan-member-main b:hover,.jkp-pool-player[data-jkp-player-edit="1"] b:hover{text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.jkp-planner-age-nav{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.jkp-planner-age-nav a{flex:0 0 auto;min-width:92px;scroll-snap-align:start}}
@media(max-width:520px){.jkp-planner-age-nav{padding:6px;gap:5px}.jkp-planner-age-nav a{min-width:78px;min-height:38px;flex-direction:column;gap:0}.jkp-planner-age-nav a b{font-size:12px}.jkp-planner-age-nav a span{font-size:8px}}

/* 0.2.43 – Co-Trainer + Kaderplanungsfilter optisch wie Kader */
.jkp-planner-age-toolbar{margin:0 0 10px;padding:8px 10px;background:#f4f7fb;border:1px solid var(--line);border-radius:12px;position:sticky;top:var(--jkp-filter-top);z-index:106;box-shadow:0 7px 16px rgba(20,50,90,.07)}
.jkp-planner-age-toolbar .jkp-planner-age-nav{position:static!important;top:auto!important;z-index:auto!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.jkp-planner-age-toolbar .jkp-planner-age-nav a{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;min-height:auto!important;min-width:auto!important;padding:8px 11px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;color:inherit!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:none!important}
.jkp-planner-age-toolbar .jkp-planner-age-nav a b{font-size:inherit!important;font-weight:800}.jkp-planner-age-toolbar .jkp-planner-age-nav a span{font-size:11px!important;color:var(--muted)!important;opacity:1!important}
.jkp-planner-age-toolbar .jkp-planner-age-nav a.is-active{background:var(--jkp)!important;border-color:var(--jkp)!important;color:#fff!important}.jkp-planner-age-toolbar .jkp-planner-age-nav a.is-active span{color:#fff!important}
@media(max-width:780px){.jkp-planner-age-toolbar{padding:8px}.jkp-planner-age-toolbar .jkp-planner-age-nav{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:3px!important}.jkp-planner-age-toolbar .jkp-planner-age-nav a{flex:0 0 auto!important;flex-direction:row!important}}


/* 0.2.45 – mehrere Mannschaften direkt im Trainereditor */
.jkp-trainer-team-fields{margin:6px 0 2px;padding:12px;border:1px solid #bfd2e5;border-radius:12px;background:#f7fafe}.jkp-trainer-team-fields legend{padding:0 7px;color:var(--jkp);font-weight:900}.jkp-trainer-team-fields legend span{display:inline-flex;margin-left:6px;padding:2px 7px;border-radius:999px;background:#e8f1fb;font-size:10px}.jkp-trainer-teamset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:7px}.jkp-trainer-teamstate{display:grid;grid-template-columns:minmax(56px,.55fr) minmax(105px,1.15fr) minmax(105px,1fr);gap:7px;align-items:end;padding:8px;border:1px solid #d9e3ee;border-radius:10px;background:#fff;transition:.12s}.jkp-trainer-teamstate.is-assigned{border-color:#8bb5dc;background:#eef6ff;box-shadow:inset 3px 0 0 #2f6fae}.jkp-trainer-teamstate-name{align-self:center;min-width:0}.jkp-trainer-teamstate-name b{display:block;color:var(--jkp);font-size:15px;line-height:1.05}.jkp-trainer-teamstate-name span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.jkp-trainer-teamstate label{display:flex!important;flex-direction:column!important;gap:2px!important;margin:0!important}.jkp-trainer-teamstate label>span{font-size:8px!important;font-weight:800!important;color:#667085!important;text-transform:uppercase;letter-spacing:.04em}.jkp-trainer-teamstate select{width:100%!important;min-height:33px!important;margin:0!important;padding:4px 24px 4px 7px!important;border-radius:7px!important;font-size:10px!important}.jkp-trainer-team-fields .jkp-formhint{display:block;margin-top:8px;line-height:1.4}
@media(max-width:650px){.jkp-trainer-teamset-grid{grid-template-columns:1fr}.jkp-trainer-teamstate{grid-template-columns:64px 1fr}.jkp-trainer-teamstate label:last-child{grid-column:2}.jkp-trainer-team-fields{padding:9px}}

/* 0.2.46 – Doppelklick in der Kaderplanung */
.jkp-dragplanner .jkp-plan-member-main,.jkp-dragplanner .jkp-plan-trainer-main,.jkp-dragplanner .jkp-pool-player>div:first-child,.jkp-dragplanner .jkp-pool-trainer>div:first-child{cursor:pointer}
.jkp-dragplanner [data-jkp-person-edit="1"] b{user-select:none}

/* 0.2.47 – Personen in der Kaderplanung */
.jkp-dragplanner [data-person-id][data-person-kind]{cursor:grab}.jkp-dragplanner [data-person-id][data-person-kind]:active{cursor:grabbing}.jkp-dragplanner [data-person-id][data-person-kind] b{cursor:pointer}

/* 0.2.50 – Sortierung auch in der Kaderplanung */
.jkp-planner-pool-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end;margin-top:7px}.jkp-planner-pool-tools .jkp-planner-search{margin-top:0!important}.jkp-planner-sort-label{display:flex!important;flex-direction:column!important;gap:2px!important;margin:0!important}.jkp-planner-sort-label>span{font-size:8px!important;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.jkp-planner-sort{width:auto!important;min-width:142px!important;min-height:34px!important;padding:3px 25px 3px 7px!important;border:1px solid #cfd8e5!important;border-radius:8px!important;background:#fff!important;font-size:9px!important;font-weight:700!important;color:#344054!important}
@media(max-width:560px){.jkp-planner-pool-tools{grid-template-columns:1fr}.jkp-planner-sort-label{width:100%}.jkp-planner-sort{width:100%!important}}

/* 0.2.51 – zuverlässiger Doppelklick + Drag-Handles + sortierbares Trainerteam */
.jkp-person-drag-handle{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:28px;min-width:20px;padding:0!important;margin:0!important;border:0!important;border-radius:6px;background:transparent!important;color:#8391a2!important;font-size:15px!important;font-weight:900;line-height:1;cursor:grab!important;touch-action:none;user-select:none}
.jkp-person-drag-handle:hover{background:#e9f0f7!important;color:#315f90!important}.jkp-person-drag-handle:active{cursor:grabbing!important}.jkp-person-drag-handle.is-trainer:hover{background:#e7f4eb!important;color:#2f7045!important}
.jkp-plan-member{grid-template-columns:20px minmax(0,1fr) 82px 24px!important;cursor:default!important}.jkp-plan-trainer{grid-template-columns:20px minmax(0,1fr) 70px minmax(72px,1fr) 24px!important;cursor:default!important}
.jkp-pool-player,.jkp-pool-trainer{cursor:default!important}.jkp-pool-player>.jkp-person-drag-handle,.jkp-pool-trainer>.jkp-person-drag-handle{flex:0 0 20px;align-self:center;margin-right:1px!important}
.jkp-plan-trainer.is-sorting{opacity:.62;outline:2px dashed #4c9564;outline-offset:2px}.jkp-trainer-dropzone.is-dragover{min-height:54px}
@media(max-width:780px){.jkp-plan-member{grid-template-columns:20px minmax(0,1fr) 92px 26px!important}.jkp-plan-trainer{grid-template-columns:20px minmax(0,1fr) 76px 26px!important}.jkp-trainer-role{grid-column:2/4!important}}
@media(max-width:520px){.jkp-plan-trainer{grid-template-columns:20px minmax(0,1fr) 72px 26px!important}.jkp-trainer-role{grid-column:2/4!important}}

/* 0.2.52 – kompakte Symbole für Mannschaftsteile */
.jkp-role-symbol{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border-radius:7px;margin-right:5px;font-size:13px;line-height:1;background:#eef2f6;border:1px solid #d8e0e9;vertical-align:middle}.jkp-role-symbol.is-goalkeeper{background:#eef5ff;border-color:#bfd3ee}.jkp-role-symbol.is-defense{background:#eef8f1;border-color:#bfdcc7}.jkp-role-symbol.is-midfield{background:#fff7dd;border-color:#ead48c;color:#765a00;font-weight:900}.jkp-role-symbol.is-attack{background:#fff0ed;border-color:#eac1b8}.jkp-role-symbol.is-open{color:#8993a0}.jkp-plan-member-main b,.jkp-pool-player b{display:flex!important;align-items:center;gap:2px}.jkp-plan-member-main b .jkp-role-symbol,.jkp-pool-player b .jkp-role-symbol{margin-right:3px}.jkp-overview-player-head>.jkp-role-symbol{width:20px;height:20px;flex-basis:20px;margin-right:1px;font-size:12px}.jkp-player-miniinfo .jkp-role-symbol{margin-right:0}


/* 0.2.53 – Positionssymbole größer + Planungspool sauber ausgerichtet */
.jkp-pool-player{justify-content:flex-start!important;align-items:center!important}
.jkp-pool-player>.jkp-person-drag-handle{flex:0 0 24px!important;margin-right:8px!important}
.jkp-pool-player-main{flex:1 1 auto;min-width:0;text-align:left!important}
.jkp-pool-player-main>b{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-height:30px;text-align:left!important}
.jkp-pool-player-main>span{display:block;text-align:left!important}
.jkp-pool-player-main .jkp-pool-rating{margin-top:5px}
.jkp-pool-player>.jkp-pool-badges{flex:0 0 auto;margin-left:8px;align-self:flex-start}
.jkp-role-symbol{width:31px!important;height:31px!important;flex:0 0 31px!important;border-radius:9px!important;margin-right:2px!important;font-size:19px!important;line-height:1!important}
.jkp-role-symbol.is-midfield{font-size:22px!important}
.jkp-plan-member-main b .jkp-role-symbol,.jkp-pool-player b .jkp-role-symbol{margin-right:2px!important}
.jkp-overview-player-head>.jkp-role-symbol{width:28px!important;height:28px!important;flex-basis:28px!important;font-size:17px!important}
.jkp-player-miniinfo .jkp-role-symbol{width:27px!important;height:27px!important;flex-basis:27px!important;font-size:16px!important}
@media(max-width:520px){
  .jkp-role-symbol{width:29px!important;height:29px!important;flex-basis:29px!important;font-size:18px!important}
  .jkp-pool-player>.jkp-person-drag-handle{margin-right:6px!important}
}

/* 0.2.54: stabiles Torwart-SVG statt Emoji/Font-Glyph */
.jkp-role-symbol .jkp-role-svg{display:block;width:21px;height:21px;flex:0 0 auto;pointer-events:none}
.jkp-role-symbol.is-goalkeeper .jkp-role-svg{width:22px;height:22px}
.jkp-player-miniinfo .jkp-role-symbol.is-goalkeeper .jkp-role-svg{width:19px;height:19px}
.jkp-overview-player-head>.jkp-role-symbol.is-goalkeeper .jkp-role-svg{width:18px;height:18px}


/* 0.2.55 – Doppeljahrgänge innerhalb einer Mannschaft sofort unterscheiden */
.jkp-birthyear-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-5px 0 12px;padding:0 2px;font-size:10px;color:#5b6878}
.jkp-birthyear-legend.is-compact{margin:0 0 8px}
.jkp-birthyear-legend>span{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid transparent;border-radius:999px;font-weight:650;background:rgba(255,255,255,.72)}
.jkp-birthyear-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;border:1px solid transparent;box-shadow:inset 3px 0 0 rgba(0,0,0,.15)}
.jkp-birthyear-legend .is-birthyear-older{border-color:#c8d8eb;background:#f1f6fc;color:#355b82}.jkp-birthyear-legend .is-birthyear-older i{background:#e8f1fb;border-color:#bfd1e6;box-shadow:inset 3px 0 0 #6d94bd}
.jkp-birthyear-legend .is-birthyear-younger{border-color:#c9dfcf;background:#f1f8f3;color:#3e6c4a}.jkp-birthyear-legend .is-birthyear-younger i{background:#e9f5ec;border-color:#c0dcc7;box-shadow:inset 3px 0 0 #6fa47b}

.jkp-rosterrow.is-birthyear-older,.jkp-overview-player.is-birthyear-older,.jkp-plan-member.is-birthyear-older{background:#f1f6fc!important;border-color:#c8d8eb!important;box-shadow:inset 4px 0 0 #6d94bd}
.jkp-rosterrow.is-birthyear-younger,.jkp-overview-player.is-birthyear-younger,.jkp-plan-member.is-birthyear-younger{background:#f1f8f3!important;border-color:#c9dfcf!important;box-shadow:inset 4px 0 0 #6fa47b}
.jkp-pool-player.is-birthyear-older:not(.is-younger):not(.is-older){background:#f1f6fc!important;border-color:#c8d8eb!important;box-shadow:inset 4px 0 0 #6d94bd}
.jkp-pool-player.is-birthyear-younger:not(.is-younger):not(.is-older){background:#f1f8f3!important;border-color:#c9dfcf!important;box-shadow:inset 4px 0 0 #6fa47b}
.jkp-yearcard.is-birthyear-older{border-color:#c8d8eb!important;box-shadow:inset 0 4px 0 #6d94bd}.jkp-yearcard.is-birthyear-older .jkp-year-title strong{color:#355b82}
.jkp-yearcard.is-birthyear-younger{border-color:#c9dfcf!important;box-shadow:inset 0 4px 0 #6fa47b}.jkp-yearcard.is-birthyear-younger .jkp-year-title strong{color:#3e6c4a}
/* Sonderzuordnungen bleiben visuell stärker als die reguläre Jahrgangsfarbe. */
.jkp-rosterrow.is-age-down,.jkp-plan-member.is-age-down{background:#fff8fc!important;border-color:#d9a9ca!important;box-shadow:inset 4px 0 0 #9b4f82!important}
.jkp-rosterrow.is-age-up,.jkp-plan-member.is-age-up{background:#fffaf0!important;border-color:#ead7a2!important;box-shadow:inset 4px 0 0 #e1b449!important}
@media(max-width:560px){.jkp-birthyear-legend{gap:5px}.jkp-birthyear-legend>span{font-size:9px;padding:3px 6px}}

/* 0.2.56 – Rollen-/Sichtsteuerung */
.jkp-access-settings{overflow:hidden}.jkp-access-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.jkp-access-settings-head h3{margin:0 0 5px}.jkp-access-settings-head p{max-width:980px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.jkp-access-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border:1px solid #bed3e8;border-radius:999px;background:#edf5fd;color:#235b8d;font-size:10px;font-weight:900;white-space:nowrap}.jkp-access-tablewrap{overflow:auto;border:1px solid #d9e3ed;border-radius:12px;background:#fff}.jkp-access-table{width:100%;min-width:720px;border-collapse:collapse}.jkp-access-table th,.jkp-access-table td{padding:8px 10px;border-bottom:1px solid #e3e9ef;text-align:center;vertical-align:middle}.jkp-access-table thead th{position:sticky;top:0;z-index:1;background:#f3f7fb;color:#173a60;font-size:10px;font-weight:900}.jkp-access-table tbody th{text-align:left;color:#18344f;font-size:11px}.jkp-access-table tbody th b{display:block}.jkp-access-table tbody th small{display:block;margin-top:1px;color:#718096;font-size:8px;font-weight:700}.jkp-access-table tr:last-child th,.jkp-access-table tr:last-child td{border-bottom:0}.jkp-access-table tr.is-fixed{background:#f2faf4}.jkp-access-check{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;cursor:pointer}.jkp-access-check input{position:absolute;opacity:0;pointer-events:none}.jkp-access-check span{display:block;width:24px;height:24px;border:1px solid #bdcbd9;border-radius:7px;background:#f8fafc;box-shadow:inset 0 0 0 2px #fff}.jkp-access-check input:checked+span{border-color:#3f7db6;background:#3f7db6;box-shadow:inset 0 0 0 5px #fff}.jkp-access-fixed{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:#dff3e6;color:#2f7148;font-weight:1000}.jkp-access-na{color:#9aa6b3;font-weight:900}.jkp-user-access{margin-top:18px;padding-top:15px;border-top:1px solid #dfe6ee}.jkp-user-access-head h4{margin:0 0 4px;color:#183a60}.jkp-user-access-head p{margin:0 0 12px;color:var(--muted);font-size:11px}.jkp-user-access-list{display:grid;gap:8px}.jkp-user-access-row{display:grid;grid-template-columns:minmax(180px,250px) 1fr;gap:14px;align-items:start;padding:10px;border:1px solid #dde5ed;border-radius:10px;background:rgba(255,255,255,.78)}.jkp-user-access-person b{display:block;color:#162d46;font-size:12px}.jkp-user-access-person span{display:block;margin-top:2px;color:#6a7888;font-size:9px}.jkp-user-access-sections{display:flex;flex-wrap:wrap;gap:5px}.jkp-user-access-sections label{display:inline-flex!important;align-items:center!important;gap:5px!important;margin:0!important;padding:5px 7px;border:1px solid #d7e0e9;border-radius:8px;background:#f8fafc;color:#33485e;font-size:9px;font-weight:800;cursor:pointer}.jkp-user-access-sections label:has(input:checked){border-color:#9fc1df;background:#edf6ff;color:#1f5c91}.jkp-user-access-sections input{margin:0!important}.jkp-access-save{margin:14px 0 0}.jkp-access-save .jkp-btn{min-width:170px}@media(max-width:760px){.jkp-access-settings-head{flex-direction:column}.jkp-user-access-row{grid-template-columns:1fr}.jkp-user-access-sections{gap:4px}.jkp-user-access-sections label{flex:1 1 calc(50% - 4px)}}

/* 0.2.58 – Kompaktansicht überall Standard: Symbole in einer Zeile, Details eingeklappt */
.jkp-mobile-card-summary,.jkp-mobile-table-icons,.jkp-mobile-collapse-toggle,.jkp-mobile-table-toggle,.jkp-mobile-strength-toggle{display:none}
/* Die Kompaktansicht ist bewusst viewport-unabhängig der Standard. */
  .jkp-mobile-card-summary{display:flex!important;align-items:center;gap:5px;min-width:0;width:100%;margin-top:4px}
  .jkp-mobile-card-summary-icons{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .jkp-mobile-card-summary-icons::-webkit-scrollbar{display:none}
  .jkp-mobile-card-summary .jkp-role-symbol{width:27px!important;height:27px!important;flex:0 0 27px!important;border-radius:8px!important;font-size:17px!important;margin:0!important}
  .jkp-mobile-card-summary .jkp-role-symbol.is-goalkeeper .jkp-role-svg{width:19px!important;height:19px!important}
  .jkp-mobile-card-summary .jkp-mini-position,.jkp-mobile-card-summary .jkp-mini-foot,.jkp-mobile-card-summary .jkp-mini-rating,.jkp-mobile-card-summary .jkp-team-badge,.jkp-mobile-card-summary .jkp-license-badge,.jkp-mobile-card-summary .jkp-staff-badge,.jkp-mobile-meta-chip{flex:0 0 auto;margin:0!important;min-height:23px;line-height:1;padding:3px 7px;font-size:9px!important}
  .jkp-mobile-meta-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5dee8;border-radius:999px;background:#f4f7fa;color:#516174;font-weight:850;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .jkp-mobile-collapse-toggle,.jkp-mobile-table-toggle,.jkp-mobile-strength-toggle{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 27px;width:27px;height:27px;min-width:27px;min-height:27px;padding:0!important;border:1px solid #cbd7e4!important;border-radius:8px!important;background:#f5f8fb!important;color:#234d78!important;font-size:14px!important;font-weight:900!important;line-height:1!important;cursor:pointer;box-shadow:none!important;transition:transform .14s ease,background .14s ease}
  .jkp-mobile-collapsible.is-mobile-expanded .jkp-mobile-collapse-toggle,.jkp-mobile-table-row.is-mobile-expanded .jkp-mobile-table-toggle,.jkp-strength-panel.is-mobile-expanded .jkp-mobile-strength-toggle{transform:rotate(180deg);background:#e9f1f9!important}
  .jkp-mobile-collapsible.is-mobile-collapsed .jkp-mobile-detail,.jkp-strength-panel.is-mobile-collapsed .jkp-mobile-strength-detail{display:none!important}
  [data-jkp-mobile-compact="1"] .jkp-mobile-symbol-source{display:none!important}

  /* Spieler in Kader/Jahrgang: Name oben, darunter exakt eine kompakte Symbolzeile. */
  .jkp-player-compact .jkp-playerline{flex-wrap:wrap!important;row-gap:3px!important}
  .jkp-player-compact .jkp-playerline>.jkp-mobile-card-summary{flex:1 0 100%;order:10;margin-top:1px;padding-right:26px}
  .jkp-player-compact .jkp-playerline>b{max-width:calc(100% - 95px)!important}
  .jkp-player-compact{padding-top:6px!important;padding-bottom:6px!important}

  /* Gesamtübersicht. */
  .jkp-overview-player{padding:7px 8px!important}
  .jkp-overview-player>.jkp-mobile-card-summary{margin-top:3px}
  .jkp-overview-player-head b{font-size:12px!important}

  /* Kaderplanung / Pools: Symbolzeile direkt unter dem Namen, Leiste erst nach Aufklappen. */
  .jkp-plan-member-main>.jkp-mobile-card-summary,.jkp-pool-player-main>.jkp-mobile-card-summary,.jkp-plan-trainer-main>.jkp-mobile-card-summary,.jkp-pool-trainer>div:first-of-type>.jkp-mobile-card-summary,.jkp-trainer-row-main>.jkp-mobile-card-summary{margin-top:2px}
  .jkp-plan-member,.jkp-plan-trainer{padding-top:5px!important;padding-bottom:5px!important}
  .jkp-pool-player,.jkp-pool-trainer{padding-top:6px!important;padding-bottom:6px!important}
  .jkp-plan-member-main,.jkp-plan-trainer-main{gap:2px!important}

  /* Trainerübersicht. */
  .jkp-trainer-overview-row>.jkp-mobile-card-summary{grid-column:1/-1;margin-top:0;padding-left:31px}
  .jkp-trainer-overview-row{gap:3px!important;padding-top:7px!important;padding-bottom:7px!important}
  .jkp-trainer-overview-name{min-width:0}

  /* Kader-/Jahrgangsstärke: Kopf mit Gesamtwert bleibt sichtbar. */
  .jkp-strength-head{margin-bottom:0!important}
  .jkp-strength-head .jkp-mobile-strength-toggle{margin-left:4px}
  .jkp-strength-panel.is-mobile-expanded .jkp-strength-head{margin-bottom:8px!important}

  /* Personen-Tabellen (Spieler/Trainer/Scouting) werden mobil zu kompakten Karten. */
  .jkp-mobile-person-tablewrap{overflow:visible!important;background:transparent!important;border:0!important}
  .jkp-mobile-person-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  .jkp-mobile-person-table thead{display:none!important}
  .jkp-mobile-person-table tbody{display:grid!important;gap:7px!important;width:100%!important}
  .jkp-mobile-person-table .jkp-mobile-table-row{display:grid!important;grid-template-columns:minmax(0,1fr);position:relative;width:100%!important;padding:0;border:1px solid #dce5ee;border-radius:10px;background:rgba(255,255,255,.93);overflow:hidden}
  .jkp-mobile-person-table .jkp-mobile-table-row>td{display:none!important;width:auto!important;padding:7px 10px!important;border:0!important;border-top:1px solid #edf1f5!important;font-size:11px!important;min-width:0}
  .jkp-mobile-person-table .jkp-mobile-table-row>td:first-child{display:block!important;position:relative;padding:8px 42px 8px 10px!important;border-top:0!important}
  .jkp-mobile-person-table .jkp-mobile-table-row.is-mobile-expanded>td{display:grid!important;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:start}
  .jkp-mobile-person-table .jkp-mobile-table-row.is-mobile-expanded>td:first-child{display:block!important}
  .jkp-mobile-person-table .jkp-mobile-table-row>td:not(:first-child):before{content:attr(data-jkp-label);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#718096}
  .jkp-mobile-person-table .jkp-mobile-table-toggle{position:absolute;right:8px;top:8px}
  .jkp-mobile-table-icons{display:flex!important;align-items:center;gap:4px;min-width:0;margin-top:4px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .jkp-mobile-table-icons::-webkit-scrollbar{display:none}
  .jkp-mobile-table-icons .jkp-player-miniinfo{display:flex!important;width:auto!important;margin:0!important;gap:4px!important;justify-content:flex-start!important}
  .jkp-mobile-table-icons .jkp-role-symbol{width:26px!important;height:26px!important;flex:0 0 26px!important;font-size:16px!important;margin:0!important}
  .jkp-mobile-table-icons .jkp-role-symbol.is-goalkeeper .jkp-role-svg{width:18px!important;height:18px!important}
  .jkp-mobile-table-icons .jkp-mini-position,.jkp-mobile-table-icons .jkp-mini-foot,.jkp-mobile-table-icons .jkp-mini-rating,.jkp-mobile-table-icons .jkp-team-badge,.jkp-mobile-table-icons .jkp-license-badge,.jkp-mobile-table-icons .jkp-staff-badge{flex:0 0 auto;margin:0!important;min-height:22px;font-size:9px!important}
@media(max-width:520px){
  .jkp-mobile-card-summary .jkp-role-symbol{width:25px!important;height:25px!important;flex-basis:25px!important}
  .jkp-mobile-card-summary .jkp-mini-position,.jkp-mobile-card-summary .jkp-mini-foot,.jkp-mobile-card-summary .jkp-mini-rating,.jkp-mobile-card-summary .jkp-team-badge,.jkp-mobile-card-summary .jkp-license-badge,.jkp-mobile-card-summary .jkp-staff-badge,.jkp-mobile-meta-chip{min-height:21px;padding:2px 6px;font-size:8px!important}
  .jkp-mobile-collapse-toggle,.jkp-mobile-table-toggle,.jkp-mobile-strength-toggle{width:25px;height:25px;min-width:25px;min-height:25px}
  .jkp-mobile-person-table .jkp-mobile-table-row.is-mobile-expanded>td{grid-template-columns:78px minmax(0,1fr);gap:6px}
}

.jkp-scout-mobile-icons{display:none!important}.jkp-scout-row>.jkp-scout-person>.jkp-mobile-card-summary{margin-top:2px}.jkp-scout-row.is-mobile-collapsed{padding-top:7px!important;padding-bottom:7px!important}
.jkp-scout-mobile-icons{display:none!important}

/* 0.2.59 – Scouting: Spielererfassung zuerst + klare Nur-Lesen-Kennzeichnung */
.jkp-scout-primary-entry{margin:0 0 10px}
.jkp-scout-primary-entry .jkp-scout-quick{border:1px solid rgba(46,111,176,.28)!important;box-shadow:0 8px 24px rgba(26,58,94,.08)}
.jkp-scout-primary-entry .jkp-scout-quickhead span{color:#245e9a}
.jkp-scout-primary-entry .jkp-scout-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.jkp-scout-primary-entry .jkp-scout-fields .jkp-wide{grid-column:1/-1}
.jkp-scout-primary-entry .jkp-scout-save{min-width:180px}
.jkp-scout-secondary-entry{margin:0 0 14px;border:1px solid rgba(120,137,155,.24);border-radius:12px;background:rgba(255,255,255,.72);overflow:hidden}
.jkp-scout-secondary-entry>summary{cursor:pointer;list-style:none;padding:11px 14px;font-weight:800;color:#35516f;user-select:none}
.jkp-scout-secondary-entry>summary::-webkit-details-marker{display:none}
.jkp-scout-secondary-entry>summary:after{content:'›';float:right;font-size:20px;line-height:16px;transition:transform .15s ease}
.jkp-scout-secondary-entry[open]>summary:after{transform:rotate(90deg)}
.jkp-scout-secondary-body{padding:0 10px 10px}
.jkp-scout-secondary-body .jkp-scout-quick{box-shadow:none!important}
.jkp-readonly-badge{align-self:center;display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border-radius:999px;background:rgba(237,242,247,.96);border:1px solid rgba(87,109,132,.22);font-size:11px;font-weight:850;color:#52677f}
@media (max-width:1100px){
  .jkp-scout-primary-entry .jkp-scout-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .jkp-scout-primary-entry .jkp-scout-fields{grid-template-columns:1fr}
  .jkp-scout-primary-entry .jkp-scout-fields .jkp-wide{grid-column:auto}
  .jkp-scout-primary-entry .jkp-scout-save{width:100%;min-width:0}
  .jkp-readonly-badge{font-size:10px;padding:5px 8px}
}

/* =========================================================
   0.2.60 – aufgeräumte Kompaktansicht + Scouting-Schnellerfassung
   ========================================================= */

/* Alte 0.2.58-Zusammenfassungen werden nicht mehr verwendet. */
.jkp-mobile-card-summary,.jkp-mobile-collapse-toggle,.jkp-mobile-strength-toggle{display:none!important}
.jkp-table .jkp-mobile-table-icons{display:none!important}

/* Einheitlicher Spieler-Kopf: Name oben, darunter genau EINE Symbolzeile. */
.jkp-compact-player-head{display:flex;align-items:center;gap:6px;min-width:0;width:100%}
.jkp-compact-player-head>b{display:block!important;min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px!important;font-weight:800!important}
.jkp-card-toggle,.jkp-strength-toggle{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;width:23px;height:23px;min-width:23px;min-height:23px;padding:0!important;margin:0!important;border:1px solid #cbd7e4!important;border-radius:7px!important;background:#f5f8fb!important;color:#234d78!important;font-size:13px!important;font-weight:900!important;line-height:1!important;cursor:pointer;box-shadow:none!important;transition:transform .14s ease,background .14s ease}
.jkp-compact-card.is-compact-expanded .jkp-card-toggle,.jkp-strength-panel.is-strength-expanded .jkp-strength-toggle{transform:rotate(180deg);background:#e9f1f9!important}
.jkp-compact-icon-row{display:flex!important;align-items:center!important;gap:4px!important;min-width:0;width:100%;margin-top:3px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.jkp-compact-icon-row::-webkit-scrollbar{display:none}
.jkp-compact-icon-row .jkp-player-miniinfo{display:inline-flex!important;align-items:center!important;gap:3px!important;flex:0 0 auto!important;width:auto!important;margin:0!important;justify-content:flex-start!important}
.jkp-compact-icon-row .jkp-playerteams,.jkp-compact-icon-row .jkp-pool-badges{display:inline-flex!important;align-items:center!important;gap:3px!important;flex:0 0 auto!important;width:auto!important;max-width:none!important;margin:0!important;flex-wrap:nowrap!important;justify-content:flex-start!important}
.jkp-compact-icon-row .jkp-role-symbol{width:25px!important;height:25px!important;flex:0 0 25px!important;border-radius:8px!important;margin:0!important;font-size:16px!important}
.jkp-compact-icon-row .jkp-role-symbol.is-goalkeeper .jkp-role-svg{width:18px!important;height:18px!important}
.jkp-compact-icon-row .jkp-mini-position,.jkp-compact-icon-row .jkp-mini-foot,.jkp-compact-icon-row .jkp-mini-rating,.jkp-compact-icon-row .jkp-team-badge{flex:0 0 auto!important;margin:0!important;min-height:21px!important;padding:2px 6px!important;font-size:8px!important;line-height:1!important}
.jkp-card-details{margin-top:5px;padding-top:5px;border-top:1px dashed #dce4ed;min-width:0}
.jkp-card-details[hidden]{display:none!important}
.jkp-card-details>span{display:block!important;font-size:9px!important;color:var(--muted)!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.jkp-card-details .jkp-ratingbar{margin-top:5px}

/* Kader/Jahrgangskader: bestehende Inhalte sauber in zwei feste Zeilen bringen. */
.jkp-player-compact .jkp-playerline{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"name meta" "icons icons"!important;column-gap:8px!important;row-gap:3px!important;align-items:center!important;width:100%!important;padding-right:28px!important;position:relative!important}
.jkp-player-compact .jkp-playerline>b{grid-area:name!important;max-width:none!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.jkp-player-compact .jkp-playerline>.jkp-compact-meta{grid-area:meta!important;justify-self:end!important;margin:0!important;order:initial!important}
.jkp-player-compact .jkp-playerline>.jkp-roster-icon-row{grid-area:icons!important;margin:0!important}
.jkp-player-compact .jkp-playerdetails-toggle{top:1px!important;right:0!important;border-radius:7px!important;width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;font-size:13px!important;transition:transform .14s ease,background .14s ease!important}
.jkp-player-compact .jkp-playerdetails.is-open .jkp-playerdetails-toggle{font-size:13px!important;background:#e9f1f9!important;border-color:#b9cbe0!important;color:#234d78!important;transform:rotate(180deg)!important}
.jkp-player-compact .jkp-playerdetails.is-open .jkp-playerdetails-toggle:before{content:none!important}
.jkp-player-compact .jkp-playerdetails-body{margin-top:6px!important}

/* Kaderplanung: kompakt, aber Controls bleiben in stabilen Spalten und überlagern nichts. */
.jkp-pool-player{align-items:center!important;gap:6px!important;padding:6px 7px!important}
.jkp-pool-player>.jkp-person-drag-handle{align-self:center!important;margin-right:3px!important}
.jkp-pool-player-main{min-width:0!important;flex:1 1 auto!important}
.jkp-plan-member{align-items:center!important;padding-top:6px!important;padding-bottom:6px!important;min-width:0}
.jkp-plan-member-main{min-width:0!important;gap:0!important}
.jkp-plan-member-main .jkp-compact-player-head,.jkp-pool-player-main .jkp-compact-player-head{min-height:24px}
.jkp-plan-member .jkp-plan-status{align-self:center}
.jkp-plan-member .jkp-plan-remove{align-self:center}

/* Gesamtübersicht: ebenfalls Spieler-zentriert und aufklappbar. */
.jkp-overview-player{padding:7px 8px!important}
.jkp-overview-player-head{min-height:23px}
.jkp-overview-player-head .jkp-card-toggle{margin-left:2px}
.jkp-overview-player>.jkp-compact-icon-row{margin-top:4px}
.jkp-overview-player .jkp-card-details .jkp-overview-player-bottom{margin-top:4px}

/* Kaderstärke standardmäßig kompakt, Pfeil funktioniert auf allen Geräten. */
.jkp-strength-panel{position:relative}
.jkp-strength-head{margin-bottom:0!important;padding-right:30px;position:relative}
.jkp-strength-toggle{position:absolute;right:0;top:0}
.jkp-strength-panel.is-strength-collapsed .jkp-strength-detail{display:none!important}
.jkp-strength-panel.is-strength-expanded .jkp-strength-head{margin-bottom:8px!important}

/* Desktop-Tabellen bleiben Tabellen. Erst mobil werden sie zu aufklappbaren Spielerkarten. */
@media(max-width:760px){
  .jkp-mobile-person-tablewrap{overflow:visible!important;background:transparent!important;border:0!important}
  .jkp-mobile-person-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  .jkp-mobile-person-table thead{display:none!important}
  .jkp-mobile-person-table tbody{display:grid!important;gap:7px!important;width:100%!important}
  .jkp-mobile-person-table .jkp-mobile-table-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;position:relative;width:100%!important;padding:0!important;border:1px solid #dce5ee!important;border-radius:10px!important;background:rgba(255,255,255,.93)!important;overflow:hidden!important}
  .jkp-mobile-person-table .jkp-mobile-table-row>td{display:none!important;width:auto!important;padding:7px 10px!important;border:0!important;border-top:1px solid #edf1f5!important;font-size:11px!important;min-width:0!important}
  .jkp-mobile-person-table .jkp-mobile-table-row>td:first-child{display:block!important;position:relative;padding:8px 42px 8px 10px!important;border-top:0!important}
  .jkp-mobile-person-table .jkp-mobile-table-row.is-mobile-expanded>td{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:7px!important;align-items:start!important}
  .jkp-mobile-person-table .jkp-mobile-table-row.is-mobile-expanded>td:first-child{display:block!important}
  .jkp-mobile-person-table .jkp-mobile-table-row>td:not(:first-child):before{content:attr(data-jkp-label);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#718096}
  .jkp-mobile-person-table .jkp-mobile-table-toggle{display:inline-flex!important;position:absolute!important;right:8px!important;top:8px!important;align-items:center!important;justify-content:center!important;width:25px!important;height:25px!important;min-width:25px!important;padding:0!important;border:1px solid #cbd7e4!important;border-radius:7px!important;background:#f5f8fb!important;color:#234d78!important;font-weight:900!important;line-height:1!important}
  .jkp-mobile-person-table .jkp-mobile-table-row.is-mobile-expanded .jkp-mobile-table-toggle{transform:rotate(180deg);background:#e9f1f9!important}
  .jkp-mobile-person-table .jkp-mobile-table-icons{display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;margin-top:5px!important;overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important}
  .jkp-mobile-person-table .jkp-mobile-table-icons::-webkit-scrollbar{display:none}
  .jkp-mobile-person-table .jkp-mobile-table-icons .jkp-player-miniinfo{display:flex!important;width:auto!important;margin:0!important;gap:4px!important;justify-content:flex-start!important}
}

/* Scouting: Neueintrag ist die Hauptaufgabe, vorhandene Kandidaten sind nachrangig. */
.jkp-scout-heading{margin-bottom:10px}
.jkp-scout-primary-entry{margin:0 0 10px}
.jkp-scout-primary-entry .jkp-scout-quick{padding:14px!important;border:1px solid rgba(46,111,176,.32)!important;box-shadow:0 8px 24px rgba(26,58,94,.08)!important}
.jkp-scout-quickhead{margin-bottom:10px!important}
.jkp-scout-quickhead h3{font-size:19px!important}
.jkp-scout-fast-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}
.jkp-scout-fast-fields label{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;margin:0!important}
.jkp-scout-fast-fields label>span,.jkp-scout-more-fields label>span{font-size:10px!important;font-weight:850!important;color:#52677f!important}
.jkp-scout-fast-fields input,.jkp-scout-fast-fields select,.jkp-scout-fast-fields textarea,.jkp-scout-more-fields input,.jkp-scout-more-fields select{width:100%!important;min-width:0!important;min-height:42px!important;border:1px solid #cbd7e4!important;border-radius:9px!important;padding:8px 10px!important;background:#fff!important}
.jkp-scout-fast-fields .jkp-scout-note{grid-column:1/-1}
.jkp-scout-fast-fields .jkp-scout-note textarea{min-height:82px!important;resize:vertical}
.jkp-scout-more{margin:9px 0 0;border:1px dashed #d5dee8;border-radius:9px;background:#f8fafc}
.jkp-scout-more>summary{cursor:pointer;list-style:none;padding:8px 10px;font-size:10px;font-weight:850;color:#52677f}
.jkp-scout-more>summary::-webkit-details-marker{display:none}
.jkp-scout-more>summary:before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-right:6px;border-radius:5px;background:#e9f1f9;color:#234d78;font-weight:900}
.jkp-scout-more[open]>summary:before{content:'−'}
.jkp-scout-more-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 9px 9px}
.jkp-scout-save{margin-top:10px!important;min-height:44px!important;padding:10px 18px!important;font-size:13px!important}
.jkp-scout-existing{margin-top:12px;border:1px solid #d9e3ed;border-radius:12px;background:rgba(255,255,255,.82);overflow:hidden}
.jkp-scout-existing>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:11px 13px;user-select:none}
.jkp-scout-existing>summary::-webkit-details-marker{display:none}
.jkp-scout-existing>summary span{display:flex;flex-direction:column;gap:1px}
.jkp-scout-existing>summary b{font-size:12px;color:#183a63}
.jkp-scout-existing>summary small{font-size:9px;color:var(--muted)}
.jkp-scout-existing>summary em{font-size:9px;font-style:normal;font-weight:850;color:#42698f}
.jkp-scout-existing-body{padding:0 10px 10px;border-top:1px solid #e5ebf2}
.jkp-scout-existing-body .jkp-scout-search{max-width:none;margin-top:10px}

@media(max-width:900px){
  .jkp-scout-fast-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jkp-scout-more-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .jkp-compact-icon-row{gap:3px!important}
  .jkp-compact-icon-row .jkp-role-symbol{width:24px!important;height:24px!important;flex-basis:24px!important}
  .jkp-compact-icon-row .jkp-mini-position,.jkp-compact-icon-row .jkp-mini-foot,.jkp-compact-icon-row .jkp-mini-rating,.jkp-compact-icon-row .jkp-team-badge{min-height:21px!important;padding:2px 5px!important;font-size:8px!important}
  .jkp-player-compact .jkp-playerline{column-gap:5px!important}
  .jkp-scout-primary-entry .jkp-scout-quick{padding:11px!important}
  .jkp-scout-fast-fields{grid-template-columns:1fr 1fr;gap:7px}
  .jkp-scout-fast-fields label:nth-child(n+3),.jkp-scout-fast-fields .jkp-scout-note{grid-column:1/-1}
  .jkp-scout-fast-fields input,.jkp-scout-fast-fields select,.jkp-scout-fast-fields textarea,.jkp-scout-more-fields input,.jkp-scout-more-fields select{min-height:46px!important;font-size:16px!important}
  .jkp-scout-more-fields{grid-template-columns:1fr}
  .jkp-scout-save{position:sticky;bottom:8px;z-index:4;width:100%!important;min-height:48px!important;box-shadow:0 8px 24px rgba(20,50,90,.18)}
  .jkp-scout-existing>summary{padding:10px}
}
@media(max-width:420px){
  .jkp-scout-fast-fields{grid-template-columns:1fr}
  .jkp-scout-fast-fields label:nth-child(n+1){grid-column:auto}
  .jkp-mobile-person-table .jkp-mobile-table-row.is-mobile-expanded>td{grid-template-columns:72px minmax(0,1fr)!important}
}

/* =========================================================
   0.2.61 – ausgewogene Kompaktansicht (lesbar statt ultradicht)
   ========================================================= */

/* Kader/Jahrgangskader: auf Desktop EINE saubere Zeile je Spieler.
   Name, Jahrgang/Status und alle Symbole bleiben horizontal ausgerichtet. */
.jkp-squadroster,.jkp-yearcard .jkp-roster{gap:6px!important}
.jkp-squadroster .jkp-rosterrow.jkp-player-compact,
.jkp-yearcard .jkp-rosterrow.jkp-player-compact{
  min-height:48px!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  align-items:center!important;
  overflow:visible!important;
}
.jkp-player-compact .jkp-roster-main{position:relative!important;width:100%!important;min-width:0!important}
.jkp-player-compact .jkp-playerline{
  display:grid!important;
  grid-template-columns:minmax(150px,220px) auto minmax(0,1fr)!important;
  grid-template-areas:"name meta icons"!important;
  align-items:center!important;
  column-gap:9px!important;
  row-gap:0!important;
  min-height:32px!important;
  padding:0 38px 0 0!important;
  line-height:1.2!important;
}
.jkp-player-compact .jkp-playerline>b{
  grid-area:name!important;
  max-width:none!important;
  font-size:13px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.jkp-player-compact .jkp-playerline>.jkp-compact-meta{
  grid-area:meta!important;
  justify-self:start!important;
  gap:4px!important;
}
.jkp-player-compact .jkp-playerline>.jkp-roster-icon-row{
  grid-area:icons!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  overflow-x:auto!important;
}
.jkp-player-compact .jkp-compact-meta>span{
  min-height:22px!important;
  padding:3px 7px!important;
  font-size:9px!important;
}
.jkp-player-compact .jkp-compact-icon-row{gap:5px!important;margin:0!important}
.jkp-player-compact .jkp-compact-icon-row .jkp-role-symbol{
  width:28px!important;height:28px!important;flex-basis:28px!important;border-radius:8px!important
}
.jkp-player-compact .jkp-compact-icon-row .jkp-role-symbol.is-goalkeeper .jkp-role-svg{width:20px!important;height:20px!important}
.jkp-player-compact .jkp-compact-icon-row .jkp-mini-position,
.jkp-player-compact .jkp-compact-icon-row .jkp-mini-foot,
.jkp-player-compact .jkp-compact-icon-row .jkp-mini-rating,
.jkp-player-compact .jkp-compact-icon-row .jkp-team-badge{
  min-height:24px!important;
  padding:3px 7px!important;
  font-size:9px!important;
}

/* Der Aufklapp-Pfeil gehört sichtbar zum Spieler und sitzt immer rechts in der Karte. */
.jkp-player-compact .jkp-playerdetails-toggle{
  display:flex!important;
  position:absolute!important;
  right:2px!important;
  top:3px!important;
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
  min-height:27px!important;
  border-radius:8px!important;
  z-index:8!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.jkp-player-compact .jkp-playerdetails.is-open .jkp-playerdetails-toggle{
  transform:rotate(180deg)!important;
}
.jkp-player-compact .jkp-playerdetails-body{
  margin-top:8px!important;
  padding-top:8px!important;
}

/* Kaderplanung: kompakt, aber mit genügend Höhe/Abstand zum sicheren Lesen und Bedienen. */
.jkp-plan-member,.jkp-pool-player{
  min-height:54px!important;
  padding:8px 9px!important;
  border-radius:10px!important;
  gap:7px!important;
}
.jkp-plan-member-main,.jkp-pool-player-main{gap:3px!important}
.jkp-plan-member-main .jkp-compact-player-head,
.jkp-pool-player-main .jkp-compact-player-head{min-height:27px!important;gap:7px!important}
.jkp-plan-member-main .jkp-compact-player-head>b,
.jkp-pool-player-main .jkp-compact-player-head>b{font-size:12px!important}
.jkp-plan-member .jkp-card-toggle,.jkp-pool-player .jkp-card-toggle{
  width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important
}
.jkp-plan-member .jkp-compact-icon-row,.jkp-pool-player .jkp-compact-icon-row{margin-top:1px!important;gap:4px!important}

/* Die eingeklappte Kaderstärke soll wirklich nur eine schmale Kopfkarte sein. */
.jkp-strength-panel.is-strength-collapsed{padding:10px 12px!important;margin-bottom:10px!important;min-height:0!important}
.jkp-strength-panel.is-strength-collapsed .jkp-strength-head{min-height:32px!important;align-items:center!important}
.jkp-strength-panel.is-strength-collapsed .jkp-strength-detail{display:none!important}
.jkp-strength-panel.is-strength-collapsed + .jkp-roster-sortbar{margin-top:4px!important}

/* Tablet/Handy: zwei klare Zeilen statt alles in eine zu kleine Zeile zu pressen. */
@media(max-width:900px){
  .jkp-squadroster .jkp-rosterrow.jkp-player-compact,
  .jkp-yearcard .jkp-rosterrow.jkp-player-compact{min-height:60px!important;padding:8px 9px!important}
  .jkp-player-compact .jkp-playerline{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"name meta" "icons icons"!important;
    column-gap:7px!important;
    row-gap:5px!important;
    min-height:43px!important;
    padding-right:38px!important;
  }
  .jkp-player-compact .jkp-playerline>.jkp-roster-icon-row{width:100%!important}
  .jkp-player-compact .jkp-playerdetails-toggle{top:5px!important;right:1px!important}
}

@media(max-width:520px){
  .jkp-squadroster .jkp-rosterrow.jkp-player-compact,
  .jkp-yearcard .jkp-rosterrow.jkp-player-compact{min-height:58px!important;padding:7px 8px!important}
  .jkp-player-compact .jkp-playerline>b{font-size:12px!important}
  .jkp-player-compact .jkp-compact-meta>span{min-height:21px!important;padding:2px 6px!important;font-size:8px!important}
  .jkp-player-compact .jkp-compact-icon-row .jkp-role-symbol{width:26px!important;height:26px!important;flex-basis:26px!important}
  .jkp-player-compact .jkp-compact-icon-row .jkp-mini-position,
  .jkp-player-compact .jkp-compact-icon-row .jkp-mini-foot,
  .jkp-player-compact .jkp-compact-icon-row .jkp-mini-rating,
  .jkp-player-compact .jkp-compact-icon-row .jkp-team-badge{min-height:22px!important;padding:2px 6px!important;font-size:8px!important}
}

/* =========================================================
   0.2.62 – Scouting für jeden sichtberechtigten Benutzer
   Fokus: in wenigen Sekunden mobil erfassen
   ========================================================= */
.jkp-scout-primary-entry .jkp-scout-quick{max-width:1100px;margin:0!important}
.jkp-scout-primary-entry .jkp-scout-quickhead span{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:900;letter-spacing:.02em;color:#1e5b8f;background:#eaf4fd;border-radius:999px;padding:4px 8px;margin-bottom:4px}
.jkp-scout-primary-entry .jkp-scout-quickhead span:before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#1f6fae;color:#fff;font-size:12px;line-height:1}
.jkp-scout-primary-entry .jkp-scout-quickhead p{margin-top:2px!important}
.jkp-scout-save{font-weight:900!important}

@media (max-width:680px){
  .jkp-scout-heading{margin-bottom:7px!important}
  .jkp-scout-heading h2{font-size:21px!important}
  .jkp-scout-heading p{font-size:11px!important;margin-top:2px!important}
  .jkp-scout-primary-entry{margin-bottom:8px!important}
  .jkp-scout-primary-entry .jkp-scout-quick{padding:10px!important;border-radius:12px!important}
  .jkp-scout-quickhead{margin-bottom:8px!important}
  .jkp-scout-quickhead h3{font-size:17px!important;margin:1px 0!important}
  .jkp-scout-quickhead p{font-size:10px!important;line-height:1.3!important}
  .jkp-scout-fast-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important}
  /* Vor-/Nachname nebeneinander, Jahrgang/Position nebeneinander. */
  .jkp-scout-fast-fields>label:nth-child(1),
  .jkp-scout-fast-fields>label:nth-child(2),
  .jkp-scout-fast-fields>label:nth-child(3),
  .jkp-scout-fast-fields>label:nth-child(4){grid-column:auto!important}
  /* Verein und Beobachtung bekommen die volle Breite. */
  .jkp-scout-fast-fields>label:nth-child(5),
  .jkp-scout-fast-fields>.jkp-scout-note{grid-column:1/-1!important}
  .jkp-scout-fast-fields input,.jkp-scout-fast-fields select{min-height:44px!important;padding:7px 9px!important}
  .jkp-scout-fast-fields .jkp-scout-note textarea{min-height:94px!important;font-size:16px!important;padding:9px 10px!important}
  .jkp-scout-more{margin-top:7px!important}
  .jkp-scout-more>summary{min-height:38px;display:flex;align-items:center}
  .jkp-scout-save{position:sticky!important;bottom:max(8px,env(safe-area-inset-bottom))!important;min-height:52px!important;margin-top:8px!important;border-radius:11px!important;font-size:15px!important}
  .jkp-scout-secondary-entry{margin-top:7px!important}
  .jkp-scout-secondary-entry>summary{min-height:42px;display:flex;align-items:center}
}
@media (max-width:350px){
  .jkp-scout-fast-fields{grid-template-columns:1fr!important}
  .jkp-scout-fast-fields>label{grid-column:auto!important}
}

/* 0.2.63 – Abmelden direkt im Portal-Kopf */
.jkp-brand-logout{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:26px;padding:4px 8px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.10);color:#fff!important;text-decoration:none!important;font-size:9px;font-weight:850;line-height:1;transition:.15s ease}
.jkp-brand-logout:hover,.jkp-brand-logout:focus{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.42);outline:none}
.jkp-brand-logout svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.jkp-brand-logout em{font-style:normal}
@media(max-width:650px){.jkp-brand-logout{width:29px;height:29px;min-height:29px;padding:0;border-radius:9px}.jkp-brand-logout em{display:none}.jkp-brand-logout svg{width:15px;height:15px}}

/* =========================================================
   0.2.64 – Mannschaftskalender / Trainingsplan
   ========================================================= */
.jkp-calendar-heading{align-items:center!important}
.jkp-calendar-heading .jkp-calendar-add{white-space:nowrap}
.jkp-calendar-card{padding:12px!important;overflow:hidden}
.jkp-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;position:sticky;top:var(--jkp-filter-top,0);z-index:19;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);padding:7px 0}
.jkp-calendar-nav,.jkp-calendar-views{display:flex;align-items:center;gap:6px;min-width:0}
.jkp-calendar-nav strong{font-size:14px;min-width:150px;margin-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-calendar-views{padding:3px;background:#edf2f7;border:1px solid #d9e1e8;border-radius:10px}
.jkp-calendar-views button{border:0;background:transparent;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:850;color:#52606d;cursor:pointer;white-space:nowrap}
.jkp-calendar-views button.is-active{background:#fff;color:#174f79;box-shadow:0 1px 4px rgba(25,48,70,.13)}
.jkp-calendar-filters{display:flex;align-items:center;gap:8px;margin:0 0 9px;padding:6px 8px;border:1px solid #e0e6eb;border-radius:10px;background:#f9fbfc;min-width:0}
.jkp-calendar-filters>span{font-size:10px;font-weight:900;color:#53616d;white-space:nowrap}
.jkp-calendar-teamfilters{display:flex;align-items:center;gap:5px;overflow-x:auto;min-width:0;padding:1px 0;scrollbar-width:thin}
.jkp-calendar-teamchip{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:4px 7px 4px 5px;border:1px solid #d9e1e8;border-radius:999px;background:#fff;white-space:nowrap;cursor:pointer}
.jkp-calendar-teamchip input{position:absolute;opacity:0;pointer-events:none}
.jkp-calendar-teamchip>span{width:9px;height:9px;border-radius:50%;background:var(--jkp-team-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--jkp-team-color) 18%,white)}
.jkp-calendar-teamchip b{font-size:9px;color:#1f3447}
.jkp-calendar-teamchip em{font-style:normal;font-size:8px;color:#6b7884;max-width:92px;overflow:hidden;text-overflow:ellipsis}
.jkp-calendar-teamchip:has(input:not(:checked)){opacity:.42;filter:grayscale(.5)}
.jkp-calendar-filter-all{border:0;background:transparent;color:#1f6fae;font-size:9px;font-weight:900;cursor:pointer;padding:5px}
.jkp-calendar-legends{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:8px;font-size:8px;color:#63717d}
.jkp-calendar-legends>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.jkp-calendar-legends b{font-size:8px;color:#374b5d;text-transform:uppercase;letter-spacing:.04em}
.jkp-calendar-legends span{display:inline-flex;align-items:center;gap:4px}
.jkp-calendar-legends i{width:9px;height:9px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.jkp-calendar-host{min-height:440px;transition:opacity .15s ease}
.jkp-calendar-card.is-saving .jkp-calendar-host{opacity:.55;pointer-events:none}
.jkp-cal-multimonth{display:grid;grid-template-columns:1fr;gap:12px}
.jkp-cal-multimonth.jkp-cal-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.jkp-cal-multimonth.jkp-cal-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.jkp-cal-month{min-width:0;border:1px solid #dfe6eb;border-radius:12px;overflow:hidden;background:#fff}
.jkp-cal-month>h3{margin:0!important;padding:9px 10px;border-bottom:1px solid #e4e9ed;background:#f5f8fa;font-size:12px!important;text-transform:capitalize;color:#253b4d}
.jkp-cal-weekdays,.jkp-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.jkp-cal-weekdays{background:#fafcfd;border-bottom:1px solid #e4e9ed}
.jkp-cal-weekdays span{text-align:center;padding:5px 2px;font-size:8px;font-weight:900;color:#75828d;border-right:1px solid #edf1f4}
.jkp-cal-weekdays span:last-child{border-right:0}
.jkp-cal-day{position:relative;min-height:104px;padding:5px;border-right:1px solid #edf1f4;border-bottom:1px solid #edf1f4;background:#fff;cursor:default;transition:background .12s ease,box-shadow .12s ease;overflow:hidden}
.jkp-cal-grid>.jkp-cal-day:nth-child(7n){border-right:0}
.jkp-cal-grid>.jkp-cal-day:nth-last-child(-n+7){border-bottom:0}
.jkp-cal-day.is-outside{background:#f8fafb;color:#a6b0b8}
.jkp-cal-day.is-today{background:#f2f8fc;box-shadow:inset 0 0 0 1px #acd1ea}
.jkp-cal-day.is-cal-dragover,.jkp-cal-weekday.is-cal-dragover{background:#e8f6ff!important;box-shadow:inset 0 0 0 2px #2b83c3!important}
.jkp-cal-dayhead{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:4px;min-height:17px}
.jkp-cal-dayhead b{font-size:9px;color:#415668}
.jkp-cal-dayhead span{font-size:7px;color:#9aa5ae;display:none}
.jkp-cal-events,.jkp-cal-weekevents{display:flex;flex-direction:column;gap:3px;min-width:0}
.jkp-cal-event{--jkp-team-color:#246a9a;--jkp-venue-color:#7c8797;position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:3px;width:100%;min-width:0;min-height:28px;padding:4px 5px 7px 8px;border:1px solid #dfe5e9;border-left:5px solid var(--jkp-team-color);border-radius:7px;background:color-mix(in srgb,var(--jkp-team-color) 9%,#fff);box-shadow:inset 0 -3px 0 var(--jkp-venue-color);color:#203547;text-align:left;cursor:pointer;overflow:hidden;font-family:inherit}
.jkp-cal-event:hover{box-shadow:0 2px 7px rgba(33,54,73,.12),inset 0 -3px 0 var(--jkp-venue-color);transform:translateY(-1px)}
.jkp-cal-event[draggable="true"]{cursor:grab}.jkp-cal-event.is-dragging{opacity:.45;cursor:grabbing}
.jkp-cal-time{font-size:7px;font-weight:900;color:#596b78;white-space:nowrap}
.jkp-cal-team{font-size:7px;font-weight:950;color:var(--jkp-team-color);white-space:nowrap}
.jkp-cal-event strong{font-size:8px!important;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-cal-event small{grid-column:1/-1;font-size:7px;line-height:1.15;color:#6d7a85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-cal-more{font-size:7px;font-weight:800;color:#60717e;padding-left:4px}
.jkp-cal-month.is-compact .jkp-cal-day{min-height:82px;padding:3px}
.jkp-cal-month.is-compact .jkp-cal-event{min-height:21px;padding:3px 3px 5px 6px;border-left-width:4px;grid-template-columns:auto minmax(0,1fr)}
.jkp-cal-month.is-compact .jkp-cal-event .jkp-cal-team{display:none}
.jkp-cal-month.is-compact .jkp-cal-event strong{font-size:7px!important}
.jkp-cal-month.is-compact .jkp-cal-event small{display:none}
.jkp-cal-week{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:6px;overflow-x:auto;padding-bottom:5px}
.jkp-cal-weekday{min-height:460px;border:1px solid #dfe6eb;border-radius:10px;background:#fff;padding:6px;transition:.12s ease}
.jkp-cal-weekday.is-today{background:#f2f8fc;border-color:#acd1ea}
.jkp-cal-weekday.is-today{scroll-margin-top:calc(var(--jkp-sticky-base,0px) + var(--jkp-tabs-height,0px) + 18px);scroll-margin-inline:10px}
.jkp-cal-weekday>header{display:flex;justify-content:space-between;align-items:center;padding:3px 2px 7px;margin-bottom:5px;border-bottom:1px solid #edf1f4}
.jkp-cal-weekday>header small{font-size:9px;font-weight:900;color:#667782}.jkp-cal-weekday>header b{font-size:11px;color:#233b4e}
.jkp-cal-weekday .jkp-cal-event{grid-template-columns:auto auto minmax(0,1fr);min-height:35px}
.jkp-cal-weekday .jkp-cal-event strong{font-size:9px!important}
.jkp-calendar-dialog{width:min(760px,calc(100vw - 24px));max-height:min(88vh,820px);border:0;border-radius:16px;padding:0;box-shadow:0 24px 80px rgba(10,28,45,.32);overflow:auto;background:#fff}
.jkp-calendar-dialog::backdrop{background:rgba(15,29,41,.55);backdrop-filter:blur(2px)}
.jkp-calendar-dialog.is-open{display:block;position:fixed;inset:5vh auto auto 50%;transform:translateX(-50%);z-index:100000}
.jkp-calendar-event-form{padding:14px}
.jkp-calendar-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}
.jkp-calendar-dialog-head small{font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#1f6fae}.jkp-calendar-dialog-head h3{margin:1px 0 0!important;font-size:20px!important}
.jkp-calendar-close{width:34px;height:34px;border:0;border-radius:10px;background:#eef3f6;color:#52606d;font-size:24px;line-height:1;cursor:pointer}
.jkp-calendar-formgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.jkp-calendar-formgrid label,.jkp-calendar-venue-form label,.jkp-calendar-colors-form label{display:flex;flex-direction:column;gap:4px;min-width:0}.jkp-calendar-formgrid label>span,.jkp-calendar-venue-form label>span,.jkp-calendar-colors-form label>span{font-size:9px;font-weight:850;color:#526472}
.jkp-calendar-formgrid input,.jkp-calendar-formgrid select,.jkp-calendar-formgrid textarea,.jkp-calendar-venue-form input{width:100%;min-height:39px;border:1px solid #cfd9df;border-radius:8px;padding:6px 8px;background:#fff;font:inherit;font-size:12px;box-sizing:border-box}
.jkp-calendar-formgrid textarea{resize:vertical;min-height:72px}
.jkp-calendar-titlefield{grid-column:span 2}.jkp-calendar-notes{grid-column:1/-1}
.jkp-calendar-series{display:flex;align-items:flex-end;gap:12px;margin-top:10px;padding:9px 10px;background:#f5f9fc;border:1px solid #dce8ef;border-radius:10px}
.jkp-calendar-series>label:first-child{display:flex;align-items:center;gap:8px;flex:1}.jkp-calendar-series input[type="checkbox"]{width:18px;height:18px}.jkp-calendar-series span{display:flex;flex-direction:column;gap:1px}.jkp-calendar-series b{font-size:10px}.jkp-calendar-series small{font-size:8px;color:#6f7d87}.jkp-calendar-series>label:last-child{display:flex;flex-direction:column;gap:3px;font-size:9px;font-weight:800}.jkp-calendar-series input[type="date"]{min-height:35px;border:1px solid #ccd7de;border-radius:8px;padding:4px 7px;background:#fff}
.jkp-calendar-dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid #e8edf0}
.jkp-calendar-fab{display:none;position:fixed;right:16px;bottom:max(18px,env(safe-area-inset-bottom));z-index:40;width:54px;height:54px;border-radius:50%;border:0;background:#1f6fae;color:#fff;font-size:30px;line-height:1;box-shadow:0 8px 24px rgba(15,67,105,.32);cursor:pointer}
.jkp-calendar-settings{margin-top:10px!important}.jkp-calendar-settings>summary{cursor:pointer;font-weight:900;font-size:11px;color:#29465c}
.jkp-calendar-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}.jkp-calendar-settings h3{font-size:14px!important;margin:0 0 3px!important}
.jkp-calendar-colors-form{display:grid;grid-template-columns:1fr;gap:5px;margin-top:8px}.jkp-calendar-colors-form label{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:8px;padding:5px 7px;border:1px solid #e3e8eb;border-radius:8px}.jkp-calendar-colors-form input[type="color"]{width:42px;height:28px;padding:1px;border:0;background:transparent}
.jkp-calendar-venue-list{display:flex;flex-direction:column;gap:5px;margin:8px 0}.jkp-calendar-venue-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 7px;border:1px solid #e3e8eb;border-radius:8px}.jkp-calendar-venue-row>i{width:11px;height:26px;border-radius:4px}.jkp-calendar-venue-row>div{display:flex;flex-direction:column;min-width:0}.jkp-calendar-venue-row b{font-size:10px}.jkp-calendar-venue-row small{font-size:8px;color:#78858e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-calendar-venue-row form{margin:0}.jkp-linkdanger{border:0;background:transparent;color:#a43636;font-size:8px;font-weight:850;cursor:pointer}
.jkp-calendar-venue-form{display:grid;grid-template-columns:1fr 1.4fr 68px auto;align-items:end;gap:7px;margin-top:8px}.jkp-calendar-venue-form input[type="color"]{padding:2px;height:39px}
.jkp-calendar-bfv-hint{display:flex;align-items:center;gap:10px;margin-top:10px!important;padding:9px 11px!important}.jkp-calendar-bfv-hint b{font-size:10px;white-space:nowrap}.jkp-calendar-bfv-hint span{font-size:9px;color:#65737e}

@media(max-width:1050px){
  .jkp-cal-multimonth.jkp-cal-count-3{grid-template-columns:1fr 1fr}.jkp-cal-multimonth.jkp-cal-count-3>.jkp-cal-month:last-child{grid-column:1/-1}
  .jkp-calendar-settings-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .jkp-calendar-heading .jkp-calendar-add{display:none}
  .jkp-calendar-card{padding:8px!important}
  .jkp-calendar-toolbar{top:var(--jkp-filter-top,0);display:grid;grid-template-columns:1fr;gap:7px;padding:5px 0;margin-bottom:6px}
  .jkp-calendar-nav{justify-content:space-between}.jkp-calendar-nav strong{font-size:12px;min-width:0;flex:1;text-align:center}
  .jkp-calendar-views{overflow-x:auto;justify-content:flex-start}.jkp-calendar-views button{padding:7px 9px;min-height:34px}
  .jkp-calendar-filters{padding:5px 6px;margin-bottom:6px}.jkp-calendar-filters>span{display:none}.jkp-calendar-teamchip{min-height:32px}.jkp-calendar-teamchip em{display:none}
  .jkp-calendar-legends{gap:7px;margin-bottom:6px}.jkp-calendar-legends>div{gap:5px}.jkp-calendar-legends>div:nth-child(2){display:none}
  .jkp-cal-multimonth.jkp-cal-count-2,.jkp-cal-multimonth.jkp-cal-count-3{grid-template-columns:1fr}.jkp-cal-multimonth.jkp-cal-count-3>.jkp-cal-month:last-child{grid-column:auto}
  .jkp-cal-day{min-height:72px;padding:3px}.jkp-cal-dayhead{margin-bottom:2px}.jkp-cal-dayhead b{font-size:8px}.jkp-cal-event{min-height:21px;padding:3px 3px 5px 6px;border-left-width:4px;grid-template-columns:auto minmax(0,1fr)}.jkp-cal-event .jkp-cal-team{display:none}.jkp-cal-event strong{font-size:7px!important}.jkp-cal-event small{display:none}.jkp-cal-time{font-size:6px}
  .jkp-cal-week{grid-template-columns:1fr;overflow:visible;gap:6px}.jkp-cal-weekday{min-height:92px}.jkp-cal-weekday>header{margin-bottom:4px}.jkp-cal-weekday .jkp-cal-event{grid-template-columns:auto auto minmax(0,1fr);min-height:31px}.jkp-cal-weekday .jkp-cal-event .jkp-cal-team{display:inline}.jkp-cal-weekday .jkp-cal-event strong{font-size:8px!important}.jkp-cal-weekday .jkp-cal-event small{display:block}
  .jkp-calendar-fab{display:block}
  .jkp-calendar-dialog{width:100vw;max-width:none;max-height:92vh;margin:0;border-radius:18px 18px 0 0;position:fixed;left:0;right:0;bottom:0;top:auto}
  .jkp-calendar-dialog.is-open{left:0;right:0;bottom:0;top:auto;transform:none}
  .jkp-calendar-event-form{padding:12px 11px max(12px,env(safe-area-inset-bottom))}
  .jkp-calendar-formgrid{grid-template-columns:1fr 1fr;gap:7px}.jkp-calendar-formgrid input,.jkp-calendar-formgrid select{min-height:44px;font-size:16px}.jkp-calendar-formgrid textarea{font-size:16px;min-height:82px}.jkp-calendar-titlefield,.jkp-calendar-notes{grid-column:1/-1}
  .jkp-calendar-series{align-items:stretch;flex-direction:column}.jkp-calendar-series>label:first-child{min-height:44px}.jkp-calendar-series input[type="date"]{min-height:44px;font-size:16px}
  .jkp-calendar-dialog-actions{grid-template-columns:auto 1fr auto}.jkp-calendar-dialog-actions>span{display:none}.jkp-calendar-dialog-actions .jkp-btn{min-height:44px}.jkp-calendar-dialog-actions .jkp-calendar-delete{grid-row:1;grid-column:1}.jkp-calendar-dialog-actions .jkp-btn-secondary{grid-column:2}.jkp-calendar-dialog-actions .jkp-btn:last-child{grid-column:3}
  .jkp-calendar-venue-form{grid-template-columns:1fr 72px}.jkp-calendar-venue-form label:nth-of-type(1),.jkp-calendar-venue-form label:nth-of-type(2){grid-column:1/-1}.jkp-calendar-venue-form button{min-height:40px}
  .jkp-calendar-bfv-hint{align-items:flex-start;flex-direction:column;gap:3px}
}
@media(max-width:430px){
  .jkp-cal-weekdays span{font-size:7px}.jkp-cal-day{min-height:62px}.jkp-cal-event{grid-template-columns:minmax(0,1fr);padding-left:5px}.jkp-cal-time{display:none}.jkp-cal-month.is-compact .jkp-cal-day{min-height:58px}
  .jkp-calendar-formgrid{grid-template-columns:1fr}.jkp-calendar-formgrid label{grid-column:auto!important}.jkp-calendar-dialog-head h3{font-size:18px!important}
}
.jkp-calendar-view-inner{padding:14px}.jkp-calendar-view-meta{display:flex;flex-wrap:wrap;gap:6px;padding:10px;border-left:5px solid var(--jkp-team-color,#246a9a);border-bottom:4px solid var(--jkp-venue-color,#7c8797);border-radius:9px;background:#f7fafc}.jkp-calendar-view-meta span{display:inline-flex;align-items:center;min-height:27px;padding:4px 7px;border-radius:7px;background:#fff;border:1px solid #e0e7eb;font-size:10px;font-weight:750;color:#435564}.jkp-calendar-view-notes{margin-top:9px;padding:9px 10px;border-radius:9px;background:#f5f7f9;white-space:pre-wrap;font-size:11px;line-height:1.45;color:#465867}

/* 0.2.65 – Einstellungen als kompakte Untermenüs */
.jkp-settings-subnav{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 14px;
  padding:8px;
  border:1px solid #dfe7ec;
  border-radius:12px;
  background:rgba(255,255,255,.92);
  box-shadow:0 2px 8px rgba(31,55,73,.05);
}
.jkp-settings-subnav-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:36px;
  padding:7px 10px;
  border:1px solid #dce5ea;
  border-radius:9px;
  background:#f7f9fa;
  color:#3c5364!important;
  text-decoration:none!important;
  font-size:10px;
  font-weight:850;
  line-height:1.1;
  white-space:nowrap;
  transition:.15s ease;
}
.jkp-settings-subnav-item:hover{background:#eef5f9;border-color:#bfd3df;color:#1f587d!important;transform:translateY(-1px)}
.jkp-settings-subnav-item.is-active{background:#1f6fae;border-color:#1f6fae;color:#fff!important;box-shadow:0 3px 9px rgba(31,111,174,.18)}
.jkp-settings-subnav-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:14px;line-height:1}
.jkp-settings-portal-link{overflow-wrap:anywhere}

@media(max-width:760px){
  .jkp-settings-subnav{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    gap:6px;
    margin-left:-2px;
    margin-right:-2px;
    padding:7px;
  }
  .jkp-settings-subnav-item{flex:0 0 auto;min-height:40px;padding:8px 10px;font-size:10px}
  .jkp-settings-subnav-icon{font-size:15px}
}
@media(max-width:430px){
  .jkp-settings-subnav-item{padding:8px 9px}
}

/* 0.2.66 – Serientermine bearbeiten/löschen */
.jkp-calendar-series-edit{margin-top:10px;padding:10px;background:#f5f9fc;border:1px solid #dce8ef;border-radius:11px}
.jkp-calendar-series-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.jkp-calendar-series-edit-head>div{display:flex;flex-direction:column;gap:2px}.jkp-calendar-series-edit-head b{font-size:11px}.jkp-calendar-series-edit-head small{font-size:8px;color:#6f7d87}.jkp-calendar-series-edit-head>span{font-size:8px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:#6f7d87}
.jkp-calendar-series-scope{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.jkp-calendar-series-scope label{position:relative;display:flex;align-items:flex-start;gap:7px;padding:8px;border:1px solid #d5e1e8;border-radius:9px;background:#fff;cursor:pointer;min-width:0}
.jkp-calendar-series-scope label:has(input:checked){border-color:#2f7db3;box-shadow:0 0 0 1px rgba(47,125,179,.15);background:#f2f8fc}
.jkp-calendar-series-scope input{margin-top:2px;flex:0 0 auto}.jkp-calendar-series-scope span{display:flex;flex-direction:column;gap:1px;min-width:0}.jkp-calendar-series-scope b{font-size:9px}.jkp-calendar-series-scope small{font-size:8px;color:#6f7d87;line-height:1.25}
@media(max-width:700px){
  .jkp-calendar-series-edit{padding:9px}.jkp-calendar-series-edit-head{flex-direction:column;gap:3px}
  .jkp-calendar-series-scope{grid-template-columns:1fr}.jkp-calendar-series-scope label{min-height:48px;align-items:center}.jkp-calendar-series-scope input{width:20px;height:20px;margin:0}.jkp-calendar-series-scope b{font-size:11px}.jkp-calendar-series-scope small{font-size:9px}
}

/* =========================================================
   0.2.67 – Tabellenplanung & mobile Trainingsanwesenheit
   ========================================================= */
.jkp-calendar-listview{margin-top:14px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:rgba(255,255,255,.72);overflow:hidden}
.jkp-calendar-listview>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;list-style:none}
.jkp-calendar-listview>summary::-webkit-details-marker{display:none}
.jkp-calendar-listview>summary span{display:flex;flex-direction:column;gap:2px}.jkp-calendar-listview>summary small{font-weight:400;opacity:.65}
.jkp-calendar-listwrap{overflow:auto;border-top:1px solid rgba(148,163,184,.18)}
.jkp-calendar-listtable{width:100%;border-collapse:collapse;min-width:720px}
.jkp-calendar-listtable th,.jkp-calendar-listtable td{padding:9px 10px;text-align:left;border-bottom:1px solid rgba(148,163,184,.13);vertical-align:middle}
.jkp-calendar-listtable th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.7}
.jkp-calendar-listtable td{font-size:12px}.jkp-calendar-listtable td small{display:block;font-size:9px;opacity:.65;margin-top:2px}
.jkp-cal-list-teamdot{display:inline-block;width:9px;height:24px;border-radius:6px;vertical-align:middle;margin-right:7px}
.jkp-cal-list-actions{text-align:right!important;width:42px}
.jkp-training-create>summary{cursor:pointer;display:flex;gap:10px;align-items:center;justify-content:space-between}.jkp-training-create>form{margin-top:12px}
.jkp-attendance-stats-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.jkp-attendance-stats-head h3{margin:0 0 3px}.jkp-attendance-stats-head p{margin:0;opacity:.7}
.jkp-attendance-teamrate{min-width:74px;text-align:center;padding:8px 10px;border-radius:12px;background:rgba(15,118,110,.08)}.jkp-attendance-teamrate strong{display:block;font-size:22px}.jkp-attendance-teamrate span{font-size:9px;text-transform:uppercase;opacity:.6}
.jkp-attendance-datefilter{display:flex;align-items:end;gap:8px;margin:12px 0}.jkp-attendance-datefilter label{display:flex;flex-direction:column;gap:4px;font-size:10px}.jkp-attendance-datefilter input{min-height:36px}
.jkp-attendance-playerstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}.jkp-attendance-playerstats>div{padding:8px 9px;border:1px solid rgba(148,163,184,.16);border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:2px 8px}.jkp-attendance-playerstats b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-attendance-playerstats span{font-weight:800}.jkp-attendance-playerstats small{grid-column:1/-1;font-size:9px;opacity:.58}
.jkp-training-eventhead{display:flex;align-items:start;justify-content:space-between;gap:8px}.jkp-training-eventhead h3{margin-top:0}.jkp-training-done,.jkp-training-upcoming{font-size:9px;font-weight:800;border-radius:999px;padding:4px 7px;white-space:nowrap}.jkp-training-done{background:rgba(34,197,94,.12)}.jkp-training-upcoming{background:rgba(59,130,246,.11)}
.jkp-att-quick{margin-top:10px;border-top:1px solid rgba(148,163,184,.18);padding-top:8px}.jkp-att-quick>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:7px 0}.jkp-att-quick>summary::-webkit-details-marker{display:none}.jkp-att-quick>summary span{display:flex;flex-direction:column}.jkp-att-quick>summary small{font-size:9px;opacity:.62}.jkp-att-quick>summary strong{font-size:17px}
.jkp-att-quicktools{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 8px}.jkp-att-mobile-list{display:flex;flex-direction:column;gap:5px}.jkp-att-player{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:9px;align-items:center;padding:7px 8px;border:1px solid rgba(148,163,184,.16);border-radius:10px}.jkp-att-playername b{font-size:11px}
.jkp-att-segments{display:flex;gap:3px}.jkp-att-segments label{cursor:pointer}.jkp-att-segments input{position:absolute;opacity:0;pointer-events:none}.jkp-att-segments span{min-height:32px;padding:5px 8px;display:flex;align-items:center;gap:4px;border:1px solid rgba(148,163,184,.28);border-radius:8px;font-size:9px;font-weight:700;background:rgba(255,255,255,.65)}.jkp-att-segments i{font-style:normal;font-size:13px}.jkp-att-segments input:checked+span{outline:2px solid currentColor;outline-offset:-2px}.jkp-att-segments .is-yes input:checked+span{background:rgba(34,197,94,.13);color:#166534}.jkp-att-segments .is-no input:checked+span{background:rgba(239,68,68,.11);color:#991b1b}.jkp-att-segments .is-open input:checked+span{background:rgba(148,163,184,.13);color:#475569}.jkp-att-savebar{display:flex;justify-content:flex-end;margin-top:8px}.jkp-att-readonly{font-size:10px;font-weight:700}
@media(max-width:700px){
 .jkp-calendar-listwrap{overflow:visible}.jkp-calendar-listtable{min-width:0}.jkp-calendar-listtable thead{display:none}.jkp-calendar-listtable,.jkp-calendar-listtable tbody,.jkp-calendar-listtable tr,.jkp-calendar-listtable td{display:block;width:100%}.jkp-calendar-listtable tr{position:relative;padding:9px 44px 9px 10px;border-bottom:1px solid rgba(148,163,184,.16)}.jkp-calendar-listtable td{border:0!important;padding:2px 0!important}.jkp-calendar-listtable td:before{content:attr(data-label);display:inline-block;width:82px;font-size:8px;text-transform:uppercase;opacity:.48}.jkp-calendar-listtable .jkp-cal-list-actions{position:absolute;right:7px;top:8px;width:auto!important}.jkp-cal-list-teamdot{height:13px;width:7px;margin-right:5px}
 .jkp-attendance-playerstats{grid-template-columns:1fr 1fr}.jkp-training-event{padding:10px!important}.jkp-eventdate{min-width:58px!important}.jkp-att-player{grid-template-columns:1fr;gap:5px;padding:8px}.jkp-att-segments{display:grid;grid-template-columns:repeat(3,1fr)}.jkp-att-segments label,.jkp-att-segments span{width:100%}.jkp-att-segments span{justify-content:center;min-height:42px;font-size:10px}.jkp-att-savebar{position:sticky;bottom:8px;z-index:12;padding-top:6px}.jkp-att-savebar .jkp-btn{width:100%;min-height:46px}.jkp-att-quicktools .jkp-btn{min-height:40px;flex:1}.jkp-attendance-datefilter{align-items:stretch}.jkp-attendance-datefilter label{flex:1}.jkp-attendance-datefilter .jkp-btn{align-self:end;min-height:40px}
}
@media(max-width:430px){.jkp-attendance-playerstats{grid-template-columns:1fr}.jkp-attendance-stats-head{align-items:center}.jkp-attendance-teamrate{min-width:68px}.jkp-training-eventgrid .jkp-event{grid-template-columns:1fr!important}.jkp-training-eventgrid .jkp-eventdate{display:flex;gap:7px;align-items:baseline}}

/* =========================================================
   0.2.68 – Kalender-Reiter, Vorbereitungsplan & Platzbelegung
   ========================================================= */
.jkp-calendar-mode-tabs{display:flex;align-items:center;gap:6px;margin:0 0 12px;padding:5px;background:#eef3f7;border:1px solid #d9e2e8;border-radius:12px;overflow-x:auto;scrollbar-width:thin}
.jkp-calendar-mode-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:7px 12px;border:0;border-radius:9px;background:transparent;color:#526574;font:inherit;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}
.jkp-calendar-mode-tabs button.is-active{background:#fff;color:#174f79;box-shadow:0 2px 7px rgba(31,62,86,.12)}
.jkp-calendar-filter-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.jkp-calendar-filter-all,.jkp-calendar-filter-none{min-height:28px;border:1px solid #d5e1e8;border-radius:8px;background:#fff;font:inherit;font-size:8px;font-weight:900;cursor:pointer;padding:4px 7px;white-space:nowrap}
.jkp-calendar-filter-all{color:#1f6fae}.jkp-calendar-filter-none{color:#697986}
.jkp-cal-day.is-weekend,.jkp-cal-weekday.is-weekend{background:#fff7ed}
.jkp-cal-weekdays span:nth-last-child(-n+2){background:#fff3e4;color:#9b6326}
.jkp-cal-event.is-match{border-color:#e5bd6a;border-left-width:6px;background:linear-gradient(135deg,#fff8df 0%,color-mix(in srgb,var(--jkp-team-color) 9%,#fff) 100%);box-shadow:inset 0 -4px 0 var(--jkp-venue-color),0 1px 4px rgba(145,98,20,.08)}
.jkp-cal-event.is-match strong{font-weight:950;color:#71480e}.jkp-cal-matchicon{font-size:9px}
.jkp-calendar-listtable tr.is-match td{background:#fffaf0}.jkp-calendar-listtable tr.is-match td:first-child{box-shadow:inset 4px 0 0 #d8a23e}.jkp-calendar-listtable tr.is-match td:nth-child(4) b{color:#754b0c}
.jkp-calendar-listhead{display:flex;align-items:center;justify-content:space-between;padding:12px 14px}.jkp-calendar-listhead>span{display:flex;flex-direction:column;gap:2px}.jkp-calendar-listhead small{font-size:9px;opacity:.65}

.jkp-prep-panel{min-width:0}
.jkp-prep-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:8px;padding:9px;border:1px solid #dfe6eb;border-radius:11px;background:#f8fafc}
.jkp-prep-toolbar label{display:flex;flex-direction:column;gap:3px;min-width:145px}.jkp-prep-toolbar label:first-child{min-width:220px}.jkp-prep-toolbar label>span{font-size:8px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;color:#61717e}
.jkp-prep-toolbar select,.jkp-prep-toolbar input{height:38px;border:1px solid #ccd8df;border-radius:8px;background:#fff;padding:5px 8px;font:inherit;font-size:11px}
.jkp-prep-hint{display:flex;align-items:center;gap:9px;margin:0 0 8px;padding:7px 9px;border-radius:9px;background:#eef7fc;color:#37596f}.jkp-prep-hint b{font-size:10px}.jkp-prep-hint span{font-size:9px}
.jkp-prep-scroll{overflow:auto;max-width:100%;border:1px solid #dce4e9;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(33,51,67,.04)}
.jkp-prep-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.jkp-prep-table th,.jkp-prep-table td{border-right:1px solid #e6ebee;border-bottom:1px solid #e6ebee;vertical-align:top}.jkp-prep-table th:last-child,.jkp-prep-table td:last-child{border-right:0}.jkp-prep-table tbody tr:last-child>*{border-bottom:0}
.jkp-prep-table thead th{position:sticky;top:0;z-index:5;height:36px;padding:8px 5px;background:#f4f7f9;color:#526472;font-size:9px;font-weight:950;text-align:center}.jkp-prep-table thead th.is-weekend{background:#fff1df;color:#945f24}
.jkp-prep-kw{position:sticky!important;left:0;z-index:6!important;width:78px;background:#f4f7f9!important;text-align:center!important}.jkp-prep-table tbody .jkp-prep-kw{padding:10px 5px;box-shadow:2px 0 4px rgba(44,62,76,.04)}.jkp-prep-kw b{display:block;font-size:10px;color:#30495d}.jkp-prep-kw small{display:block;margin-top:2px;font-size:8px;color:#83909a}
.jkp-prep-day{position:relative;height:92px;padding:5px 5px 27px;background:#fff;cursor:pointer;transition:.12s ease}.jkp-prep-day:hover{background:#f5fbff}.jkp-prep-day.is-weekend{background:#fff8ef}.jkp-prep-day.is-weekend:hover{background:#fff2df}
.jkp-prep-date{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:4px}.jkp-prep-date b{font-size:8px;color:#60717e}.jkp-prep-date span{font-size:8px;color:#8a969e}
.jkp-prep-events{display:flex;flex-direction:column;gap:3px}.jkp-prep-event{width:100%;min-width:0;padding:4px 5px;border:1px solid #dae3e8;border-left:4px solid var(--jkp-team-color,#246a9a);border-bottom:3px solid var(--jkp-venue-color,#7c8797);border-radius:6px;background:#f8fbfd;text-align:left;font:inherit;cursor:pointer}.jkp-prep-event b,.jkp-prep-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-prep-event b{font-size:8px;color:#294257}.jkp-prep-event small{font-size:7px;color:#76858f;margin-top:1px}.jkp-prep-event.is-match{background:#fff6dc;border-color:#e4bd69;border-left-color:#c98517}.jkp-prep-event.is-match b{color:#70480d;font-weight:950}
.jkp-prep-add{position:absolute;right:5px;bottom:4px;width:23px;height:21px;border:1px dashed #b9c8d1;border-radius:6px;background:#fff;color:#427598;font-size:15px;line-height:1;cursor:pointer}.jkp-prep-add:hover{background:#eaf6fd;border-style:solid}

.jkp-calendar-conflict-dialog{width:min(520px,calc(100vw - 24px));border:0;border-radius:16px;padding:0;box-shadow:0 24px 80px rgba(20,28,34,.34);background:#fff}.jkp-calendar-conflict-dialog::backdrop{background:rgba(15,29,41,.55)}
.jkp-calendar-conflict-inner{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:17px}.jkp-calendar-conflict-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#fff1d5;color:#a56808;font-size:22px}.jkp-calendar-conflict-inner small{display:block;color:#a56808;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.jkp-calendar-conflict-inner h3{margin:2px 0 6px!important;font-size:17px!important}.jkp-calendar-conflict-inner p{margin:0;color:#596b78;font-size:11px;line-height:1.45}.jkp-calendar-conflict-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}

@media(max-width:760px){
  .jkp-calendar-mode-tabs{position:sticky;top:var(--jkp-filter-top,0);z-index:21;margin-bottom:8px;padding:4px}.jkp-calendar-mode-tabs button{min-height:36px;padding:7px 10px;font-size:9px}
  .jkp-calendar-filters{align-items:flex-start;flex-wrap:wrap}.jkp-calendar-teamfilters{order:2;width:100%}.jkp-calendar-filter-actions{margin-left:auto}.jkp-calendar-filter-all,.jkp-calendar-filter-none{min-height:32px;font-size:8px}
  .jkp-prep-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:7px}.jkp-prep-toolbar label,.jkp-prep-toolbar label:first-child{min-width:0}.jkp-prep-toolbar label:first-child{grid-column:1/-1}.jkp-prep-toolbar select,.jkp-prep-toolbar input{height:44px;font-size:16px}.jkp-prep-toolbar .jkp-btn{min-height:44px}
  .jkp-prep-hint{align-items:flex-start;flex-direction:column;gap:2px}.jkp-prep-scroll{margin:0 -1px}.jkp-prep-table{min-width:920px}.jkp-prep-day{height:100px}
  .jkp-calendar-conflict-inner{grid-template-columns:36px minmax(0,1fr);padding:14px;gap:9px}.jkp-calendar-conflict-icon{width:36px;height:36px;border-radius:10px}.jkp-calendar-conflict-actions{flex-direction:column-reverse}.jkp-calendar-conflict-actions .jkp-btn{width:100%;min-height:45px}
}
@media(max-width:430px){
  .jkp-calendar-mode-tabs button{font-size:8px;padding:6px 8px}.jkp-prep-toolbar{grid-template-columns:1fr}.jkp-prep-toolbar label:first-child{grid-column:auto}.jkp-prep-table{min-width:840px}.jkp-prep-kw{width:68px}
}
.jkp-prep-adds{position:absolute;left:5px;right:5px;bottom:4px;display:flex;gap:3px;opacity:.78}.jkp-prep-adds button{flex:1;min-width:0;height:21px;padding:2px 4px;border:1px dashed #b9c8d1;border-radius:5px;background:#fff;color:#427598;font:inherit;font-size:7px;font-weight:850;cursor:pointer;white-space:nowrap}.jkp-prep-adds button:last-child{color:#875710;border-color:#ddb96f;background:#fffaf0}.jkp-prep-day:hover .jkp-prep-adds{opacity:1}.jkp-prep-add{display:none!important}
@media(max-width:760px){.jkp-prep-adds{opacity:1}.jkp-prep-adds button{height:24px;font-size:7px}}


/* =========================================================
   0.2.69 – Drag & Drop für Einzeltermine und Terminserien
   ========================================================= */
.jkp-cal-seriesicon,.jkp-prep-seriesicon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:12px;
  height:12px;
  margin-right:1px;
  border-radius:999px;
  background:rgba(36,106,154,.11);
  color:#246a9a;
  font-size:8px;
  line-height:1;
  vertical-align:middle;
}
.jkp-prep-event[draggable="true"]{cursor:grab}
.jkp-prep-event[draggable="true"]:active{cursor:grabbing}
.jkp-prep-event.is-dragging{opacity:.42;transform:scale(.98)}
.jkp-prep-day.is-cal-dragover{
  background:#e9f7ff!important;
  box-shadow:inset 0 0 0 2px #2b83c3!important;
}
.jkp-prep-day.is-weekend.is-cal-dragover{background:#fff0d9!important}

.jkp-calendar-move-scope-dialog{
  width:min(610px,calc(100vw - 24px));
  border:0;
  border-radius:16px;
  padding:0;
  background:#fff;
  box-shadow:0 24px 80px rgba(20,28,34,.34);
}
.jkp-calendar-move-scope-dialog::backdrop{background:rgba(15,29,41,.55)}
.jkp-calendar-move-scope-inner{padding:16px}
.jkp-calendar-move-scope-inner>p{
  margin:2px 0 12px;
  color:#5c6d79;
  font-size:11px;
  line-height:1.45;
}
.jkp-calendar-move-scope-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.jkp-calendar-move-scope-options>button{
  min-width:0;
  min-height:92px;
  padding:11px;
  border:1px solid #d8e2e8;
  border-radius:11px;
  background:#f8fbfd;
  color:#294257;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:.12s ease;
}
.jkp-calendar-move-scope-options>button:hover{
  border-color:#84b5d2;
  background:#edf8fe;
  transform:translateY(-1px);
}
.jkp-calendar-move-scope-options b{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  color:#233e52;
}
.jkp-calendar-move-scope-options small{
  display:block;
  font-size:9px;
  line-height:1.35;
  color:#71818c;
}
@media(max-width:640px){
  .jkp-calendar-move-scope-inner{padding:13px}
  .jkp-calendar-move-scope-options{grid-template-columns:1fr}
  .jkp-calendar-move-scope-options>button{min-height:68px;padding:10px}
  .jkp-calendar-move-scope-options b{font-size:12px}
  .jkp-calendar-move-scope-options small{font-size:10px}
}

/* =========================================================
   0.2.70 – Vorbereitungsplan: PDF, Abgabe & Kommunikation
   ========================================================= */
.jkp-prep-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 10px}
.jkp-prep-actions form{margin:0}
.jkp-prep-submissions{margin-top:14px}
.jkp-prep-submissions-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}
.jkp-prep-submissions-head h3{margin:0 0 3px}
.jkp-prep-submissions-head p{margin:0;color:var(--jkp-muted,#667085);max-width:760px}
.jkp-prep-submissions-head>span{white-space:nowrap;border-radius:999px;padding:5px 9px;background:#eef3f8;font-weight:700;font-size:11px}
.jkp-prep-submission-list{display:grid;gap:8px}
.jkp-prep-submission{display:grid;grid-template-columns:minmax(240px,1fr) auto;grid-template-areas:"main status" "actions actions";gap:7px 14px;padding:10px 12px;border:1px solid rgba(40,55,75,.12);border-radius:11px;background:rgba(255,255,255,.76)}
.jkp-prep-submission-main{grid-area:main;display:flex;gap:9px;align-items:center;min-width:0}
.jkp-prep-submission-main>div{display:grid;min-width:0}
.jkp-prep-submission-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-prep-submission-main small{color:var(--jkp-muted,#667085);margin-top:2px}
.jkp-prep-submitted-badge{padding:4px 7px;border-radius:7px;background:#e6f6eb;color:#17663b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.jkp-prep-send-status{grid-area:status;display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.jkp-prep-send-status span{font-size:9px;border-radius:999px;padding:4px 7px;background:#f1f4f7;color:#475467;white-space:nowrap}
.jkp-prep-submission-actions{grid-area:actions;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.jkp-prep-submission-actions form{margin:0}
.jkp-communication-settings .jkp-comm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.jkp-communication-settings label{display:grid;gap:5px}
.jkp-wa-api-settings{margin:12px 0;padding:10px 12px;border-radius:10px;border:1px solid rgba(40,55,75,.14);background:rgba(247,249,252,.8)}
.jkp-wa-api-settings summary{cursor:pointer;font-weight:800}
.jkp-wa-api-settings .jkp-comm-grid{margin-top:10px}
.jkp-comm-info{display:grid;gap:3px;margin:10px 0 12px;padding:10px 12px;border-left:4px solid #4d789f;background:#f5f8fb;border-radius:8px}
.jkp-comm-info span{font-size:12px;color:#52606d}
@media(max-width:700px){
  .jkp-prep-actions{display:grid;grid-template-columns:1fr 1fr}
  .jkp-prep-actions form,.jkp-prep-actions button{width:100%}
  .jkp-prep-submission{grid-template-columns:1fr;grid-template-areas:"main" "status" "actions"}
  .jkp-prep-send-status{justify-content:flex-start}
  .jkp-prep-submission-actions{display:grid;grid-template-columns:1fr}
  .jkp-prep-submission-actions form,.jkp-prep-submission-actions a,.jkp-prep-submission-actions button{width:100%;text-align:center}
  .jkp-communication-settings .jkp-comm-grid{grid-template-columns:1fr}
}
.jkp-leader-recipient-settings{margin:12px 0;padding:11px 12px;border-radius:10px;background:rgba(247,249,252,.8);border:1px solid rgba(40,55,75,.12)}
.jkp-leader-recipient-settings h4{margin:0 0 4px}
.jkp-leader-recipient-row{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(180px,260px);gap:10px;align-items:center;padding:7px 0;border-top:1px solid rgba(40,55,75,.08)}
.jkp-leader-recipient-row>span{display:grid;gap:1px}.jkp-leader-recipient-row small{color:var(--jkp-muted,#667085)}
@media(max-width:700px){.jkp-leader-recipient-row{grid-template-columns:1fr}.jkp-leader-recipient-row input{width:100%}}


/* =========================================================
   0.2.71 – BFV-iCal-Abo je Mannschaft
   ========================================================= */
.jkp-team-bfv-settings{margin-top:9px;border:1px solid rgba(36,106,154,.18);border-radius:12px;background:rgba(36,106,154,.035);overflow:hidden}
.jkp-team-bfv-settings>summary{display:flex;align-items:center;gap:7px;padding:10px 12px;cursor:pointer;font-weight:800;list-style:none}
.jkp-team-bfv-settings>summary::-webkit-details-marker{display:none}
.jkp-team-bfv-settings>summary:after{content:'⌄';margin-left:auto;font-size:17px;transition:transform .18s ease}
.jkp-team-bfv-settings[open]>summary:after{transform:rotate(180deg)}
.jkp-bfv-live{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;background:rgba(47,133,90,.12);font-size:10px;font-weight:900;color:#2f855a;text-transform:uppercase;letter-spacing:.04em}
.jkp-bfv-settings-body{padding:0 12px 12px}
.jkp-bfv-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:9px;margin-top:9px}
.jkp-bfv-grid label{display:flex;flex-direction:column;gap:4px;min-width:0}
.jkp-bfv-grid label>span{font-size:11px;font-weight:800}
.jkp-bfv-grid .jkp-wide{grid-column:1/-1}
.jkp-bfv-grid input,.jkp-bfv-grid select{width:100%;min-height:40px}
.jkp-bfv-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.jkp-bfv-status{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:10px;padding:8px 10px;border-radius:9px;background:rgba(47,133,90,.08);font-size:11px}
.jkp-bfv-status.is-error{background:rgba(178,75,90,.09)}
.jkp-bfv-status.is-error span{color:#9f3344}
.jkp-cal-bfvbadge,.jkp-bfv-source-badge{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;min-height:16px;padding:1px 5px;border-radius:5px;background:#fff;color:#1f5f92;border:1px solid rgba(31,95,146,.28);font-size:8px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.05em}
.jkp-cal-event.is-match .jkp-cal-bfvbadge,.jkp-prep-event.is-match .jkp-cal-bfvbadge{background:rgba(255,255,255,.92)}
@media(max-width:720px){
  .jkp-bfv-grid{grid-template-columns:1fr}
  .jkp-bfv-grid .jkp-wide{grid-column:auto}
  .jkp-team-bfv-settings>summary{padding:11px 10px;font-size:12px}
  .jkp-bfv-settings-body{padding:0 10px 11px}
  .jkp-bfv-actions .jkp-btn{flex:1 1 150px;min-height:42px}
}


/* =========================================================
   0.2.73 – BFV-Spielstätten-Zuordnung + Heim/Auswärts-Farblogik
   ========================================================= */
.jkp-cal-event.is-match{
  border-color:color-mix(in srgb,var(--jkp-team-color) 38%,#dce4e8)!important;
  border-left:6px solid var(--jkp-team-color)!important;
  background:color-mix(in srgb,var(--jkp-team-color) 16%,#fff)!important;
  box-shadow:inset 0 -4px 0 var(--jkp-venue-color),0 1px 4px rgba(33,54,73,.08)!important;
}
.jkp-cal-event.is-match strong{color:color-mix(in srgb,var(--jkp-team-color) 72%,#172b3a)!important;font-weight:950}
.jkp-cal-event.is-match.is-home{background:color-mix(in srgb,var(--jkp-team-color) 22%,#fff)!important}
.jkp-cal-event.is-match.is-away{
  background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--jkp-team-color) 13%,#fff) 0 8px,color-mix(in srgb,var(--jkp-team-color) 4%,#fff) 8px 16px)!important;
  border-left-style:dashed!important;
}
.jkp-cal-sidebadge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;font-size:8px;font-weight:950;line-height:1;vertical-align:middle;border:1px solid color-mix(in srgb,var(--jkp-team-color,#246a9a) 55%,#fff);color:#fff;background:var(--jkp-team-color,#246a9a)}
.jkp-cal-sidebadge.is-away{color:var(--jkp-team-color,#246a9a);background:#fff;border-style:dashed;border-width:2px}
.jkp-cal-sidebadge.is-neutral{color:#4c5d69;background:#fff;border-color:#8d9aa3}
.jkp-calendar-matchlegend{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap}.jkp-side-swatch{display:inline-flex!important;align-items:center;justify-content:center!important;width:19px!important;height:19px!important;border-radius:999px!important;font-size:8px!important;font-style:normal!important;font-weight:950!important;background:#246a9a!important;color:#fff!important}.jkp-side-swatch.is-away{background:#fff!important;color:#246a9a!important;border:2px dashed #246a9a!important}
.jkp-prep-event.is-match{border-color:color-mix(in srgb,var(--jkp-team-color) 35%,#dce4e8)!important;border-left:5px solid var(--jkp-team-color)!important;background:color-mix(in srgb,var(--jkp-team-color) 18%,#fff)!important}
.jkp-prep-event.is-match b{color:color-mix(in srgb,var(--jkp-team-color) 72%,#172b3a)!important}.jkp-prep-event.is-match.is-home{background:color-mix(in srgb,var(--jkp-team-color) 23%,#fff)!important}.jkp-prep-event.is-match.is-away{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--jkp-team-color) 12%,#fff) 0 8px,color-mix(in srgb,var(--jkp-team-color) 3%,#fff) 8px 16px)!important;border-left-style:dashed!important}
.jkp-calendar-listtable tr.is-match td{background:color-mix(in srgb,var(--jkp-team-color) 10%,#fff)!important}.jkp-calendar-listtable tr.is-match td:first-child{box-shadow:inset 5px 0 0 var(--jkp-team-color)!important}.jkp-calendar-listtable tr.is-match td:nth-child(4) b{color:color-mix(in srgb,var(--jkp-team-color) 72%,#172b3a)!important}.jkp-calendar-listtable tr.is-match.is-home td{background:color-mix(in srgb,var(--jkp-team-color) 15%,#fff)!important}.jkp-calendar-listtable tr.is-match.is-away td{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--jkp-team-color) 8%,#fff) 0 10px,#fff 10px 20px)!important}
.jkp-bfv-grid label>small{font-size:9px;line-height:1.35;color:#6d7c87}
.jkp-bfv-venue-map{margin-top:12px;padding:10px;border:1px solid rgba(36,106,154,.16);border-radius:10px;background:rgba(255,255,255,.72)}
.jkp-bfv-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.jkp-bfv-map-head>div{display:flex;flex-direction:column;gap:2px}.jkp-bfv-map-head b{font-size:11px}.jkp-bfv-map-head small{max-width:760px;font-size:9px;line-height:1.35;color:#687985}.jkp-bfv-map-head>span{display:inline-flex;white-space:nowrap;padding:3px 7px;border-radius:999px;background:rgba(36,106,154,.09);font-size:9px;font-weight:850;color:#246a9a}
.jkp-bfv-map-list{display:flex;flex-direction:column;gap:6px}.jkp-bfv-map-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,.8fr);gap:8px;align-items:center;padding:7px 8px;border:1px solid #e2e9ed;border-radius:8px;background:#fff}.jkp-bfv-map-row>div{min-width:0;display:flex;flex-direction:column;gap:1px}.jkp-bfv-map-row b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-bfv-map-row small{font-size:8px;color:#76858f}.jkp-bfv-map-row select{width:100%;min-height:36px}.jkp-bfv-map-empty{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding:8px 10px;border-radius:9px;background:rgba(36,106,154,.06)}.jkp-bfv-map-empty b{font-size:10px}.jkp-bfv-map-empty span{font-size:9px;color:#6b7a85}
@media(max-width:700px){.jkp-bfv-map-row{grid-template-columns:1fr}.jkp-bfv-map-row b{white-space:normal}.jkp-bfv-map-head{flex-direction:column}.jkp-bfv-map-row select{min-height:42px}}


/* =========================================================
   0.2.75 – Heim/Auswärts direkt und eindeutig am Spieleintrag
   ========================================================= */
.jkp-cal-sidebadge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  width:auto!important;
  min-width:0!important;
  height:16px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  font-size:7px!important;
  font-weight:950!important;
  letter-spacing:0!important;
  line-height:1!important;
  vertical-align:middle!important;
}
.jkp-cal-sidebadge>span:first-child{font-size:9px!important;line-height:1!important}
.jkp-cal-sidebadge.is-home{color:#fff!important;background:var(--jkp-team-color,#246a9a)!important;border:1px solid color-mix(in srgb,var(--jkp-team-color,#246a9a) 65%,#fff)!important}
.jkp-cal-sidebadge.is-away{color:var(--jkp-team-color,#246a9a)!important;background:#fff!important;border:1.5px dashed var(--jkp-team-color,#246a9a)!important}
.jkp-cal-sidebadge.is-neutral{color:#4c5d69!important;background:#fff!important;border:1px solid #8d9aa3!important}
.jkp-calendar-matchlegend .jkp-side-swatch{width:auto!important;min-width:28px!important;height:20px!important;padding:0 6px!important;border-radius:999px!important;font-size:10px!important}
.jkp-calendar-listtable .jkp-cal-sidebadge{margin-right:4px!important}
@media(max-width:760px){
  .jkp-cal-sidebadge{height:15px!important;padding:0 4px!important;font-size:6px!important;gap:1px!important}
  .jkp-cal-sidebadge>span:first-child{font-size:8px!important}
  .jkp-prep-event .jkp-cal-sidebadge{height:15px!important}
}


/* 0.2.76 – BFV-Spielort-Regeln immer direkt pflegbar */
.jkp-bfv-manual-map{margin-top:12px;padding-top:11px;border-top:1px dashed #cfdbe2}
.jkp-bfv-map-row.is-manual>div label{display:flex;flex-direction:column;gap:3px;margin:0}
.jkp-bfv-map-row.is-manual>div label>span{font-size:8px;font-weight:850;color:#667985;text-transform:uppercase;letter-spacing:.035em}
.jkp-bfv-map-row.is-manual input[type=text]{width:100%;min-height:36px}
.jkp-bfv-map-empty.is-warning{background:rgba(214,143,25,.09);border:1px solid rgba(214,143,25,.18)}
@media(max-width:700px){.jkp-bfv-manual-map{margin-top:10px}.jkp-bfv-map-row.is-manual input[type=text],.jkp-bfv-map-row.is-manual select{min-height:44px;font-size:16px}}


/* =========================================================
   0.2.78 – garantierte Spielkennzeichnung + mobile Kalenderbedienung
   ========================================================= */
.jkp-cal-main{
  display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;
}
.jkp-cal-main>strong{
  flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.jkp-cal-matchicon{flex:0 0 auto;font-size:10px;line-height:1}
.jkp-cal-bfvbadge,.jkp-cal-seriesicon{flex:0 0 auto}
.jkp-cal-sidebadge{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 auto!important;width:auto!important;min-width:0!important;height:20px!important;
  padding:0 7px!important;gap:4px!important;border-radius:999px!important;white-space:nowrap!important;
  font-size:9px!important;font-weight:950!important;line-height:1!important;vertical-align:middle!important;
  box-shadow:0 1px 2px rgba(25,45,60,.12)!important;
}
.jkp-cal-sidebadge .jkp-side-icon{display:block!important;width:12px!important;height:12px!important;flex:0 0 12px!important}
.jkp-cal-sidebadge.is-home{color:#fff!important;background:var(--jkp-team-color,#246a9a)!important;border:1px solid color-mix(in srgb,var(--jkp-team-color,#246a9a) 65%,#fff)!important}
.jkp-cal-sidebadge.is-away{color:var(--jkp-team-color,#246a9a)!important;background:#fff!important;border:2px dashed var(--jkp-team-color,#246a9a)!important}
.jkp-cal-sidebadge.is-neutral{color:#4c5d69!important;background:#fff!important;border:1px solid #8d9aa3!important}
.jkp-cal-sidebadge.is-unknown{color:#6b4a00!important;background:#fff4c7!important;border:1px solid #d49b23!important}
.jkp-cal-event.is-match.is-side-unknown{border-left-color:#d49b23!important}
.jkp-prep-main{display:flex!important;align-items:center;gap:3px;min-width:0}
.jkp-prep-main .jkp-prep-title{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jkp-calendar-listtable tr[hidden]{display:none!important}
.jkp-calendar-filter-all[aria-pressed="true"],.jkp-calendar-filter-none[aria-pressed="true"]{box-shadow:inset 0 0 0 2px currentColor;background:#f2f7fb}

@media(max-width:760px){
  /* Die beiden früher übereinanderliegenden Sticky-Leisten blockierten auf manchen
     Mobilbrowsern die Touch-Ziele. Auf Mobilgeräten bleiben sie deshalb im normalen
     Dokumentfluss. */
  .jkp-calendar-mode-tabs,.jkp-calendar-toolbar{position:relative!important;top:auto!important;z-index:2!important}
  .jkp-calendar-toolbar{overflow:visible!important}
  .jkp-calendar-nav{display:grid!important;grid-template-columns:44px 58px 44px minmax(0,1fr)!important;gap:5px!important;width:100%!important}
  .jkp-calendar-nav .jkp-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:44px!important;min-height:44px!important;padding:5px!important;font-size:18px!important;touch-action:manipulation;position:relative;z-index:3}
  .jkp-calendar-nav [data-cal-today]{font-size:9px!important;padding:5px 7px!important}
  .jkp-calendar-nav strong{align-self:center!important;font-size:12px!important;line-height:1.15!important;text-align:right!important;white-space:normal!important}
  .jkp-calendar-views{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible!important;width:100%!important;gap:3px!important}
  .jkp-calendar-views button{min-height:42px!important;padding:5px 3px!important;font-size:8px!important;touch-action:manipulation}
  .jkp-calendar-filters{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:7px!important;overflow:visible!important}
  .jkp-calendar-filter-actions{order:1!important;display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;margin:0!important;gap:6px!important}
  .jkp-calendar-filter-all,.jkp-calendar-filter-none{width:100%!important;min-height:44px!important;font-size:10px!important;padding:7px!important;touch-action:manipulation}
  .jkp-calendar-teamfilters{order:2!important;width:100%!important;max-width:100%!important;padding:2px 0 4px!important}
  .jkp-calendar-teamchip{min-height:40px!important;padding:6px 9px!important;touch-action:manipulation}
  .jkp-calendar-host{touch-action:pan-y;overscroll-behavior-x:contain}
  .jkp-cal-event{grid-template-columns:auto minmax(0,1fr)!important}
  .jkp-cal-event .jkp-cal-team{display:none!important}
  .jkp-cal-main{gap:3px}
  .jkp-cal-sidebadge{height:19px!important;padding:0 6px!important;font-size:8px!important;gap:3px!important}
  .jkp-cal-sidebadge .jkp-side-icon{width:11px!important;height:11px!important;flex-basis:11px!important}
  .jkp-calendar-listtable tr[hidden]{display:none!important}
}
@media(max-width:430px){
  .jkp-cal-event{grid-template-columns:minmax(0,1fr)!important}
  .jkp-cal-time,.jkp-cal-team{display:none!important}
  .jkp-cal-main{width:100%;gap:2px}
  .jkp-cal-sidebadge{height:18px!important;padding:0 5px!important;font-size:7px!important}
  .jkp-cal-bfvbadge{font-size:7px!important;padding:1px 3px!important}
}

/* 0.2.81 – Schnellfilter für Heim/Auswärts und Vereins-Spielorte */
.jkp-calendar-filters{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(210px,.8fr) minmax(280px,1.2fr);align-items:start;gap:8px}
.jkp-calendar-filtergroup{min-width:0;padding:7px;border:1px solid #e2e8ec;border-radius:9px;background:#fff}
.jkp-calendar-filterhead{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:6px}
.jkp-calendar-filterhead>b{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;color:#566875}
.jkp-calendar-filtergroup .jkp-calendar-filter-actions{margin-left:auto}
.jkp-calendar-sidefilters,.jkp-calendar-venuefilters{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}
.jkp-calendar-sidechip,.jkp-calendar-venuechip{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:4px 8px;border:1px solid #dbe4e9;border-radius:999px;background:#f9fbfc;color:#445762;font-size:9px;font-weight:850;cursor:pointer;user-select:none;transition:.12s ease}
.jkp-calendar-sidechip input,.jkp-calendar-venuechip input{position:absolute;opacity:0;pointer-events:none}
.jkp-calendar-sidechip:has(input:checked),.jkp-calendar-venuechip:has(input:checked){background:#fff;border-color:#aebfc9;box-shadow:0 1px 4px rgba(34,55,70,.08)}
.jkp-calendar-sidechip:not(:has(input:checked)),.jkp-calendar-venuechip:not(:has(input:checked)){opacity:.42;filter:saturate(.45)}
.jkp-calendar-sidechip .jkp-filter-side-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:6px;font-size:11px;font-weight:950}
.jkp-calendar-sidechip.is-home .jkp-filter-side-icon{background:#e7f4ea;color:#20743a}
.jkp-calendar-sidechip.is-away .jkp-filter-side-icon{background:#eef4fb;color:#2b69a0}
.jkp-calendar-sidechip.is-neutral .jkp-filter-side-icon{background:#f1f3f5;color:#65747f}
.jkp-calendar-venuechip>span{width:11px;height:11px;border-radius:50%;background:var(--jkp-venue-color,#7c8797);box-shadow:0 0 0 2px color-mix(in srgb,var(--jkp-venue-color,#7c8797) 18%,#fff)}
.jkp-calendar-venuechip.is-none>span{background:transparent;border:2px dashed #8a98a3;box-shadow:none}
.jkp-calendar-card[data-cal-mode="prep"] .jkp-calendar-filtergroup.is-teams{display:none}

@media(max-width:1050px){
  .jkp-calendar-filters{grid-template-columns:1fr 1fr}.jkp-calendar-filtergroup.is-teams{grid-column:1/-1}
}
@media(max-width:760px){
  .jkp-calendar-filters{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .jkp-calendar-filtergroup{padding:7px!important}
  .jkp-calendar-filtergroup.is-teams{order:1}.jkp-calendar-filtergroup.is-side{order:2}.jkp-calendar-filtergroup.is-venues{order:3}
  .jkp-calendar-filterhead{margin-bottom:7px}.jkp-calendar-filterhead>b{font-size:10px}
  .jkp-calendar-filtergroup .jkp-calendar-filter-actions{display:flex!important;width:auto!important;margin-left:auto!important;gap:4px!important;order:initial!important;grid-template-columns:none!important}
  .jkp-calendar-filtergroup .jkp-calendar-filter-all,.jkp-calendar-filtergroup .jkp-calendar-filter-none{width:auto!important;min-height:34px!important;padding:5px 9px!important;font-size:9px!important}
  .jkp-calendar-sidefilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .jkp-calendar-sidechip{justify-content:center;min-height:42px;border-radius:9px;padding:6px 5px;font-size:9px}
  .jkp-calendar-venuefilters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .jkp-calendar-venuechip{min-width:0;min-height:40px;border-radius:9px;padding:6px 8px}
  .jkp-calendar-venuechip b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .jkp-calendar-teamfilters{order:initial!important}
}
@media(max-width:430px){
  .jkp-calendar-sidefilters{grid-template-columns:1fr 1fr}.jkp-calendar-sidechip.is-neutral{grid-column:1/-1}
  .jkp-calendar-venuefilters{grid-template-columns:1fr}
}

/* 0.2.83 – App/Mobil: volle nutzbare Breite ohne horizontale Verschiebung */
@media(max-width:780px){
  html:has(.jkp-wrap.jkp-frontendportal),
  body:has(.jkp-wrap.jkp-frontendportal){max-width:100%!important;overflow-x:hidden!important}
  .jkp-wrap.jkp-frontendportal{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:max(6px,env(safe-area-inset-left))!important;
    padding-right:max(6px,env(safe-area-inset-right))!important;
  }
  main:has(.jkp-wrap.jkp-frontendportal),
  .wp-site-blocks:has(.jkp-wrap.jkp-frontendportal),
  .wp-block-group:has(.jkp-wrap.jkp-frontendportal),
  .wp-block-post-content:has(.jkp-wrap.jkp-frontendportal),
  .entry-content:has(.jkp-wrap.jkp-frontendportal){
    box-sizing:border-box!important;
    max-width:none!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .jkp-cal-event .jkp-cal-team{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:24px!important;
    max-width:48px!important;
    min-height:17px!important;
    padding:2px 5px!important;
    border:1px solid color-mix(in srgb,var(--jkp-team-color) 48%,#fff)!important;
    border-radius:999px!important;
    background:color-mix(in srgb,var(--jkp-team-color) 16%,#fff)!important;
    color:var(--jkp-team-color)!important;
    font-size:9px!important;
    font-weight:950!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .jkp-cal-month .jkp-cal-event,
  .jkp-cal-month.is-compact .jkp-cal-event{
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:3px!important;
    row-gap:2px!important;
    min-height:35px!important;
    padding-top:4px!important;
  }
  .jkp-cal-month .jkp-cal-event .jkp-cal-team,
  .jkp-cal-month.is-compact .jkp-cal-event .jkp-cal-team{
    grid-column:1!important;
    grid-row:1!important;
    display:inline-flex!important;
  }
  .jkp-cal-month .jkp-cal-event .jkp-cal-time,
  .jkp-cal-month.is-compact .jkp-cal-event .jkp-cal-time{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    font-size:7px!important;
  }
  .jkp-cal-month .jkp-cal-event .jkp-cal-main,
  .jkp-cal-month.is-compact .jkp-cal-event .jkp-cal-main{
    grid-column:1/-1!important;
    grid-row:2!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:2px!important;
  }
  .jkp-cal-month .jkp-cal-event strong,
  .jkp-cal-month.is-compact .jkp-cal-event strong{
    font-size:7.5px!important;
    min-width:0!important;
  }
  .jkp-cal-weekday .jkp-cal-event .jkp-cal-team{font-size:10px!important;min-height:19px!important;min-width:28px!important}
}

/* 0.2.84 – klare Bearbeitungsanzeige Anwesenheit */
.jkp-att-permission-note{display:flex;align-items:flex-start;gap:8px;margin:4px 0 8px;padding:8px 10px;border:1px solid rgba(245,158,11,.28);border-radius:9px;background:rgba(245,158,11,.08);font-size:10px}
.jkp-att-permission-note b{white-space:nowrap}.jkp-att-permission-note span{opacity:.72}
@media(max-width:700px){.jkp-att-permission-note{flex-direction:column;gap:2px;font-size:11px}.jkp-att-segments span{font-size:11px;font-weight:800}}

/* 0.2.85 – Anwesenheit als klar sichtbare Schnellerfassung */
.jkp-attendance-capture{border:2px solid rgba(15,118,110,.20);box-shadow:0 8px 24px rgba(15,118,110,.06)}
.jkp-attendance-capture-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.jkp-attendance-capture-head h3{margin:0 0 4px}.jkp-attendance-capture-head p{margin:0;opacity:.72}
.jkp-attendance-edit-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:rgba(34,197,94,.13);color:#166534;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.jkp-attendance-training-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:10px 0 12px}.jkp-attendance-training-picker label{min-width:0}.jkp-attendance-training-picker select{width:100%;min-height:42px}
.jkp-att-empty,.jkp-attendance-empty{padding:12px;border:1px solid rgba(245,158,11,.28);border-radius:10px;background:rgba(245,158,11,.07)}.jkp-att-empty{display:flex;flex-direction:column;gap:3px;margin-top:8px}.jkp-att-empty span{font-size:11px;opacity:.72}
@media(max-width:700px){.jkp-attendance-capture{padding:12px}.jkp-attendance-capture-head{align-items:center}.jkp-attendance-training-picker{grid-template-columns:1fr}.jkp-attendance-training-picker .jkp-btn{width:100%;min-height:44px}.jkp-attendance-edit-badge{font-size:9px}.jkp-attendance-capture .jkp-att-quick{border-top:0;padding-top:0}.jkp-attendance-capture .jkp-att-segments span{min-height:46px}}

/* 0.2.86 – externe iCal-Kalender und Busverwaltung */
.jkp-calendar-filtergroup.is-external{min-width:220px}
.jkp-calendar-externalfilters{display:flex;flex-wrap:wrap;gap:6px}
.jkp-calendar-externalchip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #d8e0e6;border-radius:999px;background:#fff;cursor:pointer;font-size:10px;font-weight:800;max-width:100%}
.jkp-calendar-externalchip input{position:absolute;opacity:0;pointer-events:none}.jkp-calendar-externalchip>span{width:9px;height:9px;border-radius:50%;background:var(--jkp-external-color,#64748b);box-shadow:0 0 0 2px color-mix(in srgb,var(--jkp-external-color,#64748b) 18%,transparent)}
.jkp-calendar-externalchip:has(input:not(:checked)){opacity:.42;filter:grayscale(.6)}
.jkp-cal-event.is-external{border-left-color:var(--jkp-team-color,#64748b);background:color-mix(in srgb,var(--jkp-team-color,#64748b) 9%,#fff)}
.jkp-cal-externalbadge,.jkp-cal-busbadge{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:1px 5px;font-size:8px!important;font-weight:900;line-height:1.35;white-space:nowrap}
.jkp-cal-externalbadge{background:#eef2f6;color:#334155;border:1px solid #cbd5e1}.jkp-cal-busbadge{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.jkp-calendar-resources{margin-top:10px!important}.jkp-calendar-resources>summary{cursor:pointer;font-weight:900;font-size:11px;color:#29465c}
.jkp-calendar-resourcegrid{display:grid;grid-template-columns:1.25fr .9fr;gap:18px;margin-top:12px}.jkp-calendar-resourcegrid h3{margin:0 0 4px!important;font-size:14px!important}
.jkp-external-cal-row,.jkp-calendar-bus-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf1f4}.jkp-calendar-bus-row{grid-template-columns:12px minmax(0,1fr) auto}.jkp-external-cal-row>i,.jkp-calendar-bus-row>i{width:10px;height:10px;border-radius:50%}.jkp-external-cal-row div,.jkp-calendar-bus-row div{min-width:0}.jkp-external-cal-row b,.jkp-calendar-bus-row b{display:block;font-size:11px}.jkp-external-cal-row small,.jkp-calendar-bus-row small{display:block;font-size:9px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jkp-external-cal-form,.jkp-calendar-bus-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #e6ebef}.jkp-external-cal-form label,.jkp-calendar-bus-form label{display:flex;flex-direction:column;gap:3px}.jkp-external-cal-form label>span,.jkp-calendar-bus-form label>span{font-size:9px;font-weight:800;color:#52606d}.jkp-external-cal-form .jkp-wide{grid-column:1/-1}.jkp-external-cal-form button,.jkp-calendar-bus-form button{align-self:end}
.jkp-calendar-view-resource{margin-top:12px;padding:10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.jkp-calendar-view-resource form{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:7px;align-items:end}.jkp-calendar-view-resource label{display:flex;flex-direction:column;gap:3px}.jkp-calendar-view-resource label>span{font-size:9px;font-weight:800;color:#52606d}
.jkp-calendar-busfield small{display:block;color:#7c8797;font-size:8px;margin-top:2px}
@media(max-width:900px){.jkp-calendar-resourcegrid{grid-template-columns:1fr}.jkp-calendar-view-resource form{grid-template-columns:1fr 1fr}.jkp-calendar-view-resource form label:first-of-type{grid-column:1/-1}.jkp-external-cal-form,.jkp-calendar-bus-form{grid-template-columns:1fr}.jkp-external-cal-form .jkp-wide{grid-column:auto}.jkp-calendar-externalchip{min-height:38px;font-size:11px}.jkp-external-cal-row{grid-template-columns:12px minmax(0,1fr) auto}.jkp-external-cal-row form:last-child{grid-column:2/-1;justify-self:start}.jkp-cal-externalbadge{max-width:130px;overflow:hidden;text-overflow:ellipsis}}


/* 0.2.87 – Kalender als einzige Trainingsquelle + automatische Busreservierung */
.jkp-training-calendar-source{display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:4px solid #246a9a}.jkp-training-calendar-source h3{margin:0 0 4px}.jkp-training-calendar-source p{margin:0;max-width:850px}.jkp-training-calendar-source .jkp-btn{white-space:nowrap}.jkp-calendar-view-resource small{display:block;margin-top:3px;font-size:9px;color:#64748b;line-height:1.35}
@media(max-width:700px){.jkp-training-calendar-source{align-items:stretch;flex-direction:column}.jkp-training-calendar-source .jkp-btn{width:100%;text-align:center}.jkp-calendar-dialog-actions [data-cal-view-attendance]{width:100%;justify-content:center}.jkp-calendar-dialog-actions:has([data-cal-view-attendance]:not([hidden])){grid-template-columns:1fr}}

/* 0.2.91 – Kalender-Zeiten, Training-Untermenüs und Umfragen */
/* Wochenansicht: genau eine Zeitangabe, immer Beginn–Ende, ohne Zusatz „Uhr“. */
.jkp-cal-range{display:none}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-range{
  display:inline-flex!important;align-items:center;grid-column:1/-1;
  width:max-content;max-width:100%;padding:4px 7px;border:1px solid #cfdce4;
  border-radius:8px;background:#fff;color:#243b4c;font-size:10px;font-weight:950;
  line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-time{display:none!important}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event{
  grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;gap:4px 6px;min-height:58px;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-team{grid-column:1;grid-row:2;align-self:start}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-main{grid-column:2;grid-row:2;min-width:0}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-detail{grid-column:1/-1;grid-row:3}

/* Desktop-Monat: ebenfalls vollständige Zeitspanne. Mehrmonatsansichten bleiben kompakt. */
.jkp-calendar-card[data-cal-view="month"] .jkp-cal-month:not(.is-compact) .jkp-cal-time{
  display:inline-flex!important;font-size:7.5px!important;font-weight:950!important;white-space:nowrap!important;
  font-variant-numeric:tabular-nums;color:#425766;
}
.jkp-cal-detail{color:#667782!important}

/* Platz/Spielstätte ist in den Kalenderkacheln absichtlich nicht mehr die zweite Zeile.
   Stattdessen zeigt JS Gegner, Heim/Auswärts, Bus oder eine kurze Terminnotiz. */

/* Training-Untermenü */
.jkp-training-subnav{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px;padding:6px;border:1px solid #dfe7ec;border-radius:12px;background:rgba(255,255,255,.92)}
.jkp-training-subnav-item{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border:1px solid transparent;border-radius:9px;color:#425766!important;text-decoration:none!important;font-size:11px;font-weight:850;transition:.12s ease}
.jkp-training-subnav-item>span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:7px;background:#eef3f6;font-weight:950}
.jkp-training-subnav-item:hover{background:#f1f6f9;border-color:#c9d8e1;color:#1f587d!important}
.jkp-training-subnav-item.is-active{background:#1f6fae;border-color:#1f6fae;color:#fff!important;box-shadow:0 3px 10px rgba(31,111,174,.16)}
.jkp-training-subnav-item.is-active>span{background:rgba(255,255,255,.18)}

/* Umfragen & WhatsApp-Nachrichten */
.jkp-poll-create{border-left:4px solid #1f6fae}
.jkp-poll-head,.jkp-poll-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.jkp-poll-head h3,.jkp-poll-card h3{margin:0 0 4px}.jkp-poll-head p,.jkp-poll-card-head p{margin:0;color:#63717c}
.jkp-poll-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f4fb;color:#1f587d;font-size:9px;font-weight:900;white-space:nowrap}
.jkp-poll-create-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.55fr) auto;gap:9px;align-items:end;margin-top:14px}
.jkp-poll-create-form .jkp-wide{grid-column:1/-1}.jkp-poll-create-form label{display:flex;flex-direction:column;gap:4px}.jkp-poll-create-form label>span{font-size:9px;font-weight:850;color:#556773}
.jkp-poll-deadline-note{font-size:9px;line-height:1.35;color:#60717c}
.jkp-poll-testtoggle{display:flex!important;flex-direction:row!important;align-items:center!important;min-height:42px;padding:7px 9px;border:1px solid #dce4e9;border-radius:9px;background:#fafcfd}.jkp-poll-testtoggle input{width:18px;height:18px;margin:0}.jkp-poll-testtoggle span{display:flex;flex-direction:column}.jkp-poll-testtoggle small{font-size:8px;font-weight:600;color:#71808b}
.jkp-poll-list{display:grid;gap:10px;margin-top:10px}.jkp-poll-card.is-test{border-color:#e6c56a;background:linear-gradient(180deg,#fffdf7,#fff)}
.jkp-poll-badges{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:5px}.jkp-poll-badges span{display:inline-flex;padding:3px 6px;border-radius:999px;background:#eef3f6;color:#4b5f6c;font-size:8px;font-weight:900}.jkp-poll-badges .is-test{background:#fff0b8;color:#765400}
.jkp-poll-rate{text-align:right;white-space:nowrap}.jkp-poll-rate b{display:block;font-size:19px;color:#173e5d}.jkp-poll-rate span{font-size:8px;color:#71808b;font-weight:800}
.jkp-poll-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.jkp-poll-link{display:grid;gap:3px}.jkp-poll-link input{width:100%;min-height:36px;font-size:10px}.jkp-poll-link small{font-size:8px;color:#71808b}
.jkp-poll-results,.jkp-poll-pins{margin-top:9px;border-top:1px solid #e8edf0;padding-top:8px}.jkp-poll-results>summary,.jkp-poll-pins>summary{cursor:pointer;font-size:10px;font-weight:900;color:#29465c}
.jkp-poll-response-list,.jkp-poll-pin-grid{display:grid;gap:4px;margin-top:8px}.jkp-poll-response-list>div,.jkp-poll-pin-grid>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:8px;background:#f7f9fa;font-size:9px}.jkp-poll-response-list span{color:#5f6e79;text-align:right}.jkp-poll-pin-grid b{font-size:12px;letter-spacing:.08em}
.jkp-poll-pin-form{margin-top:8px}.jkp-poll-pin-grid>div{flex-wrap:wrap}.jkp-poll-pin-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.jkp-poll-pin-actions .jkp-btn{padding:5px 8px;min-height:30px}.jkp-poll-pin-all{display:flex;justify-content:flex-end;margin-top:9px;padding-top:8px;border-top:1px solid #e8edf0}
.jkp-poll-admin-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.jkp-poll-admin-actions form{margin:0}

@media(max-width:760px){
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event{
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;
    min-height:64px!important;padding:7px 8px 8px 9px!important;column-gap:6px!important;row-gap:4px!important;
  }
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-range{
    grid-column:1/-1!important;grid-row:1!important;display:inline-flex!important;min-height:28px!important;
    padding:5px 8px!important;font-size:11px!important;border-width:2px!important;
  }
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-team{grid-column:1!important;grid-row:2!important;display:inline-flex!important}
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-main{grid-column:2!important;grid-row:2!important;display:flex!important;flex-wrap:wrap!important;gap:3px!important}
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-detail{grid-column:1/-1!important;grid-row:3!important;display:block!important;font-size:9px!important;line-height:1.2!important}
  .jkp-training-subnav{display:grid;grid-template-columns:1fr;margin-bottom:10px}.jkp-training-subnav-item{min-height:45px;font-size:12px}
  .jkp-poll-create-form{grid-template-columns:1fr}.jkp-poll-create-form .jkp-wide{grid-column:auto}.jkp-poll-create-form .jkp-btn{width:100%;min-height:44px}
  .jkp-poll-head,.jkp-poll-card-head{align-items:center}.jkp-poll-actions{display:grid;grid-template-columns:1fr}.jkp-poll-actions .jkp-btn{width:100%;justify-content:center;text-align:center}.jkp-poll-rate b{font-size:17px}
  .jkp-poll-response-list>div{align-items:flex-start;flex-direction:column}.jkp-poll-response-list span{text-align:left}
  .jkp-calendar-dialog-actions:has([data-cal-view-poll]:not([hidden])){grid-template-columns:1fr!important}.jkp-calendar-dialog-actions [data-cal-view-poll]{width:100%;justify-content:center}
}
@media(max-width:430px){
  /* Monatsansicht auf sehr kleinen Displays: Zeit bleibt sichtbar; Mannschaft steht daneben. */
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-month:not(.is-compact) .jkp-cal-time{display:inline-flex!important;font-size:6.5px!important}
}
.jkp-external-import-section{min-width:0}.jkp-external-import-card{margin:14px 0;padding:14px;border:1px solid #dbe3ee;border-radius:13px;background:#f8fafc}.jkp-external-import-head{display:grid;grid-template-columns:10px minmax(180px,1fr) auto;align-items:center;gap:10px}.jkp-external-import-head>i{width:10px;height:44px;border-radius:999px}.jkp-external-import-head b,.jkp-external-import-head small{display:block}.jkp-external-import-head small{color:#667085}.jkp-external-import-counts{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.jkp-external-import-counts span{padding:4px 7px;border-radius:999px;background:#eaf0f8;color:#274b72;font-size:11px;font-weight:800}.jkp-external-import-status{margin:8px 0;color:#667085;font-size:12px}.jkp-external-import-settings{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.35fr) auto;align-items:end;gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid #e4e9f0}.jkp-external-import-settings>label{display:flex;flex-direction:column;gap:5px}.jkp-external-import-settings select{min-height:40px;border:1px solid #cfd8e5;border-radius:8px;background:#fff;padding:7px}.jkp-external-import-settings .jkp-external-auto-toggle{display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px 10px;border:1px solid #dbe3ee;border-radius:9px;background:#fff}.jkp-external-auto-toggle input{width:20px;height:20px}.jkp-external-auto-toggle span,.jkp-external-auto-toggle b,.jkp-external-auto-toggle small{display:block}.jkp-external-auto-toggle small{color:#667085;font-size:11px}.jkp-external-import-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.jkp-external-import-actions form{margin:0}.jkp-external-preview{margin-top:10px;border-top:1px solid #e4e9f0;padding-top:9px}.jkp-external-preview>summary{cursor:pointer;font-weight:850}.jkp-external-preview-table small{display:block;color:#667085;margin-top:2px}.jkp-external-preview-table tr.is-unmatched,.jkp-external-preview-table tr.is-ignored,.jkp-external-preview-table tr.is-duplicate{opacity:.72}.jkp-external-preview-status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef2f6;color:#475467;font-size:11px;font-weight:850;white-space:nowrap}.jkp-external-preview-status.is-ready{background:#e8f7ef;color:#17663b}.jkp-external-preview-status.is-imported{background:#e8f1ff;color:#174b8a}.jkp-external-preview-status.is-excluded{background:#fff0f0;color:#9b1c1c}.jkp-external-preview-status.is-duplicate{background:#fff6e5;color:#8a5a00}.jkp-external-preview-table td:last-child form{margin:0}.jkp-badge.is-warning{background:#fff6e5;color:#8a5a00}
/* 0.2.106 – nicht zuordenbare externe Termine als Gastbelegung */
.jkp-external-import-counts span.is-guest,.jkp-external-preview-status.is-guest{background:#f2edff;color:#5b3b93}.jkp-external-preview-table tr.is-guest{opacity:1;background:#fbf9ff}.jkp-cal-event.is-external.jkp-cal-type-other{border-left-color:var(--jkp-team-color,#7655a6);background:color-mix(in srgb,var(--jkp-team-color,#7655a6) 10%,#fff)}
@media(max-width:780px){.jkp-external-import-head{grid-template-columns:8px 1fr}.jkp-external-import-counts{grid-column:2;justify-content:flex-start}.jkp-external-import-settings{grid-template-columns:1fr}.jkp-external-preview-table{min-width:900px}}
.jkp-external-import-section{grid-column:1/-1}
.jkp-pool-player.is-already-planned{opacity:.52;filter:saturate(.72)}
.jkp-pool-player.is-already-planned:hover{opacity:.76;filter:saturate(.9)}
.jkp-pool-player.is-already-planned.is-selected{opacity:1;filter:none}
.jkp-pool-planned-legend{display:flex;align-items:center;gap:7px;margin:7px 0 9px;padding:6px 8px;border-radius:8px;background:#f4f7fa;color:#607084;font-size:10px;line-height:1.35}
.jkp-pool-planned-legend i{width:24px;height:13px;border:1px solid #cfd9e5;border-radius:5px;background:#f9fbfd;opacity:.52}

/* 0.2.104 – dreistufige Spielerbewertung nach der Scouting-Vorlage */
.jkp-evaluation-field{min-width:0;margin:12px 0 4px;padding:0;border:1px solid #d7e1e9;border-radius:13px;background:#f8fafc;overflow:hidden}.jkp-evaluation-field>legend{margin-left:12px;padding:0 7px;color:#173b5b;font-size:12px;font-weight:950}.jkp-evaluation-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #dfe7ed;background:#fff}.jkp-evaluation-intro b,.jkp-evaluation-intro span{display:block}.jkp-evaluation-intro b{color:#193b58;font-size:12px}.jkp-evaluation-intro span{margin-top:2px;color:#697987;font-size:9px}.jkp-evaluation-intro>strong{padding:5px 8px;border-radius:999px;background:#eaf2f8;color:#245777;font-size:10px;white-space:nowrap}.jkp-evaluation-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.jkp-evaluation-group{min-width:0;border:1px solid #d9e2e9;border-radius:10px;background:#fff;overflow:hidden}.jkp-evaluation-group h4{margin:0;padding:8px 10px;background:#1f3548;color:#fff;font-size:10px;font-weight:950;letter-spacing:.035em;text-transform:uppercase}.jkp-evaluation-scale,.jkp-evaluation-row{display:grid;grid-template-columns:minmax(140px,1fr) 42px 42px 42px 24px;align-items:center;gap:3px}.jkp-evaluation-scale{padding:5px 8px 3px;color:#778591;font-size:7px;font-weight:850;text-align:center}.jkp-evaluation-scale i{font-style:normal}.jkp-evaluation-row{min-height:42px;padding:5px 8px;border-top:1px solid #e6ebef}.jkp-evaluation-row>span{padding-right:6px;color:#293f51;font-size:10px;font-weight:750;line-height:1.25}.jkp-evaluation-options{display:contents}.jkp-evaluation-options label{display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;cursor:pointer}.jkp-evaluation-options input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.jkp-evaluation-options label>span{display:flex;align-items:center;justify-content:center;width:34px;height:30px;border:1px solid #cfd9e1;border-radius:8px;background:#f8fafb;color:#798895;transition:.12s ease}.jkp-evaluation-options svg,.jkp-evaluation-summary svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.jkp-evaluation-options .jkp-eval-eye,.jkp-evaluation-summary .jkp-eval-eye{fill:currentColor;stroke:none}.jkp-evaluation-options label:hover>span{border-color:#94a9ba;background:#f0f5f8}.jkp-evaluation-options .is-score-1 input:checked+span{border-color:#d98c8c;background:#fdecec;color:#9b3030;box-shadow:0 0 0 2px rgba(181,55,55,.1)}.jkp-evaluation-options .is-score-2 input:checked+span{border-color:#d5b451;background:#fff6d7;color:#816512;box-shadow:0 0 0 2px rgba(197,155,31,.1)}.jkp-evaluation-options .is-score-3 input:checked+span{border-color:#6fb586;background:#e8f7ed;color:#246d3b;box-shadow:0 0 0 2px rgba(47,139,77,.1)}.jkp-evaluation-clear{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;padding:0!important;border:0!important;border-radius:6px;background:transparent!important;color:#9aa6af!important;font-size:15px;line-height:1;cursor:pointer;opacity:.45}.jkp-evaluation-row.is-rated .jkp-evaluation-clear,.jkp-evaluation-clear:hover{opacity:1;color:#687784!important;background:#eef2f5!important}.jkp-evaluation-summary{display:inline-flex;align-items:center;gap:4px;min-height:25px;padding:3px 7px;border:1px solid #b9d3c2;border-radius:999px;background:#edf8f0;color:#28683d;font-size:10px;font-weight:900;white-space:nowrap}.jkp-evaluation-summary b{display:flex}.jkp-evaluation-summary svg{width:17px;height:17px}.jkp-evaluation-summary small{padding-left:4px;border-left:1px solid #c9dfd0;color:#617f6a;font-size:8px}.jkp-evaluation-summary.is-compact{min-height:22px;padding:2px 6px}.jkp-evaluation-summary.is-compact svg{width:15px;height:15px}
@media(max-width:900px){.jkp-evaluation-groups{grid-template-columns:1fr}}
@media(max-width:560px){.jkp-evaluation-intro{align-items:flex-start;flex-direction:column}.jkp-evaluation-groups{padding:7px;gap:7px}.jkp-evaluation-scale,.jkp-evaluation-row{grid-template-columns:minmax(108px,1fr) 39px 39px 39px 22px}.jkp-evaluation-row{min-height:46px;padding:5px 6px}.jkp-evaluation-row>span{font-size:9px}.jkp-evaluation-options label>span{width:33px;height:33px}.jkp-evaluation-scale{padding-left:6px;padding-right:6px}.jkp-evaluation-scale i{font-size:0}.jkp-evaluation-scale i:nth-of-type(1)::after{content:'1';font-size:8px}.jkp-evaluation-scale i:nth-of-type(2)::after{content:'2';font-size:8px}.jkp-evaluation-scale i:nth-of-type(3)::after{content:'3';font-size:8px}}

/* 0.2.104 – manuelle Mannschafts-/Platzzuordnung in der externen Vorschau */
.jkp-external-mapping-hint{margin:9px 0 7px;padding:7px 9px;border-left:3px solid #4c82ae;border-radius:7px;background:#edf5fb;color:#365a75;font-size:10px;line-height:1.4}.jkp-external-event-map{margin:0!important}.jkp-external-preview-table select{width:100%;min-width:165px;min-height:35px;padding:5px 25px 5px 7px;border:1px solid #cbd6e0;border-radius:7px;background:#fff;color:#2d4255;font-size:10px;font-weight:700}.jkp-external-row-actions{display:flex;align-items:flex-start;gap:6px;flex-direction:column;min-width:126px}.jkp-external-row-actions form{margin:0!important}.jkp-external-row-actions .jkp-btn{width:100%;min-height:32px;padding:5px 8px;font-size:9px}.jkp-external-preview-table tr:has(.jkp-external-event-map select option:checked:not([value="0"])){opacity:1}.jkp-external-preview-table td:nth-child(3),.jkp-external-preview-table td:nth-child(4){min-width:190px}

/* 0.2.105 – Serienzuordnung und gemeinsames Speichern */
.jkp-external-mapping-batch-form{display:none}.jkp-external-mapping-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:8px 10px;border:1px solid #d9e4ec;border-radius:9px;background:#fff}.jkp-external-mapping-toolbar.is-bottom{margin-top:10px}.jkp-external-mapping-toolbar span{color:#607181;font-size:10px;font-weight:750}.jkp-external-map-scope{display:inline-flex;padding:4px 6px;border-radius:7px;background:#edf3f7;color:#4d6577;font-size:9px;font-weight:800;line-height:1.25}.jkp-external-preview-table tr.is-mapping-dirty{opacity:1!important;background:#f0f8ff}.jkp-external-preview-table tr.is-mapping-dirty select{border-color:#6f9fc5;box-shadow:0 0 0 2px rgba(64,127,178,.1)}.jkp-external-preview-table tr.is-mapping-propagated{animation:jkpMappingPulse .65s ease}@keyframes jkpMappingPulse{0%,100%{background:#f0f8ff}50%{background:#dcefff}}
@media(max-width:620px){.jkp-external-mapping-toolbar{align-items:stretch;flex-direction:column}.jkp-external-mapping-toolbar .jkp-btn{width:100%}}

/* =========================================================
   0.2.107 – Vereinskalender: Seitenlegende, Platzsortierung,
   kompakte Monatsansicht und visuelle Platzbelegung
   ========================================================= */
.jkp-calendar-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;align-items:start;min-width:0}
.jkp-calendar-legend-rail{position:sticky;top:calc(var(--jkp-filter-top,0px) + 58px);z-index:10;min-width:0;padding:10px;border:1px solid #dfe6eb;border-radius:12px;background:#f8fafc;box-shadow:0 4px 14px rgba(25,48,70,.05)}
.jkp-calendar-mainpane{min-width:0}
.jkp-calendar-legends{display:flex!important;flex-direction:column;align-items:stretch!important;gap:14px!important;margin:0!important;font-size:11px!important;color:#526273}
.jkp-calendar-legends>div{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:6px!important;flex-wrap:nowrap!important;padding-bottom:10px;border-bottom:1px solid #e3e8ed}
.jkp-calendar-legends>div:last-child{padding-bottom:0;border-bottom:0}
.jkp-calendar-legends b{font-size:10px!important;color:#2b4052!important;text-transform:uppercase;letter-spacing:.045em}
.jkp-calendar-legends span{display:flex!important;align-items:center;gap:6px;line-height:1.25;font-size:11px!important}
.jkp-calendar-legends i{width:11px!important;height:11px!important;flex:0 0 11px;border-radius:3px!important}
.jkp-calendar-sort{display:flex;align-items:center;gap:6px;white-space:nowrap;margin-left:auto}
.jkp-calendar-sort>span{font-size:9px;font-weight:850;color:#647382;text-transform:uppercase;letter-spacing:.03em}
.jkp-calendar-sort select{min-height:34px!important;padding:5px 27px 5px 8px!important;border:1px solid #d5dee6!important;border-radius:8px!important;background:#fff!important;color:#29465c!important;font-size:10px!important;font-weight:800!important}

/* Monatsansicht: bewusst nur Zeit, Mannschaft und Anlass. */
.jkp-cal-event.is-month-compact{display:grid!important;grid-template-columns:auto auto minmax(0,1fr)!important;gap:4px!important;min-height:25px!important;padding:3px 4px 6px 6px!important}
.jkp-cal-event.is-month-compact .jkp-cal-time{display:inline!important;font-size:7px!important;font-weight:900!important}
.jkp-cal-event.is-month-compact .jkp-cal-team{display:inline-flex!important;align-items:center;font-size:7px!important;font-weight:950!important;min-width:0!important;min-height:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.jkp-cal-event.is-month-compact .jkp-cal-cause{display:block!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px!important;line-height:1.15}
.jkp-cal-month.is-compact .jkp-cal-event.is-month-compact{grid-template-columns:auto minmax(0,1fr)!important}
.jkp-cal-month.is-compact .jkp-cal-event.is-month-compact .jkp-cal-team{display:none!important}

/* Tagesmatrix für schnelle Suche nach freien Trainingsplätzen. */
.jkp-cal-slotview{width:100%;overflow:auto;border:1px solid #dbe4eb;border-radius:12px;background:#fff}
.jkp-slot-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.jkp-slot-table th,.jkp-slot-table td{border-right:1px solid #e3e9ee;border-bottom:1px solid #e3e9ee;padding:0;text-align:center;vertical-align:middle}
.jkp-slot-table thead th{position:sticky;top:0;z-index:3;height:42px;padding:7px;background:#eef4f8;color:#29465c;font-size:10px;font-weight:950}
.jkp-slot-table thead th:first-child{left:0;z-index:5;width:74px}
.jkp-slot-table tbody th{position:sticky;left:0;z-index:2;width:74px;height:38px;background:#f8fafc;color:#526273;font-size:10px;font-weight:900}
.jkp-slot-table tr:last-child th,.jkp-slot-table tr:last-child td{border-bottom:0}.jkp-slot-table th:last-child,.jkp-slot-table td:last-child{border-right:0}
.jkp-slot-table td{height:38px;background:#fbfcfd}
.jkp-slot-table td.is-free{background:#f3fbf5}
.jkp-slot-table td.is-occupied{padding:3px;background:#fff4f1}
.jkp-slot-table td.is-occupied span{display:block;max-width:100%;margin:1px;padding:3px 5px;border-radius:6px;background:#fee6df;color:#8a3524;font-size:8px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-slot-free{display:flex;width:100%;height:100%;min-height:37px;align-items:center;justify-content:center;border:0;background:transparent;color:#29804b;cursor:pointer;font-family:inherit}
.jkp-slot-free b{font-size:9px;text-transform:uppercase;letter-spacing:.04em}.jkp-slot-free:hover{background:#dff3e5}.jkp-slot-free:disabled{cursor:default;opacity:.6}

/* Anwesenheit: Mannschaft -> Training -> öffnen. */
.jkp-attendance-training-picker{grid-template-columns:minmax(150px,.7fr) minmax(240px,1.3fr) auto!important}

/* Externe Quellen bleiben sichtbar konfigurierbar, wenn sie deaktiviert sind. */
.jkp-external-import-card.is-inactive{opacity:.78;border-style:dashed!important;background:#f7f8fa!important}
.jkp-external-import-card.is-inactive .jkp-external-import-status{filter:grayscale(.45)}

@media(max-width:1050px){
  .jkp-calendar-workspace{grid-template-columns:155px minmax(0,1fr);gap:9px}
  .jkp-calendar-legend-rail{padding:8px}.jkp-calendar-legends span{font-size:10px!important}
  .jkp-calendar-toolbar{flex-wrap:wrap}.jkp-calendar-sort{margin-left:0}
}
@media(max-width:780px){
  .jkp-calendar-workspace{display:block}
  .jkp-calendar-legend-rail{position:relative;top:auto;margin-bottom:8px;padding:7px}
  .jkp-calendar-legends{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px!important}
  .jkp-calendar-legends>div{padding:4px 0!important;border-bottom:0!important}
  .jkp-calendar-legends>div:nth-child(2){display:flex!important}
  .jkp-calendar-sort{width:100%;justify-content:space-between}.jkp-calendar-sort select{flex:1}
  .jkp-attendance-training-picker{grid-template-columns:1fr!important}
  .jkp-slot-table{min-width:580px}
}
@media(max-width:520px){
  .jkp-calendar-legends{grid-template-columns:1fr!important}
  .jkp-calendar-legends>div{display:grid!important;grid-template-columns:88px minmax(0,1fr);align-items:start!important}
  .jkp-calendar-legends>div>b{grid-column:1}.jkp-calendar-legends>div>span{grid-column:2}
}
.jkp-calendar-legend-title{display:flex;flex-direction:column;gap:1px;margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid #dfe6eb}.jkp-calendar-legend-title b{font-size:13px;color:#263f53}.jkp-calendar-legend-title small{font-size:9px;color:#73818e;font-weight:700}


/* =========================================================
   0.2.108 – Kalenderpräferenzen, Wochen-Platzbelegung,
   kompakte Legende und parallele gleichzeitige Termine
   ========================================================= */
.jkp-calendar-workspace{display:block!important;min-width:0}
.jkp-calendar-mainpane{min-width:0;width:100%}
.jkp-calendar-inline-legend{grid-column:2/-1;min-width:0;padding:6px 8px;border:1px solid #e2e8ec;border-radius:9px;background:#f8fafc}
.jkp-calendar-inline-legend .jkp-calendar-legends{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px 16px!important;flex-wrap:wrap!important;margin:0!important;font-size:9px!important;color:#526273}
.jkp-calendar-inline-legend .jkp-calendar-legends>div{display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;padding:0!important;border:0!important}
.jkp-calendar-inline-legend .jkp-calendar-legends b{font-size:8px!important;color:#344d61!important;margin-right:2px}
.jkp-calendar-inline-legend .jkp-calendar-legends span{display:inline-flex!important;align-items:center!important;gap:4px!important;font-size:9px!important;line-height:1.2!important;white-space:nowrap}
.jkp-calendar-inline-legend .jkp-calendar-legends i{width:9px!important;height:9px!important;flex:0 0 9px!important}
.jkp-calendar-legend-rail,.jkp-calendar-legend-title{display:none!important}

.jkp-calendar-venuechip{position:relative}
.jkp-calendar-venuechip .jkp-venue-visibility{margin-left:auto;font-style:normal;font-size:7px;font-weight:850;color:#6e7d89;white-space:nowrap}
.jkp-calendar-venuechip input:checked~.jkp-venue-visibility::before{content:'sichtbar'}
.jkp-calendar-venuechip input:not(:checked)~.jkp-venue-visibility::before{content:'ausgeblendet'}
.jkp-calendar-venuechip:not(:has(input:checked)) .jkp-venue-visibility{color:#9a4a45}

.jkp-calendar-fontsize{display:flex;align-items:center;gap:6px;white-space:nowrap}
.jkp-calendar-fontsize>span{font-size:9px;font-weight:850;color:#647382;text-transform:uppercase;letter-spacing:.03em}
.jkp-calendar-fontsize select{min-height:34px!important;padding:5px 27px 5px 8px!important;border:1px solid #d5dee6!important;border-radius:8px!important;background:#fff!important;color:#29465c!important;font-size:10px!important;font-weight:800!important}

/* Monatsschrift pro Benutzer einstellbar; normal ist gegenüber 0.2.107 bewusst größer. */
.jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-compact .jkp-cal-time,
.jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-compact .jkp-cal-team{font-size:7px!important}
.jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-compact .jkp-cal-cause{font-size:8px!important}
.jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-compact .jkp-cal-time,
.jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-compact .jkp-cal-team{font-size:8.5px!important}
.jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-compact .jkp-cal-cause{font-size:9.5px!important;line-height:1.2!important}
.jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-compact{min-height:30px!important;padding-top:5px!important;padding-bottom:7px!important}
.jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-compact .jkp-cal-time,
.jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-compact .jkp-cal-team{font-size:10px!important}
.jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-compact .jkp-cal-cause{font-size:11px!important;line-height:1.2!important}

/* Gleichzeitige/überlappende Termine in der Wochenansicht nebeneinander. */
.jkp-cal-weekevents{display:flex;flex-direction:column;gap:4px;min-width:0}
.jkp-cal-parallel-group{display:grid;grid-template-columns:repeat(var(--jkp-parallel-count,2),minmax(0,1fr));gap:3px;min-width:0;align-items:stretch}
.jkp-cal-parallel-group>.jkp-cal-event{width:100%;min-width:0;margin:0!important;align-self:stretch}
.jkp-cal-parallel-group .jkp-cal-event .jkp-cal-main{min-width:0}
.jkp-cal-parallel-group .jkp-cal-event strong{overflow:hidden;text-overflow:ellipsis}

/* Platzbelegung über eine komplette Woche. Jede Tagesmatrix behält Zeit x Plätze. */
.jkp-cal-slotweek{display:flex;flex-direction:column;gap:12px;min-width:0}
.jkp-slot-day{border:1px solid #dbe4eb;border-radius:12px;background:#fff;overflow:hidden}
.jkp-slot-day.is-today{border-color:#8fc3e4;box-shadow:0 0 0 2px rgba(58,139,194,.09)}
.jkp-slot-dayhead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border-bottom:1px solid #dbe4eb;background:#f6f9fb;color:#2d475b}
.jkp-slot-dayhead b{font-size:12px;text-transform:capitalize}.jkp-slot-dayhead span{font-size:10px;font-weight:850;color:#687887}
.jkp-slot-day .jkp-cal-slotview{border:0!important;border-radius:0!important}
.jkp-slot-table thead th.jkp-slot-venue-head{background:color-mix(in srgb,var(--jkp-slot-venue,#7c8797) 28%,#fff)!important;border-top:4px solid var(--jkp-slot-venue,#7c8797);color:#203746!important}
.jkp-slot-table td{background:color-mix(in srgb,var(--jkp-slot-venue,#7c8797) 5%,#fff)}
.jkp-slot-table td.is-free{background:color-mix(in srgb,var(--jkp-slot-venue,#7c8797) 8%,#f4fbf6)}
.jkp-slot-table td.is-occupied{background:color-mix(in srgb,var(--jkp-slot-venue,#7c8797) 12%,#fff3ef)}
.jkp-slot-table td.is-occupied span{border-left:3px solid var(--jkp-slot-venue,#7c8797);background:rgba(255,255,255,.72);color:#4b3a34}
.jkp-slot-free:hover{background:color-mix(in srgb,var(--jkp-slot-venue,#7c8797) 16%,#e7f6eb)}

@media(max-width:1050px){
  .jkp-calendar-inline-legend{grid-column:1/-1}
  .jkp-calendar-toolbar{gap:6px}.jkp-calendar-fontsize{margin-left:0}
}
@media(max-width:760px){
  .jkp-calendar-inline-legend{grid-column:1/-1;padding:6px}
  .jkp-calendar-inline-legend .jkp-calendar-legends{display:flex!important;gap:6px 10px!important}
  .jkp-calendar-inline-legend .jkp-calendar-legends>div{display:flex!important;grid-template-columns:none!important}
  .jkp-calendar-fontsize{width:100%;justify-content:space-between}.jkp-calendar-fontsize select{flex:1}
  .jkp-cal-parallel-group{overflow-x:auto;grid-template-columns:repeat(var(--jkp-parallel-count,2),minmax(125px,1fr));padding-bottom:2px}
  .jkp-slot-dayhead{position:sticky;left:0;z-index:4}
}
@media(max-width:520px){
  .jkp-calendar-inline-legend .jkp-calendar-legends{display:flex!important;flex-direction:row!important}
  .jkp-calendar-inline-legend .jkp-calendar-legends>div{display:flex!important;flex-direction:row!important}
  .jkp-calendar-venuechip .jkp-venue-visibility{display:none}
}


/* =========================================================
   0.2.109 – Terminsuche + kompakte Wochen-Platzbelegung
   ========================================================= */
.jkp-calendar-search{display:flex;align-items:center;gap:6px;min-width:min(100%,330px);flex:1 1 260px}
.jkp-calendar-search>span{font-size:9px;font-weight:850;color:#647382;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.jkp-calendar-search>div{position:relative;display:flex;align-items:center;min-width:160px;max-width:390px;flex:1}
.jkp-calendar-search input{width:100%!important;min-height:34px!important;padding:5px 31px 5px 9px!important;border:1px solid #d5dee6!important;border-radius:8px!important;background:#fff!important;color:#29465c!important;font-size:11px!important}
.jkp-calendar-search button{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:25px;height:25px;padding:0;border:0;border-radius:6px;background:transparent;color:#748391;font-size:18px;line-height:1;cursor:pointer}
.jkp-calendar-search button:hover{background:#eef3f6;color:#233e53}.jkp-calendar-search button[hidden]{display:none!important}

/* Normale Wochenansicht: Termine wieder bewusst untereinander. */
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekevents{display:flex!important;flex-direction:column!important;gap:4px!important}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-parallel-group{display:contents!important}

/* Eine komplette Platzbelegungs-Woche in EINER Matrix: Tag > schmale Platzspalten. */
.jkp-cal-slotweek.is-week-matrix{display:block;min-width:0}
.jkp-cal-slotweek-scroll{width:100%;overflow:auto;border:1px solid #dbe4eb;border-radius:12px;background:#fff}
.jkp-slot-week-table{width:100%;min-width:max(760px,calc(46px + (var(--jkp-slot-cols,14) * 55px)));table-layout:fixed;border-collapse:separate;border-spacing:0}
.jkp-slot-week-table th,.jkp-slot-week-table td{padding:0!important}
.jkp-slot-week-table .jkp-slot-time-head,.jkp-slot-week-table tbody>tr>th{width:46px!important;min-width:46px!important;max-width:46px!important}
.jkp-slot-week-dayhead{height:32px!important;background:#eef4f8!important;border-bottom:1px solid #d7e1e8!important;border-right:2px solid #c7d4dc!important;color:#244158!important}
.jkp-slot-week-dayhead b{font-size:10px;margin-right:4px}.jkp-slot-week-dayhead span{font-size:8px;font-weight:850;color:#6c7d89}.jkp-slot-week-dayhead.is-today{background:#e4f3fd!important;color:#145d8b!important}
.jkp-slot-week-table .jkp-slot-venue-row th{height:31px!important;padding:3px 2px!important;border-top:3px solid var(--jkp-slot-venue,#7c8797)!important;background:color-mix(in srgb,var(--jkp-slot-venue,#7c8797) 24%,#fff)!important;color:#253e51!important;font-size:7px!important;font-weight:950!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-slot-week-table .jkp-slot-venue-row th:nth-child(n){min-width:0!important}
.jkp-slot-week-table tbody th{height:38px!important;font-size:8px!important}
.jkp-slot-week-table td{height:38px!important;min-width:0!important;background:color-mix(in srgb,var(--jkp-slot-venue,#7c8797) 5%,#fff)!important}
.jkp-slot-week-table td.is-free{background:color-mix(in srgb,var(--jkp-slot-venue,#7c8797) 8%,#f4fbf6)!important}
.jkp-slot-week-table td.is-occupied{padding:2px!important;background:color-mix(in srgb,var(--jkp-slot-venue,#7c8797) 12%,#fff3ef)!important}
.jkp-slot-week-table tr>*:nth-child(1){border-right:2px solid #c7d4dc!important}
.jkp-slot-free{min-height:32px!important;padding:0 2px!important}.jkp-slot-free b{font-size:7px!important;font-weight:850!important}

/* Parallele Belegungen desselben Platzes liegen innerhalb des Slots nebeneinander. */
.jkp-slot-occupants{display:flex;align-items:stretch;gap:2px;width:100%;height:100%;min-width:0}
.jkp-slot-occupant{display:flex!important;flex:1 1 0;min-width:0;margin:0!important;padding:2px 3px!important;border:0!important;border-left:2px solid var(--jkp-slot-venue,#7c8797)!important;border-radius:4px!important;background:rgba(255,255,255,.8)!important;color:#34485a!important;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.05;overflow:hidden}
.jkp-slot-occupant b{display:block;max-width:100%;font-size:7.5px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-slot-occupant small{display:block;max-width:100%;font-size:6px;line-height:1.05;color:#607080;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-slot-occupant em{display:block;max-width:100%;font-size:5.8px;line-height:1.05;color:#365d79;font-style:normal;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-slot-occupant.is-search-dim{opacity:.3}.jkp-slot-occupant.is-search-match{box-shadow:inset 0 0 0 1px rgba(20,95,143,.18)}
.jkp-slot-week-table td.has-parallel .jkp-slot-occupant{padding-left:2px!important;padding-right:2px!important}
.jkp-slot-week-table td.has-parallel .jkp-slot-occupant small,.jkp-slot-week-table td.has-parallel .jkp-slot-occupant em{font-size:5.2px}

@media(max-width:1100px){
  .jkp-calendar-search{order:3;flex-basis:100%}.jkp-calendar-search>div{max-width:none}
  .jkp-slot-week-table{min-width:max(760px,calc(46px + (var(--jkp-slot-cols,14) * 50px)))}
}
@media(max-width:760px){
  .jkp-calendar-search{display:block}.jkp-calendar-search>span{display:block;margin:0 0 3px}.jkp-calendar-search>div{max-width:none}
  .jkp-slot-week-table{min-width:max(820px,calc(46px + (var(--jkp-slot-cols,14) * 54px)))}
}

/* =========================================================
   0.2.110 – einklappbare Legende, 24h-Platzbelegung,
   Drag & Drop nach Uhrzeit/Platz und editierbare Spielstätten
   ========================================================= */
/* Legende standardmäßig geschlossen; <details> bleibt kompakt direkt unter den Filtern. */
details.jkp-calendar-inline-legend{display:block!important;padding:0!important;overflow:hidden}
details.jkp-calendar-inline-legend>summary{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 9px;cursor:pointer;list-style:none;color:#314b60;background:#f8fafc}
details.jkp-calendar-inline-legend>summary::-webkit-details-marker{display:none}
details.jkp-calendar-inline-legend>summary::before{content:'▸';font-size:11px;font-weight:950;color:#6a7c8a;transition:transform .15s ease}
details.jkp-calendar-inline-legend[open]>summary::before{transform:rotate(90deg)}
details.jkp-calendar-inline-legend>summary span{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.035em}
details.jkp-calendar-inline-legend>summary small{font-size:8px;font-weight:750;color:#778693}
details.jkp-calendar-inline-legend:not([open])>.jkp-calendar-legends{display:none!important}
details.jkp-calendar-inline-legend[open]>.jkp-calendar-legends{padding:7px 9px 9px;border-top:1px solid #e2e8ec}

/* Zeitbereich der Platzbelegung ist pro Benutzer speicherbar. */
.jkp-calendar-slothours{display:none;align-items:center;gap:6px;white-space:nowrap}
.jkp-calendar-card[data-cal-view="slots"] .jkp-calendar-slothours{display:flex}
.jkp-calendar-slothours>span{font-size:9px;font-weight:850;color:#647382;text-transform:uppercase;letter-spacing:.03em}
.jkp-calendar-slothours select{min-height:34px!important;padding:5px 27px 5px 8px!important;border:1px solid #d5dee6!important;border-radius:8px!important;background:#fff!important;color:#29465c!important;font-size:10px!important;font-weight:800!important}

/* Wochenmatrix noch kompakter: drei Plätze x sieben Tage passen auf üblichen Desktopbreiten. */
.jkp-slot-week-table{min-width:max(650px,calc(44px + (var(--jkp-slot-cols,14) * 40px)))!important}
.jkp-slot-week-table .jkp-slot-time-head,.jkp-slot-week-table tbody>tr>th{width:44px!important;min-width:44px!important;max-width:44px!important;position:sticky;left:0;z-index:5;background:#f7fafc!important}
.jkp-slot-week-table .jkp-slot-time-head{z-index:8}
.jkp-slot-week-table td{height:36px!important}
.jkp-slot-week-table tbody th{height:36px!important}

/* Training und Spiel sind in der Platzbelegung sofort auseinanderzuhalten. */
.jkp-slot-occupant{border-left-color:var(--jkp-team-color,#246a9a)!important}
.jkp-slot-occupant.is-training{background:color-mix(in srgb,var(--jkp-team-color,#246a9a) 9%,#fff)!important}
.jkp-slot-occupant.is-match{background:#fff3cf!important;border:1px solid #dca73b!important;border-left:3px solid var(--jkp-team-color,#246a9a)!important;box-shadow:inset 0 0 0 1px rgba(177,119,18,.08)}
.jkp-slot-occupant.is-match.is-away{background:repeating-linear-gradient(135deg,#fff8e6 0 6px,#fff 6px 12px)!important;border-style:dashed!important}
.jkp-slot-occupant.is-match b{color:#754b0c!important;font-weight:950!important}
.jkp-slot-occupant[draggable="true"]{cursor:grab}
.jkp-slot-occupant.is-dragging{opacity:.42;cursor:grabbing}
.jkp-slot-week-table td.is-cal-dragover{outline:2px solid #2380b8!important;outline-offset:-2px;background:#e8f5fc!important}

/* Spielstätten direkt in den Kalendereinstellungen bearbeiten. */
.jkp-calendar-venue-edit{display:block!important;padding:0!important;overflow:hidden}
.jkp-calendar-venue-edit>summary{display:grid;grid-template-columns:13px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;cursor:pointer;list-style:none}
.jkp-calendar-venue-edit>summary::-webkit-details-marker{display:none}
.jkp-calendar-venue-edit>summary>i{width:12px;height:12px;border-radius:3px}
.jkp-calendar-venue-edit>summary>div{min-width:0}.jkp-calendar-venue-edit>summary b,.jkp-calendar-venue-edit>summary small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-calendar-venue-edit>summary>span{font-size:9px;font-weight:850;color:#246a9a}
.jkp-calendar-venue-editbody{padding:9px;border-top:1px solid #e2e8ec;background:#f8fafc}
.jkp-calendar-venue-form.is-edit{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.jkp-calendar-venue-delete{margin-top:7px;text-align:right}

@media(max-width:1100px){
  .jkp-slot-week-table{min-width:max(650px,calc(44px + (var(--jkp-slot-cols,14) * 39px)))!important}
}
@media(max-width:760px){
  .jkp-calendar-slothours{width:100%;justify-content:space-between}.jkp-calendar-slothours select{flex:1}
  .jkp-slot-week-table{min-width:max(690px,calc(44px + (var(--jkp-slot-cols,14) * 40px)))!important}
  .jkp-cal-slotweek-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
  details.jkp-calendar-inline-legend>summary small{display:none}
}


/* =========================================================
   0.2.111 – mobile Tagesübersicht, kompakter Mobil-Monat,
   detaillierte Termin-Tooltips und BFV-Markierung
   ========================================================= */
.jkp-calendar-day-dialog{width:min(94vw,520px);max-height:86vh;padding:0;border:0;border-radius:16px;box-shadow:0 22px 70px rgba(20,39,56,.28);overflow:hidden;background:#fff;color:#243b4c}
.jkp-calendar-day-dialog::backdrop{background:rgba(18,35,49,.48);backdrop-filter:blur(2px)}
.jkp-day-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px 12px;border-bottom:1px solid #e2e8ed;background:#f7fafc}
.jkp-day-dialog-head small{display:block;margin-bottom:2px;color:#70808e;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.jkp-day-dialog-head h3{margin:0;font-size:17px;color:#203c51}
.jkp-day-dialog-close{width:34px;height:34px;border:0;border-radius:9px;background:#eaf0f4;color:#304b60;font-size:22px;line-height:1;cursor:pointer}
.jkp-day-dialog-events{display:flex;flex-direction:column;gap:7px;max-height:58vh;overflow:auto;padding:11px}
.jkp-day-overview-event{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding:9px 10px;border:1px solid #dce4ea;border-left:4px solid var(--jkp-team-color,#246a9a);border-radius:10px;background:color-mix(in srgb,var(--jkp-team-color,#246a9a) 5%,#fff);color:#273f52;text-align:left;cursor:pointer}
.jkp-day-overview-event.is-match{background:#fff8df;border-color:#e9cf83;border-left-color:var(--jkp-team-color,#246a9a)}
.jkp-day-overview-event.is-match.is-away{background:repeating-linear-gradient(135deg,#fffaf0 0 7px,#fff 7px 14px)}
.jkp-day-overview-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.jkp-day-overview-top strong{font-size:13px}.jkp-day-overview-top small{font-size:11px;font-weight:900;color:#53697a;font-variant-numeric:tabular-nums;white-space:nowrap}
.jkp-day-overview-kind{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:850}.jkp-day-overview-event em{font-size:9px;color:#687b89;font-style:normal;line-height:1.35}
.jkp-day-overview-empty{padding:18px 10px;text-align:center;color:#6f7f8b;font-size:11px}
.jkp-day-dialog-actions{display:flex;gap:8px;justify-content:flex-end;padding:10px 11px 12px;border-top:1px solid #e5ebef;background:#fbfcfd}

/* Kleine, eingebaute BFV-Quellenmarke: bewusst robust ohne externe Bild-URL. */
.jkp-bfv-mini{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;min-width:22px;height:13px;padding:0 2px;vertical-align:-1px;margin:0 2px 0 0;border:1px solid #2d6fa3;border-radius:3px;background:#eef6ff;color:#245f8c;font-size:6.5px!important;font-weight:950!important;letter-spacing:-.02em;line-height:1!important}
.jkp-slot-occupant b{display:flex!important;align-items:center;gap:1px}.jkp-slot-opponent{color:#785412!important;font-weight:850!important}

/* Auf Desktop kann der Browser-Tooltip genutzt werden; Fokus bleibt ebenfalls sichtbar. */
.jkp-cal-event[data-jkp-tooltip]:focus-visible,.jkp-slot-occupant[data-jkp-tooltip]:focus-visible{outline:2px solid #2b7fad!important;outline-offset:2px}

@media(max-width:760px){
  /* Monat mobil: Mannschaft ist die primäre Information, Uhrzeit klein daneben. */
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-compact,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-compact,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-compact{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    min-height:31px!important;
    gap:1px 3px!important;
    padding:3px 4px 5px!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-compact .jkp-cal-team,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-compact .jkp-cal-team,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-compact .jkp-cal-team{
    display:block!important;grid-column:1!important;grid-row:1!important;min-width:0!important;max-width:none!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--jkp-team-color,#246a9a)!important;font-size:9px!important;font-weight:950!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-compact .jkp-cal-time,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-compact .jkp-cal-time,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-compact .jkp-cal-time{
    display:block!important;grid-column:2!important;grid-row:1!important;align-self:center!important;font-size:6.5px!important;font-weight:850!important;color:#71808c!important;white-space:nowrap!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-compact .jkp-cal-cause,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-compact .jkp-cal-cause,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-compact .jkp-cal-cause{
    grid-column:1/-1!important;grid-row:2!important;font-size:7.5px!important;line-height:1.1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  /* Auch in kompakten Mehrmonatsansichten die Mannschaft mobil nie verstecken. */
  .jkp-cal-month.is-compact .jkp-cal-event.is-month-compact .jkp-cal-team{display:block!important}
  .jkp-cal-day{cursor:pointer}.jkp-cal-dayhead{position:relative}.jkp-cal-dayhead::after{content:'›';position:absolute;right:3px;top:50%;transform:translateY(-50%);font-size:10px;color:#8a98a3;font-weight:950}
  .jkp-day-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.jkp-day-dialog-actions .jkp-btn{width:100%;justify-content:center}
  .jkp-bfv-mini{min-width:18px;height:11px;font-size:5.8px!important}
}

/* =========================================================
   0.2.112 – Kalender-Dashboard, Platzstatus, Slot-Finder,
   Filter-/Drag-Fixes und quellengeführte BFV-Termine
   ========================================================= */
.jkp-calendar-smartrow{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:12px;margin:10px 0 12px}
.jkp-calendar-today,.jkp-free-slot-finder{min-width:0;border:1px solid #dbe5eb;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(30,54,70,.04)}
.jkp-calendar-today{padding:11px 12px}.jkp-smart-loading{font-size:11px;color:#73838e}
.jkp-today-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.jkp-today-head small{display:block;color:#71818c;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.jkp-today-head h3{margin:2px 0 0;font-size:15px;color:#244257}
.jkp-today-counts{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.jkp-today-counts span{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border-radius:7px;background:#f0f5f8;color:#566d7e;font-size:8px;font-weight:850}.jkp-today-counts b{font-size:10px;color:#244d68}
.jkp-today-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}.jkp-today-events button{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;padding:6px 7px;border:1px solid #e0e7ec;border-left:3px solid var(--jkp-team-color,#246a9a);border-radius:8px;background:#fbfcfd;text-align:left;cursor:pointer}.jkp-today-events button>b{font-size:9px;color:#526a7a;font-variant-numeric:tabular-nums}.jkp-today-events button>strong{font-size:9px;color:var(--jkp-team-color,#246a9a)}.jkp-today-events button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#344c5e}
.jkp-today-empty{margin:9px 0 2px;color:#6f7f8b;font-size:10px}.jkp-today-statuses{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px;padding-top:7px;border-top:1px solid #edf1f4;font-size:8px;color:#5b6f7d}.jkp-today-statuses>span{padding:3px 5px;border-radius:5px;background:#f2f5f7;font-weight:800}.jkp-today-statuses>span.is-blocked{background:#fff0f0;color:#9b3535}.jkp-today-statuses>span.is-restricted{background:#fff8df;color:#8a6715}.jkp-today-statuses>span.is-match_only{background:#eef5ff;color:#315f8b}.jkp-today-statuses>span.is-info_only{background:#f0f1f4;color:#606875}
.jkp-free-slot-finder{overflow:hidden}.jkp-free-slot-finder>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;cursor:pointer;list-style:none}.jkp-free-slot-finder>summary::-webkit-details-marker{display:none}.jkp-free-slot-finder>summary span{font-size:11px;font-weight:950;color:#29495f}.jkp-free-slot-finder>summary small{font-size:8px;color:#7a8994}.jkp-free-slot-finder[open]>summary{border-bottom:1px solid #e6ecef;background:#f8fafb}
.jkp-free-slot-finder form{display:grid;grid-template-columns:1.1fr .85fr .85fr .9fr;gap:6px;padding:9px}.jkp-free-slot-finder form label{display:flex;flex-direction:column;gap:2px}.jkp-free-slot-finder form label>span{font-size:7px;font-weight:900;color:#72818b;text-transform:uppercase}.jkp-free-slot-finder select,.jkp-free-slot-finder input{min-width:0;height:30px;padding:4px 6px;border:1px solid #d6e0e6;border-radius:7px;background:#fff;font-size:9px}.jkp-free-slot-finder form .jkp-btn{grid-column:1/-1;justify-content:center}
.jkp-free-slot-results{padding:0 9px 9px}.jkp-free-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.jkp-free-slot-grid button{display:grid;grid-template-columns:auto auto;gap:2px 5px;padding:6px;border:1px solid #dce6eb;border-radius:8px;background:#f8fbfc;text-align:left;cursor:pointer}.jkp-free-slot-grid button>b,.jkp-free-slot-grid button>strong{font-size:9px;color:#294b61}.jkp-free-slot-grid button>strong{text-align:right}.jkp-free-slot-grid button>span,.jkp-free-slot-grid button>small{grid-column:1/-1;font-size:8px;color:#657885;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jkp-free-slot-grid button>small{font-size:7px;color:#8b6c18}.jkp-free-slot-empty{display:block;padding:8px;color:#71818c;font-size:9px;text-align:center}

.jkp-slot-venue-head em{display:block;margin-top:1px;font-size:5.5px;font-style:normal;line-height:1;color:#7b5f17;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-slot-venue-head.is-status-blocked{background:#ffecec!important}.jkp-slot-venue-head.is-status-match_only{background:#edf5ff!important}.jkp-slot-venue-head.is-status-info_only{background:#f0f1f4!important}.jkp-slot-venue-head.is-status-restricted{background:#fff8df!important}
.jkp-slot-table td.is-unavailable{background:repeating-linear-gradient(135deg,#f2f4f5 0 5px,#e8ecef 5px 10px)!important}.jkp-slot-status,.jkp-slot-filtered-lock{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;min-height:29px;padding:2px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#7a858d!important;font-size:6.5px!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap!important}.jkp-slot-table td.is-filtered-occupied{background:repeating-linear-gradient(135deg,#f7f3eb 0 5px,#eee7da 5px 10px)!important}.jkp-slot-filtered-lock::before{content:'🔒';font-size:7px;margin-right:2px}.jkp-slot-free small{display:block;font-size:5.5px;font-weight:800;color:#8a6c1d}
.jkp-slot-occupant[draggable="true"]{cursor:grab;touch-action:pan-x pan-y}.jkp-slot-occupant.is-dragging,.jkp-slot-occupant.is-touch-dragging{opacity:.65;cursor:grabbing;box-shadow:0 3px 12px rgba(25,54,72,.25)}.jkp-slot-table td.is-cal-dragover{outline:2px solid #2b80b5!important;outline-offset:-2px;background:#eaf6ff!important}

.jkp-calendar-source-managed-note{display:flex;flex-direction:column;gap:2px;margin:0 13px 10px;padding:8px 10px;border:1px solid #b9d4e8;border-radius:9px;background:#eef7fd;color:#31566f}.jkp-calendar-source-managed-note b{font-size:10px}.jkp-calendar-source-managed-note span{font-size:8.5px;line-height:1.4}.jkp-calendar-event-form .is-source-managed{background:#f1f4f6!important;color:#667783!important;cursor:not-allowed}.jkp-calendar-dialog.is-source-managed textarea[name="notes"]{border-color:#8fbad6;background:#fbfeff}
.jkp-cal-cancelbadge{display:inline-flex;padding:2px 4px;border-radius:4px;background:#b33d3d;color:#fff;font-size:6px;font-weight:950;letter-spacing:.04em}.jkp-cal-event.is-source-cancelled{opacity:.82;background-image:repeating-linear-gradient(135deg,transparent 0 7px,rgba(174,55,55,.06) 7px 14px)}

.jkp-calendar-venuechip.is-status-blocked b::after,.jkp-calendar-venuechip.is-status-restricted b::after,.jkp-calendar-venuechip.is-status-match_only b::after,.jkp-calendar-venuechip.is-status-info_only b::after{display:inline-block;margin-left:4px;padding:1px 3px;border-radius:4px;background:#eef1f3;color:#66747e;font-size:6px;font-weight:900;vertical-align:1px}.jkp-calendar-venuechip.is-status-blocked b::after{content:'GESPERRT';background:#ffebeb;color:#9c3838}.jkp-calendar-venuechip.is-status-restricted b::after{content:'EINGESCHR.';background:#fff4d3;color:#856515}.jkp-calendar-venuechip.is-status-match_only b::after{content:'SPIELE';background:#eaf3ff;color:#35648e}.jkp-calendar-venuechip.is-status-info_only b::after{content:'INFO'}

@media(max-width:1050px){.jkp-calendar-smartrow{grid-template-columns:1fr}.jkp-free-slot-finder form{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
  .jkp-calendar-smartrow{gap:7px;margin:7px 0}.jkp-calendar-today{padding:8px}.jkp-today-head{gap:6px}.jkp-today-head h3{font-size:13px}.jkp-today-counts{gap:3px}.jkp-today-counts span{padding:3px 4px;font-size:6.5px}.jkp-today-counts b{font-size:8px}.jkp-today-events{grid-template-columns:1fr;gap:3px}.jkp-today-events button{padding:5px 6px}.jkp-today-statuses{font-size:7px}
  .jkp-free-slot-finder>summary{padding:8px}.jkp-free-slot-finder>summary small{display:none}.jkp-free-slot-finder form{grid-template-columns:1fr 1fr;padding:7px}.jkp-free-slot-finder form .jkp-btn{grid-column:1/-1}.jkp-free-slot-grid{grid-template-columns:1fr}
  .jkp-slot-occupant[draggable="true"]{touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none}
}
@media(max-width:760px){.jkp-slot-occupant[draggable="true"]{touch-action:none!important}}

/* =========================================================
   0.2.113 – kompakter Kalenderkopf, gebündelte Filter,
   robuste Auf-/Zuklapper und ganztägige/mehrtägige Termine
   ========================================================= */

/* Die beiden Schnellbereiche dürfen sich nicht gegenseitig auf volle Höhe ziehen. */
.jkp-calendar-smartrow{
  align-items:start!important;
  grid-template-columns:minmax(0,1fr) minmax(270px,390px)!important;
  gap:8px!important;
  margin:7px 0 8px!important;
}
.jkp-calendar-today{padding:8px 9px!important}
.jkp-today-head h3{font-size:13px!important}
.jkp-today-counts span{padding:3px 5px!important}
.jkp-today-events{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin-top:6px!important}
.jkp-today-events button{grid-template-columns:auto auto minmax(0,1fr)!important;padding:4px 5px!important;gap:3px!important;min-height:30px}
.jkp-today-events button>b,.jkp-today-events button>strong,.jkp-today-events button>span{font-size:7.5px!important}
.jkp-today-more{margin-top:4px;text-align:right;color:#768692;font-size:7px;font-weight:800}
.jkp-today-statuses{margin-top:5px!important;padding-top:5px!important}

/* Im Vorbereitungsplan benötigt man weder Heute-Dashboard noch Kalenderslots/Filter. */
.jkp-calendar-card[data-cal-mode="prep"] .jkp-calendar-smartrow,
.jkp-calendar-card[data-cal-mode="prep"] .jkp-calendar-filterpanel{display:none!important}
/* In der Terminliste bleibt der Filter nützlich, der Slot-Finder hingegen nicht. */
.jkp-calendar-card[data-cal-mode="list"] .jkp-calendar-smartrow{display:none!important}

/* Slot-Finder: sauber schließbar, beide Aktionen in einer Reihe. */
.jkp-free-slot-finder{align-self:start!important;height:auto!important}
.jkp-free-slot-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px;padding-top:1px}
.jkp-free-slot-finder form .jkp-free-slot-actions .jkp-btn{grid-column:auto!important;min-width:0}
.jkp-free-slot-finder:not([open]) form,
.jkp-free-slot-finder:not([open]) .jkp-free-slot-results{display:none!important}

/* Alle Filter und die Legende bilden jetzt EIN aufklappbares, kompaktes Panel. */
.jkp-calendar-filterpanel{
  display:block;margin:0 0 7px;border:1px solid #dce5ea;border-radius:10px;background:#f9fbfc;overflow:hidden
}
.jkp-calendar-filterpanel>summary{
  display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:35px;padding:6px 9px;
  list-style:none;cursor:pointer;background:#f7fafb;color:#29495f;user-select:none
}
.jkp-calendar-filterpanel>summary::-webkit-details-marker{display:none}
.jkp-calendar-filterpanel>summary>span{display:flex;align-items:baseline;gap:7px;min-width:0}
.jkp-calendar-filterpanel>summary b{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.025em}
.jkp-calendar-filterpanel>summary small{font-size:7px;color:#758690;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jkp-calendar-filterpanel>summary em{font-size:7px;font-style:normal;font-weight:850;color:#657887;white-space:nowrap}
.jkp-calendar-filterpanel>summary::before{content:'▸';font-size:9px;font-weight:950;color:#668197;transition:transform .15s ease}
.jkp-calendar-filterpanel[open]>summary::before{transform:rotate(90deg)}
.jkp-calendar-filterpanel[open]>summary{border-bottom:1px solid #e1e8ec;background:#fff}
.jkp-calendar-filterpanel:not([open]) .jkp-calendar-filters{display:none!important}
.jkp-calendar-filterpanel .jkp-calendar-filters{
  display:grid!important;grid-template-columns:minmax(260px,.85fr) minmax(360px,1.3fr)!important;
  gap:7px!important;margin:0!important;padding:7px!important;border:0!important;border-radius:0!important;background:#fff!important
}
.jkp-calendar-filtergroup{min-width:0!important;margin:0!important}
.jkp-calendar-filtergroup.is-teams{grid-column:1/-1!important;order:1}
.jkp-calendar-filtergroup.is-side{grid-column:1!important;order:2}
.jkp-calendar-filtergroup.is-venues{grid-column:2!important;order:3}
.jkp-calendar-filtergroup.is-external{grid-column:1!important;order:4}
.jkp-calendar-filtergroup.is-legend{grid-column:2!important;order:5}
.jkp-calendar-filtergroup.is-legend .jkp-calendar-legends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;padding:1px 0!important}
.jkp-calendar-filtergroup.is-legend .jkp-calendar-legends>div{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}
.jkp-calendar-filtergroup.is-legend .jkp-calendar-legends>div>b{font-size:6.5px;color:#71818c;text-transform:uppercase}
.jkp-calendar-filtergroup.is-legend .jkp-calendar-legends span{font-size:7px!important;margin:0!important;white-space:nowrap}
.jkp-calendar-filtergroup.is-legend .jkp-calendar-legends i{width:7px!important;height:7px!important}

/* Toolbar direkt an den Kalender heranrücken. */
.jkp-calendar-toolbar{margin-top:0!important;margin-bottom:6px!important;padding-top:5px!important;padding-bottom:5px!important}
.jkp-calendar-nav .jkp-btn[data-cal-prev],.jkp-calendar-nav .jkp-btn[data-cal-next]{font-size:15px!important;font-weight:950!important;line-height:1!important;touch-action:manipulation}

/* Pfeile in Spieler-/Kaderkarten zuverlässig klickbar – auch in draggable Karten. */
.jkp-card-toggle,.jkp-mobile-table-toggle,.jkp-strength-toggle{
  position:relative!important;z-index:8!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-user-select:none!important;user-select:none!important
}

/* Ganztägige Termine sind bewusst keine '00:00'-Termine. */
.jkp-cal-event.is-all-day{
  min-height:24px!important;
  border-style:solid!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--jkp-team-color) 20%,#fff),color-mix(in srgb,var(--jkp-team-color) 7%,#fff))!important;
  box-shadow:inset 0 -2px 0 var(--jkp-venue-color)!important
}
.jkp-cal-event.is-all-day .jkp-allday-badge{
  display:inline-flex;align-items:center;padding:1px 3px;border-radius:4px;background:color-mix(in srgb,var(--jkp-team-color) 16%,#fff);
  color:color-mix(in srgb,var(--jkp-team-color) 80%,#203547);font-size:5.5px!important;font-weight:950!important;letter-spacing:.02em
}
.jkp-cal-event.is-all-day .jkp-cal-allday-range{font-size:7.5px!important;font-weight:950!important;color:color-mix(in srgb,var(--jkp-team-color) 78%,#344c5e)}
.jkp-cal-event.is-multiday{position:relative!important}
.jkp-cal-event.is-multiday::after{content:'';position:absolute;left:4px;right:4px;bottom:2px;height:2px;border-radius:2px;background:var(--jkp-team-color);opacity:.38;pointer-events:none}
.jkp-cal-event.is-multiday.is-span-start{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}
.jkp-cal-event.is-multiday.is-span-middle{border-radius:2px!important;border-left-width:3px!important}
.jkp-cal-event.is-multiday.is-span-end{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}
.jkp-multiday-mark{display:inline-block;margin-right:2px;color:var(--jkp-team-color);font-weight:950}

@media(max-width:1250px){
  .jkp-today-events{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .jkp-calendar-smartrow{grid-template-columns:1fr!important}
  .jkp-calendar-filterpanel .jkp-calendar-filters{grid-template-columns:1fr!important}
  .jkp-calendar-filtergroup.is-teams,.jkp-calendar-filtergroup.is-side,.jkp-calendar-filtergroup.is-venues,.jkp-calendar-filtergroup.is-external,.jkp-calendar-filtergroup.is-legend{grid-column:1!important}
}
@media(max-width:760px){
  .jkp-calendar-smartrow{margin:5px 0 6px!important}
  .jkp-today-events{grid-template-columns:1fr 1fr!important}
  .jkp-calendar-filterpanel>summary{padding:6px 7px;min-height:34px}
  .jkp-calendar-filterpanel>summary small{display:none}
  .jkp-calendar-filterpanel .jkp-calendar-filters{padding:6px!important;gap:6px!important}
  .jkp-calendar-filtergroup.is-legend .jkp-calendar-legends{grid-template-columns:1fr}
  .jkp-free-slot-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .jkp-free-slot-actions .jkp-btn{width:100%;justify-content:center}
  .jkp-cal-event.is-all-day .jkp-allday-badge{font-size:5px!important;padding:1px 2px}
}
.jkp-compact-card.is-compact-expanded .jkp-card-toggle,.jkp-plan-member.is-compact-expanded .jkp-card-toggle,.jkp-pool-player.is-compact-expanded .jkp-card-toggle{transform:none!important}

/* =========================================================
   0.2.114 – Filter und Legende als zwei kompakte horizontale Blöcke
   ========================================================= */
.jkp-calendar-filterpanel:not([open]) .jkp-calendar-filterpanel-body{display:none!important}
.jkp-calendar-filterpanel-body{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;padding:5px!important;background:#fff!important}
.jkp-calendar-filterblock,.jkp-calendar-legendblock{min-width:0;border:1px solid #e1e8ed;border-radius:8px;background:#fbfcfd;overflow:hidden}
.jkp-calendar-filterblock-head{display:flex;align-items:center;gap:7px;min-height:25px;padding:4px 7px;border-bottom:1px solid #e7ecef;background:#f5f8fa;color:#314e63}
.jkp-calendar-filterblock-head>b{font-size:7.5px;font-weight:950;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}
.jkp-calendar-filterblock-head>small{font-size:6.5px;font-weight:750;color:#748490;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Filter: ein zusammenhängender horizontaler Bereich; die Gruppen selbst bleiben klein. */
.jkp-calendar-filterpanel .jkp-calendar-filters{display:flex!important;flex-flow:row wrap!important;align-items:flex-start!important;gap:5px!important;margin:0!important;padding:5px!important;border:0!important;background:transparent!important}
.jkp-calendar-filterpanel .jkp-calendar-filtergroup{display:block!important;grid-column:auto!important;order:initial!important;min-width:0!important;margin:0!important;padding:4px 5px!important;border:0!important;border-right:1px solid #e6ebef!important;border-radius:0!important;background:transparent!important}
.jkp-calendar-filterpanel .jkp-calendar-filtergroup:last-child{border-right:0!important}
.jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-teams{flex:2 1 520px!important}
.jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-side{flex:0 1 190px!important}
.jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-venues{flex:2 1 420px!important}
.jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-external{flex:1 1 280px!important}
.jkp-calendar-filterpanel .jkp-calendar-filterhead{min-height:18px!important;margin:0 0 3px!important;gap:4px!important}
.jkp-calendar-filterpanel .jkp-calendar-filterhead>b{font-size:6.5px!important;letter-spacing:.025em!important}
.jkp-calendar-filterpanel .jkp-calendar-filter-actions{display:flex!important;gap:2px!important;margin-left:auto!important}
.jkp-calendar-filterpanel .jkp-calendar-filter-all,.jkp-calendar-filterpanel .jkp-calendar-filter-none{min-height:21px!important;padding:2px 5px!important;border-radius:5px!important;font-size:6px!important;line-height:1!important}
.jkp-calendar-filterpanel .jkp-calendar-teamfilters,
.jkp-calendar-filterpanel .jkp-calendar-sidefilters,
.jkp-calendar-filterpanel .jkp-calendar-venuefilters,
.jkp-calendar-filterpanel .jkp-calendar-externalfilters{display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:3px!important}
.jkp-calendar-filterpanel .jkp-calendar-teamchip,
.jkp-calendar-filterpanel .jkp-calendar-sidechip,
.jkp-calendar-filterpanel .jkp-calendar-venuechip,
.jkp-calendar-filterpanel .jkp-calendar-externalchip{min-height:29px!important;padding:3px 6px!important;margin:0!important;border-radius:8px!important;font-size:7px!important}
.jkp-calendar-filterpanel .jkp-calendar-teamchip{min-width:38px!important}
.jkp-calendar-filterpanel .jkp-calendar-sidechip{min-width:50px!important}
.jkp-calendar-filterpanel .jkp-calendar-venuechip{min-width:64px!important;max-width:125px!important}
.jkp-calendar-filterpanel .jkp-calendar-externalchip{min-width:74px!important;max-width:145px!important}
.jkp-calendar-filterpanel .jkp-calendar-teamchip b,
.jkp-calendar-filterpanel .jkp-calendar-sidechip b,
.jkp-calendar-filterpanel .jkp-calendar-venuechip b,
.jkp-calendar-filterpanel .jkp-calendar-externalchip b{font-size:7px!important;line-height:1.05!important}
.jkp-calendar-filterpanel .jkp-calendar-venuechip .jkp-venue-visibility{font-size:5.5px!important}

/* Legende: eigener zweiter Block, alle Kategorien horizontal und nur bei Bedarf umbrechen. */
.jkp-calendar-legendblock .jkp-calendar-legends{display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:4px 14px!important;margin:0!important;padding:5px 7px!important;font-size:7px!important;color:#526273!important}
.jkp-calendar-legendblock .jkp-calendar-legends>div{display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:3px 5px!important;min-width:0!important;padding:0!important;border:0!important}
.jkp-calendar-legendblock .jkp-calendar-legends>div>b{margin-right:2px!important;font-size:6.5px!important;color:#6c7c88!important;text-transform:uppercase!important;letter-spacing:.02em!important;white-space:nowrap!important}
.jkp-calendar-legendblock .jkp-calendar-legends span{display:inline-flex!important;align-items:center!important;gap:3px!important;margin:0!important;font-size:7px!important;line-height:1.1!important;white-space:nowrap!important}
.jkp-calendar-legendblock .jkp-calendar-legends i{width:7px!important;height:7px!important;flex:0 0 7px!important;border-radius:2px!important}
.jkp-calendar-legendblock .jkp-side-swatch svg{width:7px!important;height:7px!important}

@media(max-width:900px){
  .jkp-calendar-filterpanel .jkp-calendar-filters{gap:4px!important}
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup{flex:1 1 46%!important;border-right:0!important;border-bottom:1px solid #e6ebef!important;padding:4px!important}
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-teams{flex-basis:100%!important}
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup:last-child{border-bottom:0!important}
  .jkp-calendar-legendblock .jkp-calendar-legends{gap:4px 9px!important}
}
@media(max-width:620px){
  .jkp-calendar-filterpanel-body{padding:4px!important;gap:4px!important}
  .jkp-calendar-filterblock-head{min-height:23px;padding:3px 5px}
  .jkp-calendar-filterblock-head>small{display:none}
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup,
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-teams,
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-side,
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-venues,
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-external{flex:1 1 100%!important}
  .jkp-calendar-filterpanel .jkp-calendar-teamfilters,
  .jkp-calendar-filterpanel .jkp-calendar-sidefilters,
  .jkp-calendar-filterpanel .jkp-calendar-venuefilters,
  .jkp-calendar-filterpanel .jkp-calendar-externalfilters{flex-wrap:wrap!important}
  .jkp-calendar-legendblock .jkp-calendar-legends{padding:4px 5px!important;gap:4px 8px!important}
  .jkp-calendar-legendblock .jkp-calendar-legends>div{gap:3px 4px!important}
}
/* 0.2.114 Feinschliff: Filterchips wirklich flach/horizontal. */
.jkp-calendar-filterpanel .jkp-calendar-teamchip em{display:none!important}
.jkp-calendar-filterpanel .jkp-calendar-venuechip .jkp-venue-visibility{display:none!important}
.jkp-calendar-filterpanel .jkp-calendar-teamchip,
.jkp-calendar-filterpanel .jkp-calendar-sidechip,
.jkp-calendar-filterpanel .jkp-calendar-venuechip,
.jkp-calendar-filterpanel .jkp-calendar-externalchip{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;height:27px!important;min-height:27px!important;padding:2px 6px!important;border-radius:6px!important;white-space:nowrap!important}
.jkp-calendar-filterpanel .jkp-calendar-teamchip>span{width:7px!important;height:7px!important;flex:0 0 7px!important}
.jkp-calendar-filterpanel .jkp-calendar-venuechip>span{width:8px!important;height:8px!important;flex:0 0 8px!important}
.jkp-calendar-filterpanel .jkp-calendar-sidechip .jkp-filter-side-icon{width:15px!important;height:15px!important;font-size:9px!important;border-radius:4px!important}


/* =========================================================
   0.2.115 – Desktop-Anmeldung gegen Theme-/Cache-Overrides absichern
   Mobile Darstellung bleibt bewusst unverändert.
   ========================================================= */
@media (min-width:561px){
  html:has(.jkp-login-screen),body:has(.jkp-login-screen){
    min-height:100%!important;
    background:#071428!important;
  }
  body .jkp-login-screen{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    margin:0!important;
    padding:24px!important;
    overflow:auto!important;
    isolation:isolate!important;
    background-color:#071428!important;
    background-image:var(--jkp-login-bg)!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
  /* Eigene Bildschicht als zweiter Fallback: auch wenn ein Theme das
     Hintergrund-Shorthand der Login-Fläche überschreibt, bleibt das Motiv da. */
  body .jkp-login-screen::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:-2!important;
    display:block!important;
    pointer-events:none!important;
    background-color:#071428!important;
    background-image:var(--jkp-login-bg)!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
  body .jkp-login-screen>.jkp-login-shade{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    z-index:-1!important;
  }
  body .jkp-login-screen>.jkp-login-panel{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:2!important;
    width:min(94vw,470px)!important;
    max-width:470px!important;
    margin:auto!important;
  }
  body .jkp-login-screen .jkp-login-logos{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;
    align-items:center!important;
    gap:20px!important;
    min-height:105px!important;
    margin:0 0 16px!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body .jkp-login-screen .jkp-login-logo-slot{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:105px!important;
    min-width:0!important;
    visibility:visible!important;
    opacity:1!important;
    background-image:var(--jkp-login-logo)!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-size:contain!important;
  }
  body .jkp-login-screen .jkp-login-logo-slot>img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    max-width:180px!important;
    height:100px!important;
    max-height:100px!important;
    margin:0 auto!important;
    padding:0!important;
    object-fit:contain!important;
    filter:none!important;
    transform:none!important;
    clip:auto!important;
  }
  body .jkp-login-screen .jkp-login-title,
  body .jkp-login-screen .jkp-login-form,
  body .jkp-login-screen .jkp-login-links{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* =========================================================
   0.2.116 – Filter & Legende: gut lesbar, aber weiterhin kompakt
   Desktop bekommt normale Schriftgroessen und eine saubere horizontale Anordnung.
   Mobile Regeln bleiben unveraendert.
   ========================================================= */
@media (min-width:901px){
  .jkp-calendar-filterpanel>summary{
    min-height:36px!important;
    padding:7px 10px!important;
  }
  .jkp-calendar-filterpanel>summary b{
    font-size:11px!important;
    letter-spacing:.035em!important;
  }
  .jkp-calendar-filterpanel>summary small,
  .jkp-calendar-filterpanel>summary em{
    font-size:9px!important;
  }
  .jkp-calendar-filterpanel>summary::before{
    font-size:12px!important;
  }
  .jkp-calendar-filterpanel-body{
    gap:7px!important;
    padding:7px!important;
  }
  .jkp-calendar-filterblock,
  .jkp-calendar-legendblock{
    border-radius:10px!important;
  }
  .jkp-calendar-filterblock-head{
    min-height:31px!important;
    padding:6px 9px!important;
    gap:8px!important;
  }
  .jkp-calendar-filterblock-head>b{
    font-size:10px!important;
    letter-spacing:.04em!important;
  }
  .jkp-calendar-filterblock-head>small{
    font-size:9px!important;
  }

  /* Vier Filtergruppen in einer Zeile. Auf kleineren Desktopbreiten darf die
     Zeile umbrechen, die Inhalte innerhalb jeder Gruppe bleiben horizontal. */
  .jkp-calendar-filterpanel .jkp-calendar-filters{
    display:grid!important;
    grid-template-columns:minmax(390px,1.45fr) minmax(175px,.55fr) minmax(390px,1.35fr) minmax(255px,.85fr)!important;
    gap:0!important;
    align-items:stretch!important;
    padding:6px 8px!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup,
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-teams,
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-side,
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-venues,
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-external{
    width:auto!important;
    min-width:0!important;
    padding:4px 10px!important;
    border-right:1px solid #e4e9ed!important;
    border-bottom:0!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup:first-child{padding-left:4px!important}
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup:last-child{
    padding-right:4px!important;
    border-right:0!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-filterhead{
    min-height:25px!important;
    margin:0 0 5px!important;
    gap:7px!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-filterhead>b{
    font-size:10px!important;
    letter-spacing:.035em!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-filter-actions{
    gap:4px!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-filter-all,
  .jkp-calendar-filterpanel .jkp-calendar-filter-none{
    min-height:28px!important;
    padding:4px 8px!important;
    border-radius:7px!important;
    font-size:9px!important;
    font-weight:800!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-teamfilters,
  .jkp-calendar-filterpanel .jkp-calendar-sidefilters,
  .jkp-calendar-filterpanel .jkp-calendar-venuefilters,
  .jkp-calendar-filterpanel .jkp-calendar-externalfilters{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    gap:5px!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:1px 1px 3px!important;
    scrollbar-width:thin!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-teamchip,
  .jkp-calendar-filterpanel .jkp-calendar-sidechip,
  .jkp-calendar-filterpanel .jkp-calendar-venuechip,
  .jkp-calendar-filterpanel .jkp-calendar-externalchip{
    flex:0 0 auto!important;
    height:34px!important;
    min-height:34px!important;
    padding:4px 8px!important;
    border-radius:8px!important;
    gap:5px!important;
    font-size:11px!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-teamchip{min-width:43px!important}
  .jkp-calendar-filterpanel .jkp-calendar-sidechip{min-width:64px!important}
  .jkp-calendar-filterpanel .jkp-calendar-venuechip{min-width:72px!important;max-width:170px!important}
  .jkp-calendar-filterpanel .jkp-calendar-externalchip{min-width:88px!important;max-width:180px!important}
  .jkp-calendar-filterpanel .jkp-calendar-teamchip b,
  .jkp-calendar-filterpanel .jkp-calendar-sidechip b,
  .jkp-calendar-filterpanel .jkp-calendar-venuechip b,
  .jkp-calendar-filterpanel .jkp-calendar-externalchip b{
    font-size:11px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-teamchip>span,
  .jkp-calendar-filterpanel .jkp-calendar-venuechip>span,
  .jkp-calendar-filterpanel .jkp-calendar-externalchip>span{
    width:10px!important;
    height:10px!important;
    flex:0 0 10px!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-sidechip .jkp-filter-side-icon{
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
    font-size:11px!important;
    border-radius:6px!important;
  }

  /* Zweite Zeile: Legende ebenfalls horizontal, aber mit lesbarer Schrift. */
  .jkp-calendar-legendblock .jkp-calendar-legends{
    display:grid!important;
    grid-template-columns:minmax(420px,2.2fr) minmax(330px,1.7fr) minmax(150px,.8fr) minmax(190px,1fr)!important;
    align-items:center!important;
    gap:7px 18px!important;
    margin:0!important;
    padding:7px 10px 8px!important;
    font-size:10px!important;
  }
  .jkp-calendar-legendblock .jkp-calendar-legends>div{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    gap:5px 7px!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:1px 0 3px!important;
    scrollbar-width:thin!important;
  }
  .jkp-calendar-legendblock .jkp-calendar-legends>div>b{
    flex:0 0 auto!important;
    margin-right:3px!important;
    font-size:9px!important;
    color:#5d7180!important;
    letter-spacing:.025em!important;
  }
  .jkp-calendar-legendblock .jkp-calendar-legends span{
    flex:0 0 auto!important;
    gap:4px!important;
    font-size:10px!important;
    line-height:1.25!important;
  }
  .jkp-calendar-legendblock .jkp-calendar-legends i{
    width:10px!important;
    height:10px!important;
    flex:0 0 10px!important;
    border-radius:3px!important;
  }
  .jkp-calendar-legendblock .jkp-side-swatch svg{
    width:10px!important;
    height:10px!important;
  }
}

@media (min-width:901px) and (max-width:1450px){
  .jkp-calendar-filterpanel .jkp-calendar-filters{
    grid-template-columns:minmax(360px,1.5fr) minmax(170px,.7fr) minmax(330px,1.35fr)!important;
  }
  .jkp-calendar-filterpanel .jkp-calendar-filtergroup.is-external{
    grid-column:1/-1!important;
    border-right:0!important;
    border-top:1px solid #e4e9ed!important;
    padding-top:7px!important;
  }
  .jkp-calendar-legendblock .jkp-calendar-legends{
    grid-template-columns:1.5fr 1.3fr .7fr .8fr!important;
  }
}

/* 0.2.117 – Mannschaftsaufstellung */
.jkp-lineup-heading{align-items:flex-end}.jkp-lineup-teamtag{padding:8px 12px;border-radius:14px;background:#eef5fb;border:1px solid #cddbe8;font-weight:800;color:#27465f}.jkp-lineup-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px}.jkp-lineup-context-form,.jkp-lineup-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.jkp-lineup-context-form label,.jkp-lineup-actions label{display:grid;gap:4px}.jkp-lineup-context-form label>span,.jkp-lineup-actions label>span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:#64748b}.jkp-lineup-context-form select,.jkp-lineup-actions select{min-width:185px}.jkp-lineup-recommendation{margin:0 0 12px;padding:10px 14px;border:1px solid #b9d8c2;background:#effaf1;border-radius:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.jkp-lineup-recommendation b{color:#1d5d31}.jkp-lineup-recommendation span{font-weight:800}.jkp-lineup-recommendation small{color:#5d6a65}
.jkp-lineup-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:14px;align-items:start}.jkp-lineup-board,.jkp-lineup-squad{padding:14px}.jkp-lineup-board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.jkp-lineup-board-head>div:first-child{display:grid;gap:3px}.jkp-lineup-board-head b{font-size:18px}.jkp-lineup-board-head span{font-size:12px;color:#64748b;max-width:720px}.jkp-lineup-score{text-align:right;display:grid;gap:2px}.jkp-lineup-score small{font-size:10px;text-transform:uppercase;font-weight:800;color:#718096}.jkp-lineup-score strong{font-size:20px;color:#173d5c}
.jkp-lineup-pitch{position:relative;width:100%;aspect-ratio:1.42/1;min-height:480px;overflow:hidden;border-radius:22px;border:3px solid rgba(255,255,255,.86);box-shadow:inset 0 0 0 1px rgba(18,75,40,.25),0 12px 28px rgba(30,64,45,.12);background:repeating-linear-gradient(90deg,#4d9a61 0,#4d9a61 12.5%,#559f68 12.5%,#559f68 25%)}.jkp-lineup-pitch:before{content:"";position:absolute;inset:4.5%;border:2px solid rgba(255,255,255,.8);pointer-events:none}.jkp-pitch-centerline{position:absolute;left:4.5%;right:4.5%;top:50%;height:2px;background:rgba(255,255,255,.78)}.jkp-pitch-circle{position:absolute;width:18%;aspect-ratio:1;border:2px solid rgba(255,255,255,.78);border-radius:50%;left:41%;top:50%;transform:translateY(-50%)}.jkp-pitch-circle:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}.jkp-pitch-box{position:absolute;left:31%;width:38%;height:16%;border:2px solid rgba(255,255,255,.78)}.jkp-pitch-box.top{top:4.5%;border-top:0}.jkp-pitch-box.bottom{bottom:4.5%;border-bottom:0}
.jkp-lineup-slot{position:absolute;width:116px;min-height:58px;transform:translate(-50%,-50%);z-index:4;display:grid;place-items:center;border-radius:14px;transition:.12s ease}.jkp-lineup-slot.is-dragover{background:rgba(255,255,255,.35);outline:3px dashed rgba(255,255,255,.95);outline-offset:3px}.jkp-lineup-slot-label{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:rgba(18,55,38,.82);color:#fff;font-weight:900;font-size:9px;padding:2px 6px;border-radius:8px;white-space:nowrap}.jkp-lineup-empty{width:72px;height:48px;border:2px dashed rgba(255,255,255,.8);background:rgba(18,72,41,.22);color:#fff;border-radius:14px;display:grid;place-items:center;font-weight:900;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.25)}.jkp-lineup-empty small{font-size:8px;font-weight:700;opacity:.92}
.jkp-lineup-player{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;padding:7px 8px;border:2px solid #d7e1e9;border-radius:13px;background:rgba(255,255,255,.97);box-shadow:0 4px 12px rgba(24,49,68,.12);cursor:grab;color:#263746}.jkp-lineup-player:active{cursor:grabbing}.jkp-lineup-player.is-selected{outline:3px solid #265f94;outline-offset:2px}.jkp-lineup-player.is-dragging{opacity:.55}.jkp-lineup-player>div{min-width:0;display:grid}.jkp-lineup-player b{font-size:11px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-lineup-player small{font-size:8px;color:#687787;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-lineup-player>strong{font-size:10px;background:#edf3f7;border-radius:8px;padding:3px 5px}.jkp-lineup-fit{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900;border:1px solid currentColor}.jkp-lineup-player.is-natural{border-color:#2f855a}.jkp-lineup-player.is-natural .jkp-lineup-fit{color:#1f7a49;background:#e8f7ee}.jkp-lineup-player.is-secondary{border-color:#82a940}.jkp-lineup-player.is-secondary .jkp-lineup-fit{color:#63851d;background:#f3f8e8}.jkp-lineup-player.is-compatible{border-color:#d49a2b}.jkp-lineup-player.is-compatible .jkp-lineup-fit{color:#9a650b;background:#fff5dd}.jkp-lineup-player.is-emergency{border-color:#c65b5b;background:#fff7f7}.jkp-lineup-player.is-emergency .jkp-lineup-fit{color:#a63b3b;background:#ffe8e8}.jkp-lineup-slot>.jkp-lineup-player{width:116px}.jkp-lineup-captain,.jkp-lineup-remove{position:absolute;width:19px;height:19px;border-radius:50%;border:1px solid #cbd7e2;background:#fff;font-size:10px;font-weight:900;display:grid;place-items:center;padding:0;cursor:pointer}.jkp-lineup-captain{top:-9px;right:13px;color:#9a6b00}.jkp-lineup-captain.is-active{background:#f9d966;border-color:#d3a900;color:#5d4600}.jkp-lineup-remove{top:-9px;right:-7px;color:#8b3d3d}
.jkp-lineup-zones{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.jkp-lineup-zone{border:1px dashed #bccbd8;border-radius:15px;padding:9px;background:#f8fbfd;min-height:84px}.jkp-lineup-zone.is-dragover{border-color:#2c6c9d;background:#edf7ff}.jkp-lineup-zone.is-unavailable{background:#fbf8f8}.jkp-lineup-zone>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px}.jkp-lineup-zone>div:first-child b{font-size:12px}.jkp-lineup-zone>div:first-child small{font-size:9px;color:#77838f}.jkp-lineup-zone-list{display:flex;gap:6px;flex-wrap:wrap}.jkp-lineup-zone-list .jkp-lineup-player{width:190px}.jkp-lineup-zone-empty{font-size:10px;color:#8a97a3;padding:5px}
.jkp-lineup-squad{position:sticky;top:12px}.jkp-lineup-squad-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:10px}.jkp-lineup-squad-head h3{margin:0}.jkp-lineup-squad-head p{margin:2px 0 0;font-size:10px;color:#718096}.jkp-lineup-squad-head input{max-width:180px}.jkp-lineup-pool{display:grid;gap:6px;max-height:680px;overflow:auto;padding:3px}.jkp-lineup-pool.is-dragover{outline:2px dashed #3b78a8;outline-offset:2px;border-radius:10px}.jkp-lineup-pool .jkp-lineup-player{width:100%}.jkp-lineup-fit-legend{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;padding-top:8px;border-top:1px solid #e1e9ef}.jkp-lineup-fit-legend span{font-size:9px;font-weight:800;border-radius:8px;padding:3px 6px}.jkp-lineup-fit-legend .is-natural{background:#e8f7ee;color:#1f7a49}.jkp-lineup-fit-legend .is-secondary{background:#f3f8e8;color:#63851d}.jkp-lineup-fit-legend .is-compatible{background:#fff5dd;color:#9a650b}.jkp-lineup-fit-legend .is-emergency{background:#ffe8e8;color:#a63b3b}.jkp-lineup-save{display:flex;align-items:end;gap:10px;margin-top:14px;padding:12px 14px;flex-wrap:wrap}.jkp-lineup-note{display:grid;gap:4px;min-width:320px;flex:1}.jkp-lineup-note span{font-size:10px;font-weight:800;text-transform:uppercase;color:#64748b}
/* Aufstellungsadministration */
.jkp-lineup-settings-intro{margin-bottom:12px}.jkp-lineup-param-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.jkp-lineup-param-grid label,.jkp-formation-meta label,.jkp-new-formation label{display:grid;gap:4px}.jkp-lineup-param-grid label>span,.jkp-formation-meta label>span,.jkp-new-formation label>span{font-size:10px;font-weight:800;text-transform:uppercase;color:#657383}.jkp-lineup-param-grid small{font-size:9px;color:#7b8793}.jkp-lineup-settings-details{margin-top:12px;border:1px solid #d8e2ea;border-radius:14px;background:#fbfdff}.jkp-lineup-settings-details>summary{cursor:pointer;padding:11px 13px;display:flex;justify-content:space-between;gap:10px}.jkp-lineup-settings-details>summary span{font-size:10px;color:#718096}.jkp-lineup-settings-details[open]{padding-bottom:12px}.jkp-lineup-settings-details[open]>summary{border-bottom:1px solid #e4ebf0;margin-bottom:10px}.jkp-lineup-settings-details>p,.jkp-lineup-settings-details>div{margin-left:12px;margin-right:12px}.jkp-role-profile-grid,.jkp-formation-admin-list{display:grid;gap:7px}.jkp-role-profile,.jkp-formation-admin{border:1px solid #e0e7ed;border-radius:10px;background:white}.jkp-role-profile>summary,.jkp-formation-admin>summary{padding:8px 10px;cursor:pointer;display:flex;gap:10px;align-items:center}.jkp-role-profile>summary span,.jkp-formation-admin>summary span{font-size:10px;color:#758391}.jkp-role-weight-list{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:6px;padding:9px}.jkp-role-weight-list label{display:grid;grid-template-columns:1fr 56px;align-items:center;gap:6px;font-size:10px}.jkp-role-weight-list input{text-align:center}.jkp-formation-meta{display:grid;grid-template-columns:1fr 2fr;gap:8px;padding:8px 10px}.jkp-formation-slot-admin{padding:0 10px 10px}.jkp-formation-slot-head,.jkp-formation-slot-row{display:grid;grid-template-columns:120px minmax(180px,1fr) 70px 70px;gap:6px;align-items:center}.jkp-formation-slot-head{font-size:9px;text-transform:uppercase;font-weight:800;color:#6e7c89;padding:4px 2px}.jkp-formation-slot-row{margin-top:4px}.jkp-new-formation{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(130px,1fr);gap:9px;align-items:end;padding:10px 0}.jkp-new-formation h4{margin:0}.jkp-new-formation small{grid-column:2/-1;font-size:9px;color:#72808e}
@media(max-width:1180px){.jkp-lineup-layout{grid-template-columns:1fr}.jkp-lineup-squad{position:static}.jkp-lineup-pool{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.jkp-lineup-param-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.jkp-role-weight-list{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:760px){.jkp-lineup-toolbar{padding:10px}.jkp-lineup-context-form,.jkp-lineup-actions{width:100%}.jkp-lineup-context-form label,.jkp-lineup-actions label{flex:1;min-width:145px}.jkp-lineup-context-form select,.jkp-lineup-actions select{min-width:0;width:100%}.jkp-lineup-actions .jkp-btn{flex:1}.jkp-lineup-pitch{min-height:520px;aspect-ratio:.72/1}.jkp-lineup-slot{width:92px}.jkp-lineup-slot>.jkp-lineup-player{width:92px;padding:5px}.jkp-lineup-player b{font-size:9px}.jkp-lineup-player small{font-size:7px}.jkp-lineup-player>strong{font-size:8px}.jkp-lineup-zones{grid-template-columns:1fr}.jkp-lineup-zone-list .jkp-lineup-player{width:calc(50% - 4px)}.jkp-lineup-pool{grid-template-columns:1fr 1fr}.jkp-lineup-save{align-items:stretch}.jkp-lineup-note{min-width:100%;}.jkp-lineup-param-grid{grid-template-columns:1fr 1fr}.jkp-role-weight-list{grid-template-columns:1fr}.jkp-formation-meta{grid-template-columns:1fr}.jkp-formation-slot-head,.jkp-formation-slot-row{grid-template-columns:72px minmax(125px,1fr) 48px 48px}.jkp-new-formation{grid-template-columns:1fr 1fr}.jkp-new-formation h4,.jkp-new-formation small{grid-column:1/-1}}


/* =========================================================
   0.2.119 – Spielernamen in Kader und Aufstellung besser lesbar
   ========================================================= */
/* Normale Kader-/Jahrgangslisten: Name ist die wichtigste Information. */
.jkp-player-compact .jkp-playerline>b{
  font-size:14.5px!important;
  line-height:1.25!important;
  font-weight:850!important;
  color:#14283b!important;
  letter-spacing:.005em!important;
}

/* Aufstellung: kompletter Name deutlich, Positionskürzel nur sekundär. */
.jkp-lineup-player b{
  color:#14283b!important;
  font-weight:850!important;
  letter-spacing:.005em!important;
}
.jkp-lineup-player.is-pool b{
  font-size:14px!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.jkp-lineup-player.is-pool small{
  font-size:10px!important;
  line-height:1.2!important;
  color:#596a79!important;
}
.jkp-lineup-player.is-bench b,.jkp-lineup-player.is-unavailable b{
  font-size:12.5px!important;
  line-height:1.2!important;
}
.jkp-lineup-player.is-bench small,.jkp-lineup-player.is-unavailable small{
  font-size:9px!important;
}
/* Auf dem Feld dürfen lange Namen auf zwei Zeilen laufen statt unlesbar abgeschnitten zu werden. */
.jkp-lineup-player.is-field b{
  font-size:11.5px!important;
  line-height:1.12!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  max-height:2.3em!important;
}
.jkp-lineup-player.is-field small{
  font-size:8.5px!important;
  line-height:1.1!important;
}
.jkp-lineup-pool .jkp-lineup-player{
  min-height:49px!important;
  padding:8px 9px!important;
}
@media(max-width:760px){
  .jkp-player-compact .jkp-playerline>b{font-size:13.5px!important}
  .jkp-lineup-player.is-pool b{font-size:13px!important}
  .jkp-lineup-player.is-pool small{font-size:9px!important}
  .jkp-lineup-player.is-field b{font-size:10.5px!important}
  .jkp-lineup-player.is-field small{font-size:7.5px!important}
}


/* 0.2.120 – Absagen aus Termin-Umfragen automatisch in Nicht verfügbar */
.jkp-lineup-player.is-poll-declined{border-color:#d46a6a!important;background:#fff2f2!important;cursor:not-allowed!important;opacity:.9}.jkp-lineup-player.is-poll-declined .jkp-lineup-fit{color:#a92f2f!important;background:#ffe0e0!important;border-color:#d46a6a!important}.jkp-lineup-player.is-poll-declined small{color:#a33f3f!important;font-weight:800}.jkp-lineup-zone.is-unavailable .jkp-lineup-player.is-poll-declined{box-shadow:0 4px 12px rgba(170,45,45,.10)}


/* 0.2.121 – Spieler aus anderen Mannschaften in die Aufstellung aufnehmen */
.jkp-lineup-extra-picker{margin:0 0 10px;border:1px solid #d9e3eb;border-radius:12px;background:#f8fbfd;overflow:hidden}
.jkp-lineup-extra-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;cursor:pointer;list-style:none;font-size:11px;color:#33495b}
.jkp-lineup-extra-picker>summary::-webkit-details-marker{display:none}.jkp-lineup-extra-picker>summary:after{content:'▾';font-size:12px;color:#6f8190;margin-left:auto}.jkp-lineup-extra-picker[open]>summary:after{content:'▴'}
.jkp-lineup-extra-picker>summary span{font-size:9px;color:#72808d;font-weight:700;white-space:nowrap;margin-left:8px}
.jkp-lineup-extra-body{border-top:1px solid #e1e9ef;padding:9px;background:#fff}
.jkp-lineup-extra-tools{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.2fr);gap:7px;margin-bottom:8px}.jkp-lineup-extra-tools select,.jkp-lineup-extra-tools input{width:100%;min-width:0}
.jkp-lineup-extra-list{display:grid;gap:5px;max-height:310px;overflow:auto;padding-right:2px}
.jkp-lineup-extra-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e1e8ee;border-radius:10px;padding:7px 8px;background:#fbfdff}.jkp-lineup-extra-row.is-added{border-color:#8bb6d3;background:#edf7ff}
.jkp-lineup-extra-row>div{min-width:0;display:grid;gap:2px}.jkp-lineup-extra-row b{font-size:11.5px;line-height:1.15;color:#263746;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-lineup-extra-row small{font-size:8.5px;line-height:1.2;color:#708090;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jkp-lineup-extra-row .jkp-btn{padding:5px 8px;font-size:9px;min-height:28px}
.jkp-lineup-player.is-borrowed{box-shadow:inset 3px 0 0 #3f83b5,0 4px 12px rgba(24,49,68,.12)}.jkp-lineup-player.is-borrowed small{color:#416d8d}.jkp-lineup-fit-legend .is-borrowed{background:#e7f2fb;color:#2d6d9a}
@media(max-width:760px){.jkp-lineup-extra-tools{grid-template-columns:1fr}.jkp-lineup-extra-list{max-height:260px}.jkp-lineup-extra-row b{font-size:11px}.jkp-lineup-extra-row small{font-size:8px}}

/* =========================================================
   0.2.123 – Busbelegung: Wochenansicht + externer Buskalender
   ========================================================= */
.jkp-calendar-card.is-bus-view .jkp-calendar-sort,
.jkp-calendar-card.is-bus-view .jkp-calendar-fontsize,
.jkp-calendar-card.is-bus-view .jkp-calendar-slothours{display:none!important}
.jkp-cal-busweek{display:grid;gap:10px;min-width:0}
.jkp-bus-week-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid #dbe5ec;border-radius:12px;background:#f8fbfd}
.jkp-bus-week-summary span{display:inline-flex;align-items:baseline;gap:4px;padding:4px 8px;border-radius:9px;background:#fff;border:1px solid #e1e8ed;font-size:11px;color:#45596a}
.jkp-bus-week-summary span b{font-size:14px;color:#173d5c}.jkp-bus-week-summary small{font-size:10px;color:#6f7d89;margin-left:auto}
.jkp-bus-week-scroll{overflow:auto;border:1px solid #d8e2e9;border-radius:14px;background:#fff;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.jkp-bus-week-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.jkp-bus-week-table th,.jkp-bus-week-table td{border-right:1px solid #e4eaef;border-bottom:1px solid #e4eaef;vertical-align:top}
.jkp-bus-week-table thead th{position:sticky;top:0;z-index:3;background:#f5f8fa;padding:8px 6px;text-align:center;font-size:10px;color:#526575}
.jkp-bus-week-table thead th:first-child{left:0;z-index:5;width:150px;text-align:left;padding-left:10px}
.jkp-bus-week-table thead th b{display:block;font-size:11px;color:#243b4d}.jkp-bus-week-table thead th span{font-size:9px;color:#768592}.jkp-bus-week-table thead th.is-today{background:#eaf5fb;color:#1e5f8b}
.jkp-bus-week-table tbody>tr:last-child>th,.jkp-bus-week-table tbody>tr:last-child>td{border-bottom:0}.jkp-bus-week-table tr>*:last-child{border-right:0}
.jkp-bus-week-table td{padding:5px;background:#fff;min-height:74px}.jkp-bus-week-table td.is-today{background:#fbfeff}
.jkp-bus-rowhead{position:sticky;left:0;z-index:2;width:150px;background:#f8fafb!important;padding:9px 9px!important;text-align:left!important}
.jkp-bus-rowhead i{display:block;width:28px;height:5px;border-radius:5px;background:var(--jkp-bus-color,#d97706);margin-bottom:6px}.jkp-bus-rowhead b{display:block;font-size:13px;line-height:1.2;color:#203849}.jkp-bus-rowhead small{display:block;margin-top:3px;font-size:9px;line-height:1.2;color:#71808d}
.jkp-bus-bookings{display:grid;gap:5px}.jkp-bus-empty{display:grid;place-items:center;min-height:58px;font-size:9px;font-weight:700;color:#9aa6af}
.jkp-bus-booking{appearance:none;width:100%;min-width:0;text-align:left;border:1px solid #d9e2e8;border-left:5px solid var(--jkp-bus-color,#d97706);border-radius:10px;background:#fff;padding:7px 7px;display:grid;gap:2px;cursor:pointer;box-shadow:0 2px 7px rgba(36,55,70,.06);color:#263b4a}
.jkp-bus-booking:hover{border-color:#aac2d3;box-shadow:0 4px 10px rgba(36,55,70,.10)}.jkp-bus-booking.is-auto{background:#f7fbfe}.jkp-bus-booking.is-warning{background:#fff9ef;border-color:#e4c783;border-left-color:#d39a2c}.jkp-bus-booking.is-external-only{border-style:dashed}
.jkp-bus-booking-time{font-size:10px;font-weight:900;color:#173d5c;line-height:1.15}.jkp-bus-booking strong{font-size:12px;line-height:1.15;color:#172f41;white-space:normal;overflow-wrap:anywhere}.jkp-bus-booking-detail{font-size:10px;line-height:1.2;color:#526575;white-space:normal;overflow-wrap:anywhere}
.jkp-bus-booking small{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:2px}.jkp-bus-booking small em{font-style:normal;font-size:7.5px;font-weight:900;letter-spacing:.04em;color:#2f6e98;background:#e4f1fa;border-radius:5px;padding:2px 4px}.jkp-bus-booking small b{font-size:8px;line-height:1.15;color:#946314}
.jkp-bus-open-list{border:1px solid #ead4a6;border-radius:12px;background:#fffaf0;padding:10px}.jkp-bus-open-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:7px}.jkp-bus-open-head b{font-size:12px;color:#7d5815}.jkp-bus-open-head span{font-size:9px;color:#806f54}.jkp-bus-open-list>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:6px}.jkp-bus-open-list article{display:grid;gap:2px;border:1px solid #ecdcb9;background:#fff;padding:7px 8px;border-radius:9px}.jkp-bus-open-list article b{font-size:10px;color:#614a20}.jkp-bus-open-list article span{font-size:10px;color:#394d5d}.jkp-bus-open-list article small{font-size:8.5px;color:#936816}
.jkp-external-bus-card .jkp-external-import-settings{grid-template-columns:minmax(260px,1fr) auto}.jkp-external-bus-preview td select{min-width:175px}.jkp-external-bus-preview td small{display:block;margin-top:4px;line-height:1.2}
@media(max-width:900px){.jkp-bus-week-summary small{width:100%;margin-left:0}.jkp-bus-week-table{min-width:860px}.jkp-bus-week-table thead th:first-child,.jkp-bus-rowhead{width:125px}.jkp-bus-open-list>div:last-child{grid-template-columns:1fr}.jkp-external-bus-card .jkp-external-import-settings{grid-template-columns:1fr}}


/* =========================================================
   0.2.124 – Bus-Pool-Vorschlag + mobile Aufstellung sauber einpassen
   ========================================================= */
.jkp-calendar-bus-suggestion{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 8px;padding:8px 9px;border:1px solid #c9dfd0;border-radius:10px;background:#f0faf3;color:#28543a}
.jkp-calendar-bus-suggestion[hidden]{display:none!important}.jkp-calendar-bus-suggestion span{font-size:10px;font-weight:750;line-height:1.3}.jkp-calendar-bus-suggestion.is-applied{border-color:#8fb9d8;background:#eef7fd;color:#255777}
.jkp-lineup-layout,.jkp-lineup-board,.jkp-lineup-squad,.jkp-lineup-board-head,.jkp-lineup-board-head>div{min-width:0!important;max-width:100%}
@media(max-width:760px){
  .jkp-lineup-layout{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .jkp-lineup-board{width:100%!important;max-width:100%!important;padding:10px!important;overflow:hidden!important}
  .jkp-lineup-board-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:7px!important;margin-bottom:8px!important}
  .jkp-lineup-board-head>div:first-child{min-width:0!important}
  .jkp-lineup-board-head b{font-size:16px!important;line-height:1.15!important}
  .jkp-lineup-board-head span{display:block!important;max-width:100%!important;font-size:10px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
  .jkp-lineup-score{min-width:52px!important}.jkp-lineup-score small{font-size:7.5px!important;line-height:1.05!important}.jkp-lineup-score strong{font-size:17px!important}
  .jkp-lineup-pitch{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;aspect-ratio:.72/1!important;margin:0 auto!important;border-width:2px!important;border-radius:16px!important;overflow:hidden!important}
  .jkp-lineup-slot{width:min(84px,25.5vw)!important;min-height:50px!important;max-width:84px!important}
  .jkp-lineup-slot>.jkp-lineup-player{width:100%!important;max-width:84px!important;padding:5px 5px!important;grid-template-columns:18px minmax(0,1fr) auto!important;gap:3px!important;border-radius:10px!important}
  .jkp-lineup-fit{width:17px!important;height:17px!important;font-size:8px!important}
  .jkp-lineup-empty{width:min(68px,21vw)!important;height:44px!important;border-radius:11px!important;font-size:12px!important;line-height:1!important;padding:3px!important}
  .jkp-lineup-empty small{font-size:6.8px!important;line-height:1.1!important;text-align:center!important}
  .jkp-lineup-slot-label{top:-12px!important;font-size:7.5px!important;padding:2px 5px!important}
  .jkp-lineup-player.is-field b{font-size:9.5px!important;line-height:1.06!important;-webkit-line-clamp:2!important;max-height:2.2em!important}
  .jkp-lineup-player.is-field small{font-size:6.8px!important;line-height:1.05!important}
  .jkp-lineup-player.is-field>strong{font-size:7px!important;padding:2px 3px!important}
  .jkp-lineup-captain,.jkp-lineup-remove{width:17px!important;height:17px!important;font-size:8px!important}
  .jkp-lineup-captain{top:-8px!important;right:11px!important}.jkp-lineup-remove{top:-8px!important;right:-5px!important}
}
@media(max-width:430px){
  .jkp-lineup-board{padding:8px!important}
  .jkp-lineup-pitch{aspect-ratio:.70/1!important}
  .jkp-lineup-slot{width:min(78px,24vw)!important;max-width:78px!important}
  .jkp-lineup-slot>.jkp-lineup-player{max-width:78px!important}
  .jkp-lineup-empty{width:min(62px,19vw)!important}
  .jkp-lineup-player.is-field b{font-size:9px!important}
  .jkp-lineup-slot-label{font-size:7px!important}
}

/* 0.2.125 – Sichtbarkeit externer Termine direkt per AJAX */
.jkp-external-visibility-form{display:flex;flex-direction:column;gap:3px;width:100%;margin:0!important}.jkp-external-visibility-state{display:block;min-height:12px;color:#24704a;font-size:9px;font-weight:800;line-height:1.2}.jkp-external-visibility-state.is-hidden{color:#7a5a17}.jkp-external-visibility-state.is-error{color:#b42318}.jkp-external-preview-table tr.is-calendar-hidden{background:#fafafa}.jkp-external-preview-table tr.is-calendar-hidden>td:not(:last-child){opacity:.62}.jkp-external-visibility-form button:disabled{opacity:.65;cursor:wait}


/* 0.2.126 – Gastbelegungen im Kalender eindeutig identifizierbar */
.jkp-cal-event.is-external-guest{border-left-width:4px!important;background:color-mix(in srgb,var(--jkp-team-color,#7655a6) 13%,#fff)!important}
.jkp-cal-event.is-external-guest .jkp-cal-team{font-weight:950!important;letter-spacing:.03em}
.jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-external-guest .jkp-cal-cause,
.jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-external-guest .jkp-cal-cause,
.jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-external-guest .jkp-cal-cause{font-weight:900!important}
.jkp-slot-occupant.is-guest{background:color-mix(in srgb,var(--jkp-team-color,#7655a6) 13%,#fff)!important;border-left:3px solid var(--jkp-team-color,#7655a6)!important}
.jkp-slot-occupant.is-guest b{font-weight:950!important;color:#4d356d!important}
.jkp-slot-occupant.is-guest small{font-weight:900!important;color:#384b5b!important}
.jkp-slot-guest-source{color:#6d5b7d!important;font-weight:700!important}
@media(min-width:761px){.jkp-slot-occupant.is-guest small{font-size:6.5px!important}.jkp-slot-occupant.is-guest .jkp-slot-guest-source{font-size:5.7px!important}}


/* =========================================================
   0.2.127 – Bus in Monatsansicht, robuste Bus-Woche, Platz bei Heute
   ========================================================= */
/* Das Bussymbol liegt absolut in der bestehenden Terminzeile und erhöht die Kartenhöhe nicht. */
.jkp-cal-event.is-month-compact{position:relative!important}
.jkp-cal-event.is-month-compact:has(.jkp-cal-month-bus){padding-right:21px!important}
.jkp-cal-month-bus{
  position:absolute;right:4px;top:50%;transform:translateY(-50%);
  display:inline-flex;align-items:center;justify-content:center;
  width:15px;height:15px;min-width:15px;line-height:1;font-size:10px!important;
  border-radius:50%;background:#fff7ed;border:1px solid #fed7aa;
  color:#9a3412;z-index:2;pointer-events:none
}
@media(max-width:760px){
  .jkp-cal-event.is-month-compact:has(.jkp-cal-month-bus){padding-right:18px!important}
  .jkp-cal-month-bus{right:2px;width:14px;height:14px;min-width:14px;font-size:9px!important}
}

.jkp-bus-week-emptyhint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid #dbe5ec;border-radius:10px;background:#f8fbfd;color:#526575}
.jkp-bus-week-emptyhint b{font-size:11px;color:#2b465a}.jkp-bus-week-emptyhint span{font-size:9px}

/* Heute im Verein: Spielort bleibt in derselben Zeile, die Karten werden nicht höher. */
.jkp-today-events button{grid-template-columns:auto auto minmax(0,1fr) auto!important}
.jkp-today-place{display:block;min-width:0;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:7.5px!important;font-weight:750;color:#637786}
@media(max-width:760px){
  .jkp-today-events button{grid-template-columns:auto auto minmax(0,1fr) auto!important}
  .jkp-today-place{max-width:78px;font-size:7px!important}
}
@media(max-width:430px){
  .jkp-today-place{max-width:68px}
}


/* =========================================================
   0.2.128 – „Heute im Verein“ platzweise und deutlich kompakter
   ========================================================= */
.jkp-calendar-today{padding:7px 8px!important}
.jkp-today-head{align-items:center!important;gap:8px!important}
.jkp-today-head small{font-size:7px!important}
.jkp-today-head h3{font-size:12px!important;margin-top:1px!important}
.jkp-today-counts{gap:3px!important}
.jkp-today-counts span{padding:2px 5px!important;font-size:7px!important;border-radius:6px!important}
.jkp-today-counts b{font-size:8.5px!important}

/* Plätze bilden die Hauptgruppen. Dadurch muss der Platz nicht in jedem Termin erneut stehen. */
.jkp-today-events,.jkp-today-more,.jkp-today-place{display:none!important}
.jkp-today-venues{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));
  gap:5px;margin-top:5px;align-items:start
}
.jkp-today-venue{min-width:0;border:1px solid #e1e8ed;border-radius:7px;background:#fbfcfd;overflow:hidden}
.jkp-today-venue>header{
  display:flex;align-items:center;gap:5px;min-height:23px;padding:3px 5px;
  border-bottom:1px solid #e8edf1;background:#f3f7f9
}
.jkp-today-venue>header>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;color:#29495f}
.jkp-today-venue>header>span{margin-left:auto;flex:0 0 auto;font-size:6.5px;font-weight:800;color:#758590}
.jkp-today-venue-status{flex:0 0 auto;padding:1px 3px;border-radius:4px;background:#edf1f4;font-style:normal;font-size:5.5px;font-weight:900;color:#687985}
.jkp-today-venue-status.is-blocked{background:#ffeaea;color:#973838}
.jkp-today-venue-status.is-restricted{background:#fff4d8;color:#836516}
.jkp-today-venue-status.is-match_only{background:#eaf3ff;color:#35648e}
.jkp-today-venue-status.is-info_only{background:#eef0f2;color:#606a71}
.jkp-today-venue-events{display:flex;flex-direction:column}
.jkp-today-venue-events button{
  display:grid!important;grid-template-columns:38px 31px minmax(0,1fr) 15px!important;
  align-items:center;gap:3px;min-width:0;min-height:22px!important;padding:2px 4px!important;
  border:0!important;border-bottom:1px solid #edf1f3!important;border-left:2px solid var(--jkp-team-color,#246a9a)!important;
  border-radius:0!important;background:#fff!important;text-align:left;cursor:pointer
}
.jkp-today-venue-events button:last-child{border-bottom:0!important}
.jkp-today-venue-events button:hover{background:#f6fafc!important}
.jkp-today-venue-events button>b{font-size:7px!important;color:#536b7a;font-variant-numeric:tabular-nums;white-space:nowrap}
.jkp-today-venue-events button>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px!important;color:var(--jkp-team-color,#246a9a)}
.jkp-today-venue-events button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px!important;color:#344c5e}
.jkp-today-venue-events button>i{font-style:normal;font-size:9px;line-height:1;text-align:center}
.jkp-today-statuses{margin-top:4px!important;padding-top:4px!important}

@media(max-width:760px){
  .jkp-calendar-today{padding:6px!important}
  .jkp-today-head h3{font-size:11px!important}
  .jkp-today-venues{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .jkp-today-venue-events button{grid-template-columns:35px 28px minmax(0,1fr) 14px!important;min-height:21px!important;padding:2px 3px!important}
}
@media(max-width:460px){
  .jkp-today-venues{grid-template-columns:1fr}
}

/* =========================================================
   0.2.130 – Busplanung: offene Fahrten direkt bearbeiten
   ========================================================= */
.jkp-bus-week-summary .jkp-bus-new-event{margin-left:auto;white-space:nowrap}
.jkp-bus-open-list>div:last-child{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:7px}
.jkp-bus-open-list article{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:7px!important;align-items:center!important;padding:8px!important}
.jkp-bus-open-list article>div:first-child{display:grid;gap:2px;min-width:0}
.jkp-bus-open-list article>div:first-child>b{font-size:10px;color:#58451f}
.jkp-bus-open-list article>div:first-child>span{font-size:9px;line-height:1.2;color:#5b6770;overflow-wrap:anywhere}
.jkp-bus-open-list article>div:first-child>small{font-size:8px;color:#966a16}
.jkp-bus-quick-map{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:5px;align-items:center;min-width:250px}
.jkp-bus-quick-map select{min-width:0;height:30px;padding:4px 7px;font-size:10px;border:1px solid #d7e0e7;border-radius:8px;background:#fff}
.jkp-bus-quick-map label{grid-column:1/2;display:flex;align-items:center;gap:4px;font-size:8px;color:#6e6250}
.jkp-bus-quick-map button{grid-row:1/3;grid-column:2/3;align-self:stretch}
.jkp-bus-open-list article>em[data-bus-map-status]{grid-column:1/-1;min-height:10px;font-style:normal;font-size:8px;color:#24704a}
.jkp-bus-open-list article>em[data-bus-map-status].is-error{color:#b42318}
@media(max-width:760px){
  .jkp-bus-week-summary .jkp-bus-new-event{margin-left:0}
  .jkp-bus-open-list>div:last-child{grid-template-columns:1fr}
  .jkp-bus-open-list article{grid-template-columns:1fr}
  .jkp-bus-quick-map{min-width:0;grid-template-columns:minmax(0,1fr) auto}
}

/* Mannschaften können nach dem Anlegen bearbeitet werden, ohne ihre interne ID zu ändern. */
.jkp-team-edit-settings{grid-column:1/-1;margin-top:7px;border:1px solid #dfe7ed;border-radius:10px;background:#fbfcfd;overflow:hidden}
.jkp-team-edit-settings>summary{cursor:pointer;padding:7px 9px;font-size:10px;font-weight:900;color:#36536a;list-style:none}
.jkp-team-edit-settings>summary::-webkit-details-marker{display:none}
.jkp-team-edit-settings>form{padding:8px 9px;border-top:1px solid #e5ebef}
.jkp-team-edit-grid{display:grid;grid-template-columns:120px minmax(180px,1fr) 130px 130px;gap:7px}
.jkp-team-edit-grid label{display:grid;gap:3px;min-width:0}.jkp-team-edit-grid label>span{font-size:8px;font-weight:850;color:#5b6c79}
.jkp-team-edit-grid input,.jkp-team-edit-grid select{width:100%;height:32px;min-width:0;padding:5px 7px;font-size:10px;border:1px solid #d7e0e7;border-radius:8px;background:#fff}
@media(max-width:760px){.jkp-team-edit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.jkp-team-edit-grid{grid-template-columns:1fr}}

/* =========================================================
   0.2.131 – Funktionsrollen, gruppiertes Menü, Busbearbeitung
   ========================================================= */
.jkp-tablinks-grouped{gap:5px!important;overflow:visible!important}
.jkp-nav-direct,.jkp-nav-group>summary{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:8px 11px;border-radius:9px;color:#344054;font-weight:700;text-decoration:none!important;cursor:pointer;white-space:nowrap;list-style:none}
.jkp-nav-group{position:relative;margin:0;padding:0}
.jkp-nav-group>summary::-webkit-details-marker{display:none}.jkp-nav-group>summary::marker{display:none}
.jkp-nav-group>summary span{font-size:10px;opacity:.75;transition:transform .15s}
.jkp-nav-group[open]>summary span{transform:rotate(180deg)}
.jkp-nav-direct:hover,.jkp-nav-direct.is-active,.jkp-nav-group>summary:hover,.jkp-nav-group.is-active>summary{background:var(--jkp);color:#fff!important}
.jkp-nav-group-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:100500;display:grid;min-width:210px;padding:6px;border:1px solid #d8e2eb;border-radius:11px;background:rgba(255,255,255,.99);box-shadow:0 12px 28px rgba(26,47,68,.18)}
.jkp-nav-group-menu a{display:block!important;padding:8px 9px!important;border-radius:7px!important;font-size:12px!important;color:#344054!important;background:transparent!important;white-space:nowrap}
.jkp-nav-group-menu a:hover,.jkp-nav-group-menu a.is-active{background:#edf4fa!important;color:#17476b!important}
@media(max-width:900px){.jkp-tablinks-grouped{overflow-x:auto!important;overflow-y:visible!important}.jkp-nav-group{position:static}.jkp-nav-group-menu{position:fixed;left:12px;right:12px;top:auto;min-width:0;max-height:50vh;overflow:auto}}

.jkp-access-feature-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:12px 0 8px}.jkp-access-feature-head h4{margin:0;font-size:15px}.jkp-access-feature-head p{margin:0;color:#667085;font-size:11px}
.jkp-feature-access-table th:first-child{min-width:250px}.jkp-feature-access-table th small{display:block;margin-top:3px;font-size:9px;line-height:1.3;font-weight:500;text-transform:none;letter-spacing:0;color:#788896}
.jkp-access-advanced{margin-top:10px;border:1px solid #dce5ec;border-radius:11px;background:#f9fbfc;overflow:hidden}
.jkp-access-advanced>summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}.jkp-access-advanced>summary::-webkit-details-marker{display:none}.jkp-access-advanced>summary>span{display:grid;gap:2px}.jkp-access-advanced>summary b{font-size:12px;color:#2b465a}.jkp-access-advanced>summary small{font-size:9px;color:#7a8994}.jkp-access-advanced>summary em{margin-left:auto;font-style:normal;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#6d7d89;background:#edf2f5;border-radius:999px;padding:3px 7px}
.jkp-access-advanced-body,.jkp-user-access-body{padding:0 10px 10px}.jkp-user-access.jkp-access-advanced{padding:0!important}.jkp-user-access.jkp-access-advanced .jkp-user-access-head{margin-top:0}

.jkp-calendar-bus-edit{display:block!important;border:1px solid #e0e7ec!important;border-radius:10px!important;background:#fff!important;overflow:hidden}
.jkp-calendar-bus-edit>summary{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;cursor:pointer;list-style:none}.jkp-calendar-bus-edit>summary::-webkit-details-marker{display:none}.jkp-calendar-bus-edit>summary>i{width:10px;height:10px;border-radius:50%}.jkp-calendar-bus-edit>summary>div{display:grid;min-width:0}.jkp-calendar-bus-edit>summary b{font-size:11px;color:#28465b}.jkp-calendar-bus-edit>summary small{font-size:8px;color:#738390}.jkp-calendar-bus-edit>summary>span{font-size:8px;font-weight:800;color:#56718a}
.jkp-calendar-bus-editbody{padding:8px;border-top:1px solid #e8edf1;background:#fafcfd}.jkp-calendar-bus-form.is-edit{margin:0!important}.jkp-calendar-bus-delete{margin-top:6px;text-align:right}

.jkp-bus-unassigned-row>th,.jkp-bus-unassigned-row>td{background:#fffaf0!important}.jkp-bus-rowhead.is-unassigned{border-left:4px solid #d69b25!important;color:#785613!important}.jkp-bus-booking.is-unassigned{border-style:dashed!important;border-color:#dfb75d!important;border-left-color:#c78b14!important;background:#fff8e9!important}.jkp-bus-booking.is-unassigned small em{background:#fff0c7!important;color:#885d0c!important}.jkp-bus-booking.is-unassigned small b{color:#9a6110!important}

/* 0.2.133 – kontextsensitive Hilfe: immer deckend und oberhalb aller Inhalte */
.jkp-help-inline{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:5px;line-height:1;flex:0 0 auto;opacity:1!important;filter:none!important}
.jkp-help-dot{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;padding:0!important;margin:0!important;border:1px solid #9fb5c5!important;border-radius:999px!important;background:#f7fbfe!important;color:#315b79!important;font:800 11px/1 Arial,sans-serif!important;letter-spacing:0!important;box-shadow:none!important;cursor:help!important;touch-action:manipulation!important;opacity:1!important}
.jkp-help-dot:hover,.jkp-help-dot:focus-visible,.jkp-help-inline.is-open>.jkp-help-dot{background:#e9f3f9!important;border-color:#6e98b6!important;color:#173f5d!important;outline:none!important}
/* Der Inline-Text bleibt nur als Daten-/Accessibility-Quelle im DOM. Angezeigt wird
   er in einem Portal direkt unter <body>, damit overflow/opacity/z-index der Seite
   den Hilfetext niemals abschneiden oder transparent machen können. */
.jkp-help-popover{display:none!important}
.jkp-help-portal{position:fixed!important;z-index:2147483000!important;box-sizing:border-box!important;width:min(380px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;padding:12px 14px!important;border:1px solid #b9cbd8!important;border-radius:12px!important;background:#fff!important;background-color:#fff!important;color:#203849!important;font:600 13px/1.5 Arial,sans-serif!important;white-space:pre-line!important;text-transform:none!important;letter-spacing:0!important;text-align:left!important;box-shadow:0 14px 42px rgba(17,42,59,.30)!important;opacity:1!important;filter:none!important;isolation:isolate!important;pointer-events:auto!important}
.jkp-help-portal[hidden]{display:none!important}
.jkp-help-portal:before{content:"";position:absolute;width:10px;height:10px;background:#fff;border-left:1px solid #b9cbd8;border-top:1px solid #b9cbd8;transform:rotate(45deg);left:var(--jkp-help-arrow-left,24px);top:-6px}
.jkp-help-portal.is-above:before{top:auto;bottom:-6px;transform:rotate(225deg)}
.jkp-heading h2>.jkp-help-inline,.jkp-card h3>.jkp-help-inline,.jkp-card h4>.jkp-help-inline,details>summary>.jkp-help-inline{transform:translateY(-1px)}
label>span>.jkp-help-inline,label>b>.jkp-help-inline,label>strong>.jkp-help-inline{margin-left:4px}
button+.jkp-help-inline,a.jkp-btn+.jkp-help-inline{margin-right:4px}
@media(max-width:700px){
 .jkp-help-dot{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;font-size:12px!important}
 .jkp-help-portal{left:12px!important;right:12px!important;bottom:12px!important;top:auto!important;width:auto!important;max-width:none!important;padding:14px 16px!important;border-radius:14px!important;font-size:14px!important;line-height:1.52!important;box-shadow:0 16px 46px rgba(18,42,58,.36)!important}
 .jkp-help-portal:before{display:none!important}
}


/* =========================================================
   0.2.134 – rollenabhängig flache Navigation + mobile Primärziele
   ========================================================= */
.jkp-tablinks-grouped.is-flat{gap:5px!important}
.jkp-tablinks-grouped.is-flat .jkp-nav-direct{min-width:0}
.jkp-nav-calendar,.jkp-nav-prospects{font-weight:850!important}

@media(max-width:900px){
  /* Kalender und Scouting sind die schnellsten Alltagswege für Trainer/Scouts.
     Sie bleiben direkte Links und stehen auf Mobilgeräten immer ganz vorne. */
  .jkp-tablinks-grouped>.jkp-nav-calendar{order:-30}
  .jkp-tablinks-grouped>.jkp-nav-prospects{order:-29}
  .jkp-tablinks-grouped>.jkp-nav-dashboard{order:-20}
  .jkp-tablinks-grouped>.jkp-nav-primary{border:1px solid #c9dce9;background:#f7fbfe}
  .jkp-tablinks-grouped>.jkp-nav-primary.is-active{border-color:var(--jkp);background:var(--jkp)}

  /* Bei wenigen freigegebenen Bereichen bleibt alles in einer einzigen,
     horizontal scrollbaren Leiste – kein Dropdown, kein zweiter Tap. */
  .jkp-tablinks-grouped.is-flat{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding-bottom:3px}
  .jkp-tablinks-grouped.is-flat .jkp-nav-direct{flex:0 0 auto;min-height:40px;padding:8px 12px;font-size:12px}
}

@media(max-width:520px){
  .jkp-tablinks-grouped.is-flat{gap:4px!important}
  .jkp-tablinks-grouped.is-flat .jkp-nav-direct{min-height:39px;padding:7px 10px;font-size:11px;border-radius:9px}
  .jkp-tablinks-grouped.is-grouped .jkp-nav-direct,.jkp-tablinks-grouped.is-grouped .jkp-nav-group>summary{min-height:39px;padding:7px 10px;font-size:11px}
}

/* =========================================================
   0.2.135 – Kalender-Werkzeugleiste kontextsensitiv und kompakt
   ========================================================= */
.jkp-calendar-toolbar{flex-wrap:wrap!important;align-items:center!important}
.jkp-calendar-viewbar{display:flex;align-items:center;gap:7px;flex:1 1 100%;width:100%;min-width:0;order:4}
.jkp-calendar-viewbar .jkp-calendar-views{flex:1 1 auto;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.jkp-calendar-viewbar .jkp-calendar-views button{flex:0 0 auto}
.jkp-calendar-view-options{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;min-width:0}

/* Standardmäßig keine Ansichtseinstellung einblenden. Erst die aktive Ansicht
   entscheidet, welche Option tatsächlich sinnvoll und wirksam ist. */
.jkp-calendar-card .jkp-calendar-sort,
.jkp-calendar-card .jkp-calendar-fontsize,
.jkp-calendar-card .jkp-calendar-slothours{display:none!important;margin-left:0!important}

/* Normale Kalenderansichten: Reihenfolge innerhalb eines Tages kann gewählt werden. */
.jkp-calendar-card[data-cal-view="week"] .jkp-calendar-sort,
.jkp-calendar-card[data-cal-view="month"] .jkp-calendar-sort,
.jkp-calendar-card[data-cal-view="2months"] .jkp-calendar-sort,
.jkp-calendar-card[data-cal-view="3months"] .jkp-calendar-sort{display:flex!important}

/* Die Schriftgröße verändert ausschließlich Monatskarten. */
.jkp-calendar-card[data-cal-view="month"] .jkp-calendar-fontsize,
.jkp-calendar-card[data-cal-view="2months"] .jkp-calendar-fontsize,
.jkp-calendar-card[data-cal-view="3months"] .jkp-calendar-fontsize{display:flex!important}

/* In der Platzbelegung ist nur der sichtbare Zeitbereich relevant. */
.jkp-calendar-card[data-cal-view="slots"] .jkp-calendar-slothours{display:flex!important}

/* Busansicht: keinerlei irrelevante Sortier-/Darstellungsfelder. */
.jkp-calendar-card[data-cal-view="buses"] .jkp-calendar-view-options{display:none!important}

/* Die Felder bleiben bewusst schmal, damit die Ansichtsbuttons Priorität haben. */
.jkp-calendar-view-options select{width:auto!important;min-width:112px!important;max-width:145px!important}
.jkp-calendar-view-options .jkp-calendar-fontsize select{min-width:92px!important;max-width:110px!important}
.jkp-calendar-view-options .jkp-calendar-slothours select{min-width:105px!important;max-width:120px!important}

@media(max-width:1050px){
  .jkp-calendar-viewbar{align-items:stretch;flex-wrap:wrap}
  .jkp-calendar-viewbar .jkp-calendar-views{flex-basis:100%;width:100%}
  .jkp-calendar-view-options{width:100%;justify-content:flex-start}
}
@media(max-width:760px){
  .jkp-calendar-viewbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;width:100%!important}
  .jkp-calendar-viewbar .jkp-calendar-views{width:100%!important;overflow:visible!important}
  .jkp-calendar-view-options{display:flex;width:100%;justify-content:stretch;gap:5px}
  .jkp-calendar-view-options>label{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
  .jkp-calendar-view-options>label[style*="display: none"]{display:none!important}
  .jkp-calendar-card[data-cal-view="buses"] .jkp-calendar-view-options{display:none!important}
  .jkp-calendar-card:not([data-cal-view="week"]):not([data-cal-view="month"]):not([data-cal-view="2months"]):not([data-cal-view="3months"]) .jkp-calendar-sort{display:none!important}
  .jkp-calendar-card:not([data-cal-view="month"]):not([data-cal-view="2months"]):not([data-cal-view="3months"]) .jkp-calendar-fontsize{display:none!important}
  .jkp-calendar-card:not([data-cal-view="slots"]) .jkp-calendar-slothours{display:none!important}
  .jkp-calendar-view-options select{flex:1!important;max-width:none!important}
}

/* 0.2.136 – Dashboard-Reihenfolge + Bus-Ressourcenansicht */
.jkp-dashboard-teamorder-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:14px 2px 8px}
.jkp-dashboard-teamorder-head h3{margin:0;font-size:17px;color:#21384a}.jkp-dashboard-teamorder-head small{display:block;margin-top:2px;color:#71808d;font-size:10.5px}.jkp-dashboard-teamorder-head>[data-dashboard-order-status]{font-size:10px;font-weight:800;color:#2c6d4e;min-height:14px}.jkp-dashboard-teamorder-head>[data-dashboard-order-status].is-error{color:#a33b32}
.jkp-dashboard-teamgrid .jkp-teamcard{position:relative;padding-right:34px}.jkp-teamcard-drag{position:absolute;right:8px;top:8px;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;border:1px solid #d7e1e8;background:rgba(255,255,255,.9);color:#6d7d89;font-size:15px;line-height:1;cursor:grab;user-select:none;touch-action:none;z-index:3}.jkp-teamcard-drag:hover{background:#eef5fa;color:#173d5c}.jkp-dashboard-teamgrid.is-dragging .jkp-teamcard{transition:transform .12s ease}.jkp-dashboard-teamgrid .jkp-teamcard.is-dragging{opacity:.42;transform:scale(.985);box-shadow:none}

.jkp-bus-range-toggle{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid #d8e3ea;background:#edf3f7;border-radius:9px;flex:0 0 auto}.jkp-bus-range-toggle button{appearance:none;border:0;background:transparent;color:#526575;border-radius:7px;padding:5px 10px;font-size:10px;font-weight:900;cursor:pointer}.jkp-bus-range-toggle button.is-active{background:#fff;color:#173d5c;box-shadow:0 1px 4px rgba(35,59,76,.12)}
.jkp-bus-booking{appearance:none;width:100%;min-width:0;text-align:left;border:1px solid #d9e2e8;border-left:5px solid var(--jkp-bus-color,#d97706);border-radius:10px;background:#fff;padding:6px 7px;display:grid;gap:4px;box-shadow:0 2px 7px rgba(36,55,70,.06);color:#263b4a}
.jkp-bus-booking-main{appearance:none;border:0;background:transparent;padding:0;margin:0;width:100%;display:grid;gap:2px;text-align:left;color:inherit;cursor:pointer;font:inherit}.jkp-bus-booking-main:hover strong{color:#0f4d78}.jkp-bus-namebadge{font-size:8px!important;color:#5d6e7a!important;font-weight:800!important}
.jkp-bus-free-assign{appearance:none;border:1px solid #cf9b33;background:#fff4d8;color:#7d570f;border-radius:7px;padding:5px 7px;font-size:8.5px;font-weight:900;cursor:pointer;justify-self:start;line-height:1.15}.jkp-bus-free-assign:hover{background:#ffeab8}.jkp-bus-free-assign:disabled{opacity:.55;cursor:wait}.jkp-bus-free-status{font-style:normal;font-size:8px;font-weight:700;color:#6c7780}.jkp-bus-free-status.is-error{color:#a33b32}
.jkp-bus-month-scroll{overflow-x:auto;padding-bottom:4px}.jkp-bus-month-grid{min-width:850px;display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));border-top:1px solid #dce6ec;border-left:1px solid #dce6ec;background:#fff}.jkp-bus-month-weekday{padding:7px;text-align:center;font-size:10px;font-weight:900;color:#425b6d;background:#f1f6f9;border-right:1px solid #dce6ec;border-bottom:1px solid #dce6ec}.jkp-bus-month-day{min-height:132px;padding:5px;background:#fff;border-right:1px solid #dce6ec;border-bottom:1px solid #dce6ec}.jkp-bus-month-day.is-outside{background:#f8fafb;opacity:.6}.jkp-bus-month-day.is-today{box-shadow:inset 0 0 0 2px #5f8fb1}.jkp-bus-month-day>header{display:flex;align-items:center;justify-content:space-between;padding:1px 2px 5px;color:#667884}.jkp-bus-month-day>header b{font-size:11px;color:#1f425c}.jkp-bus-month-day>header span{font-size:8px;font-weight:800}.jkp-bus-month-cards{display:grid;gap:4px}.jkp-bus-month-cards .jkp-bus-booking{padding:5px;border-radius:8px}.jkp-bus-month-cards .jkp-bus-booking-detail{font-size:9px}.jkp-bus-month-cards .jkp-bus-booking strong{font-size:10px}.jkp-bus-month-cards .jkp-bus-booking-time{font-size:9px}.jkp-bus-month-cards .jkp-bus-empty{min-height:70px}
@media(max-width:700px){.jkp-dashboard-teamorder-head{align-items:flex-start;flex-direction:column;gap:3px}.jkp-teamcard-drag{width:28px;height:28px}.jkp-bus-week-summary{align-items:flex-start}.jkp-bus-range-toggle{order:-2}.jkp-bus-month-grid{min-width:760px;grid-template-columns:repeat(7,minmax(105px,1fr))}}

/* =========================================================
   0.2.137 – mobile Kalenderleiste kompakter + optionale Leseschrift
   ========================================================= */
.jkp-view-mobile{display:none}
.jkp-calendar-mobile-text{display:none;appearance:none;border:1px solid #cfdbe3;background:#fff;color:#244b66;border-radius:8px;font-weight:900;cursor:pointer;white-space:nowrap}

@media(max-width:760px){
  /* Der Zeitraum-Navigator steht als letzte Werkzeugzeile direkt vor dem Kalender. */
  .jkp-calendar-toolbar{gap:4px!important;padding:3px 0 4px!important;margin-bottom:2px!important}
  .jkp-calendar-search{order:1!important;margin:0!important}
  .jkp-calendar-viewbar{order:2!important;gap:3px!important}
  .jkp-calendar-nav{order:3!important;margin:0!important;padding:1px 0 2px!important;display:grid!important;grid-template-columns:32px 46px 32px minmax(0,1fr) 39px!important;gap:3px!important;width:100%!important;align-items:center!important}
  .jkp-calendar-host{margin-top:0!important}

  /* Ansichten auf eine einzige, kleine Zeile reduzieren. */
  .jkp-calendar-viewbar .jkp-calendar-views{display:flex!important;flex-wrap:nowrap!important;gap:2px!important;width:100%!important;overflow:hidden!important;padding:2px!important;border-radius:8px!important}
  .jkp-calendar-viewbar .jkp-calendar-views button{flex:1 1 0!important;min-width:0!important;min-height:30px!important;height:30px!important;padding:3px 2px!important;border-radius:6px!important;font-size:8.5px!important;line-height:1!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .jkp-view-full{display:none!important}.jkp-view-mobile{display:inline!important}

  /* Darstellungsoptionen bleiben vorhanden, verbrauchen aber nur noch eine kompakte Zeile. */
  .jkp-calendar-view-options{min-height:0!important;gap:4px!important;margin:0!important}
  .jkp-calendar-view-options>label{width:auto!important;flex:0 1 auto!important;gap:3px!important;justify-content:flex-start!important}
  .jkp-calendar-view-options>label>span{font-size:7px!important;white-space:nowrap!important}
  .jkp-calendar-view-options select{flex:0 1 auto!important;width:auto!important;min-width:92px!important;max-width:130px!important;min-height:29px!important;height:29px!important;padding:3px 23px 3px 6px!important;font-size:9px!important}
  .jkp-calendar-view-options .jkp-calendar-slothours select{min-width:92px!important}
  /* Auf Mobilgeräten übernimmt Aa die allgemeine Lesbarkeit; die separate Monatsschrift
     muss deshalb nicht zusätzlich Platz belegen. Desktop bleibt unverändert. */
  .jkp-calendar-fontsize{display:none!important}

  /* Vor/Heute/Zurück deutlich kompakter, aber weiterhin gut tippbar. */
  .jkp-calendar-nav .jkp-btn{min-width:32px!important;width:32px!important;min-height:32px!important;height:32px!important;padding:2px!important;font-size:14px!important;border-radius:8px!important}
  .jkp-calendar-nav [data-cal-today]{width:46px!important;min-width:46px!important;font-size:8px!important;padding:2px 4px!important}
  .jkp-calendar-nav strong{font-size:11px!important;line-height:1.1!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;padding:0 2px!important}
  .jkp-calendar-mobile-text{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:39px!important;min-width:39px!important;height:32px!important;padding:0 3px!important;font-size:9px!important;line-height:1!important}

  /* Standard bleibt exakt der bisherige Stand. Nur wenn der Benutzer Aa antippt,
     werden die besonders kleinen Kalendertexte gezielt angehoben. */
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-dayhead b{font-size:9px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-event strong{font-size:8.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-time{font-size:7px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-weekday .jkp-cal-event strong{font-size:9.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-weekday .jkp-cal-event .jkp-cal-team{font-size:10.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-weekday .jkp-cal-detail{font-size:9.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-today-venue>header>b{font-size:9px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-today-venue>header>span{font-size:7.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-today-venue-events button>b,
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-today-venue-events button>span{font-size:8px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-today-venue-events button>strong{font-size:8.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-slot-occupant b{font-size:8.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-slot-occupant small{font-size:7px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-slot-occupant em{font-size:6.7px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-bus-booking-time{font-size:10.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-bus-booking strong{font-size:12px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-bus-booking-detail{font-size:10.5px!important}

  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-dayhead b{font-size:10px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-event strong{font-size:10px!important;line-height:1.18!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-time{font-size:8px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-weekday .jkp-cal-event{min-height:35px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-weekday .jkp-cal-event strong{font-size:11px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-weekday .jkp-cal-event .jkp-cal-team{font-size:11.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-weekday .jkp-cal-detail{font-size:10.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-today-venue>header>b{font-size:10px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-today-venue>header>span{font-size:8px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-today-venue-events button{min-height:25px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-today-venue-events button>b,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-today-venue-events button>span{font-size:9px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-today-venue-events button>strong{font-size:9.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-slot-occupant b{font-size:9.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-slot-occupant small{font-size:8px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-slot-occupant em{font-size:7.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-bus-booking-time{font-size:11.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-bus-booking strong{font-size:13px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-bus-booking-detail{font-size:11.5px!important}
}

@media(max-width:430px){
  /* Bei sehr schmalen Geräten bleibt die Ansichtsleiste trotzdem einzeilig. */
  .jkp-calendar-viewbar .jkp-calendar-views button{font-size:8px!important;padding-left:1px!important;padding-right:1px!important}
  .jkp-calendar-nav{grid-template-columns:30px 43px 30px minmax(0,1fr) 37px!important}
  .jkp-calendar-nav .jkp-btn{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important}
  .jkp-calendar-nav [data-cal-today]{width:43px!important;min-width:43px!important}
  .jkp-calendar-mobile-text{width:37px!important;min-width:37px!important;height:30px!important}
}

@media(max-width:760px){
  /* Monatskarten besitzen eigene mobile Typografie; Aa muss diese gezielt überstimmen. */
  .jkp-calendar-card[data-cal-mobile-text="large"][data-cal-view="month"] .jkp-cal-event.is-month-compact .jkp-cal-team,
  .jkp-calendar-card[data-cal-mobile-text="large"][data-cal-view="2months"] .jkp-cal-event.is-month-compact .jkp-cal-team,
  .jkp-calendar-card[data-cal-mobile-text="large"][data-cal-view="3months"] .jkp-cal-event.is-month-compact .jkp-cal-team{font-size:10px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"][data-cal-view="month"] .jkp-cal-event.is-month-compact .jkp-cal-time,
  .jkp-calendar-card[data-cal-mobile-text="large"][data-cal-view="2months"] .jkp-cal-event.is-month-compact .jkp-cal-time,
  .jkp-calendar-card[data-cal-mobile-text="large"][data-cal-view="3months"] .jkp-cal-event.is-month-compact .jkp-cal-time{font-size:7.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"][data-cal-view="month"] .jkp-cal-event.is-month-compact .jkp-cal-cause,
  .jkp-calendar-card[data-cal-mobile-text="large"][data-cal-view="2months"] .jkp-cal-event.is-month-compact .jkp-cal-cause,
  .jkp-calendar-card[data-cal-mobile-text="large"][data-cal-view="3months"] .jkp-cal-event.is-month-compact .jkp-cal-cause{font-size:8.7px!important;line-height:1.15!important}

  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="month"] .jkp-cal-event.is-month-compact,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="2months"] .jkp-cal-event.is-month-compact,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="3months"] .jkp-cal-event.is-month-compact{min-height:36px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="month"] .jkp-cal-event.is-month-compact .jkp-cal-team,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="2months"] .jkp-cal-event.is-month-compact .jkp-cal-team,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="3months"] .jkp-cal-event.is-month-compact .jkp-cal-team{font-size:11px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="month"] .jkp-cal-event.is-month-compact .jkp-cal-time,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="2months"] .jkp-cal-event.is-month-compact .jkp-cal-time,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="3months"] .jkp-cal-event.is-month-compact .jkp-cal-time{font-size:8.5px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="month"] .jkp-cal-event.is-month-compact .jkp-cal-cause,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="2months"] .jkp-cal-event.is-month-compact .jkp-cal-cause,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"][data-cal-view="3months"] .jkp-cal-event.is-month-compact .jkp-cal-cause{font-size:10px!important;line-height:1.15!important}
}


/* =========================================================
   0.2.138 – mobile Kalenderleiste stabilisieren
   ========================================================= */
@media(max-width:760px){
  /* Kein künstlicher weißer Leerblock: Inhalt bestimmt die Höhe. */
  .jkp-calendar-host{min-height:0!important;height:auto!important;background:transparent!important}
  .jkp-calendar-toolbar{position:relative!important;top:auto!important;min-height:0!important;height:auto!important;background:transparent!important;backdrop-filter:none!important;box-shadow:none!important;overflow:visible!important}
  .jkp-calendar-viewbar,.jkp-calendar-view-options,.jkp-calendar-nav,.jkp-calendar-search{min-height:0!important;height:auto!important;background:transparent!important}

  /* Reihenfolge: Suche -> Ansichten/Optionen -> Navigation -> Kalender. */
  .jkp-calendar-search{order:1!important}
  .jkp-calendar-viewbar{order:2!important}
  .jkp-calendar-nav{order:3!important}

  /* Ansichtsumschalter bewusst klein und einzeilig. */
  .jkp-calendar-viewbar .jkp-calendar-views{min-height:0!important;height:28px!important;padding:2px!important}
  .jkp-calendar-viewbar .jkp-calendar-views button{min-height:24px!important;height:24px!important;padding:2px 1px!important;font-size:8px!important;line-height:1!important}

  /* Nur die zur aktuellen Ansicht gehörende Option soll Platz belegen. */
  .jkp-calendar-view-options{padding:0!important}
  .jkp-calendar-card:not([data-cal-view="week"]):not([data-cal-view="month"]):not([data-cal-view="2months"]):not([data-cal-view="3months"]) .jkp-calendar-sort{display:none!important}
  .jkp-calendar-card:not([data-cal-view="month"]):not([data-cal-view="2months"]):not([data-cal-view="3months"]) .jkp-calendar-fontsize{display:none!important}
  .jkp-calendar-card:not([data-cal-view="slots"]) .jkp-calendar-slothours{display:none!important}
  .jkp-calendar-fontsize{display:none!important}
  .jkp-calendar-view-options:empty{display:none!important}

  /* Navigation direkt vor dem Kalender, kleiner als in 0.2.137. */
  .jkp-calendar-nav{grid-template-columns:28px 42px 28px minmax(0,1fr) 36px!important;gap:3px!important;padding:0 0 2px!important}
  .jkp-calendar-nav .jkp-btn{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;font-size:13px!important;border-radius:7px!important}
  .jkp-calendar-nav [data-cal-today]{width:42px!important;min-width:42px!important;font-size:7.5px!important}
  .jkp-calendar-nav strong{font-size:10.5px!important;line-height:1.05!important}
  .jkp-calendar-mobile-text{width:36px!important;min-width:36px!important;height:28px!important;font-size:8.5px!important;border-radius:7px!important}
}

@media(max-width:430px){
  .jkp-calendar-viewbar .jkp-calendar-views button{font-size:7.5px!important}
  .jkp-calendar-nav{grid-template-columns:27px 40px 27px minmax(0,1fr) 34px!important}
  .jkp-calendar-nav .jkp-btn{width:27px!important;min-width:27px!important;height:27px!important;min-height:27px!important}
  .jkp-calendar-nav [data-cal-today]{width:40px!important;min-width:40px!important}
  .jkp-calendar-mobile-text{width:34px!important;min-width:34px!important;height:27px!important}
}

/* 0.2.139 – WordPress-Seitenkopf auf Mobilgeräten persönlich ein-/ausblendbar */
.jkp-mobile-wphead-toggle{display:none;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.10);color:#fff;border-radius:9px;align-items:center;justify-content:center;gap:4px;min-height:29px;padding:4px 7px;font:inherit;font-size:8px;font-weight:850;line-height:1;cursor:pointer;white-space:nowrap}
.jkp-mobile-wphead-toggle:hover,.jkp-mobile-wphead-toggle:focus{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.42);outline:none}
.jkp-mobile-wphead-toggle>span{font-size:10px;line-height:1}.jkp-mobile-wphead-toggle>em{font-style:normal}
@media(max-width:780px){
  .jkp-frontendportal .jkp-mobile-wphead-toggle{display:inline-flex}
  body.jkp-mobile-hide-wp-header .wp-site-blocks>header,
  body.jkp-mobile-hide-wp-header header#masthead,
  body.jkp-mobile-hide-wp-header #masthead.site-header,
  body.jkp-mobile-hide-wp-header header.site-header,
  body.jkp-mobile-hide-wp-header header.header,
  body.jkp-mobile-hide-wp-header #site-header,
  body.jkp-mobile-hide-wp-header .entry-header,
  body.jkp-mobile-hide-wp-header h1.wp-block-post-title{display:none!important}
  body.jkp-mobile-hide-wp-header .wp-site-blocks>main{margin-block-start:0!important;margin-top:0!important}
}
@media(max-width:420px){.jkp-mobile-wphead-toggle{padding:3px 5px}.jkp-mobile-wphead-toggle>em{font-size:7px}}


/* 0.2.140 – Android/PWA: Theme-unabhängiger mobiler App-Modus */
.jkp-pwa-install{display:none;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.10);color:#fff;border-radius:9px;align-items:center;justify-content:center;gap:4px;min-height:29px;padding:4px 7px;font:inherit;font-size:8px;font-weight:850;line-height:1;cursor:pointer;white-space:nowrap}
.jkp-pwa-install:hover,.jkp-pwa-install:focus{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.42);outline:none}.jkp-pwa-install>span{font-size:11px}.jkp-pwa-install>em{font-style:normal}
@media(max-width:780px){
  .jkp-frontendportal .jkp-pwa-install:not([hidden]){display:inline-flex}
  body.jkp-mobile-hide-wp-header .jkp-mobile-hidden-wp-shell{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}
  body.jkp-mobile-hide-wp-header .jkp-mobile-portal-shell{margin-top:0!important;padding-top:0!important;margin-block-start:0!important;padding-block-start:0!important}
  body.jkp-mobile-hide-wp-header main.jkp-mobile-portal-shell,
  body.jkp-mobile-hide-wp-header .site-main.jkp-mobile-portal-shell,
  body.jkp-mobile-hide-wp-header .entry-content.jkp-mobile-portal-shell,
  body.jkp-mobile-hide-wp-header .wp-block-post-content.jkp-mobile-portal-shell{margin-top:0!important;padding-top:0!important}
}
@media(max-width:420px){.jkp-pwa-install{padding:3px 5px}.jkp-pwa-install>em{font-size:7px}}


/* Android-WebViews/PWA können eine Desktop-artige Layoutbreite melden. Die Runtime-Klasse
   aktiviert dann trotzdem gezielt den mobilen App-Kopfmodus. */
body.jkp-mobile-runtime.jkp-mobile-hide-wp-header .jkp-mobile-hidden-wp-shell{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}
body.jkp-mobile-runtime.jkp-mobile-hide-wp-header .jkp-mobile-portal-shell{margin-top:0!important;padding-top:0!important;margin-block-start:0!important;padding-block-start:0!important}
body.jkp-mobile-runtime .jkp-frontendportal .jkp-mobile-wphead-toggle{display:inline-flex}
body.jkp-mobile-runtime .jkp-frontendportal .jkp-pwa-install:not([hidden]){display:inline-flex}

/* 0.2.195 – gut sichtbare Android-Installation auf Loginseite und im Portal */
.jkp-login-pwa-install{width:100%;margin:10px 0 2px;min-height:46px;border:1px solid rgba(255,255,255,.42);border-radius:12px;background:rgba(255,255,255,.13);color:#fff;align-items:center;justify-content:center;gap:9px;font:inherit;cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.16)}
.jkp-login-pwa-install:not([hidden]){display:flex}.jkp-login-pwa-install>span{font-size:20px;line-height:1}.jkp-login-pwa-install>strong{font-size:14px}.jkp-login-pwa-install:hover,.jkp-login-pwa-install:focus{background:rgba(255,255,255,.22);outline:2px solid rgba(255,255,255,.35);outline-offset:2px}
.jkp-pwa-help{position:fixed;z-index:2147483647;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,12,24,.72);backdrop-filter:blur(4px)}
.jkp-pwa-help[hidden]{display:none}.jkp-pwa-help-card{position:relative;width:min(100%,390px);padding:25px 22px 20px;border-radius:18px;background:#fff;color:#142338;text-align:center;box-shadow:0 22px 65px rgba(0,0,0,.34)}
.jkp-pwa-help-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 11px;border-radius:15px;background:#e8f2ff;color:#075cad;font-size:27px;font-weight:900}.jkp-pwa-help-card h2{margin:0 30px 10px;font-size:21px;color:#102a48}.jkp-pwa-help-card p{margin:8px 0;font-size:15px;line-height:1.45}.jkp-pwa-help-card .jkp-pwa-help-note{font-size:13px;color:#536579}
.jkp-pwa-help-close{position:absolute;right:10px;top:8px;width:36px;height:36px;border:0;background:transparent;color:#64748b;font-size:28px;line-height:1;cursor:pointer}.jkp-pwa-help-ok{width:100%;min-height:44px;margin-top:13px;border:0;border-radius:11px;background:#075cad;color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer}


/* 0.2.141 – eigener ClubRegie-/Vereinskopf auf Mobilgeräten separat ausblendbar */
.jkp-mobile-pluginhead-toggle{display:none;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.10);color:#fff;border-radius:9px;align-items:center;justify-content:center;gap:4px;min-height:29px;padding:4px 7px;font:inherit;font-size:8px;font-weight:850;line-height:1;cursor:pointer;white-space:nowrap}
.jkp-mobile-pluginhead-toggle:hover,.jkp-mobile-pluginhead-toggle:focus{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.42);outline:none}.jkp-mobile-pluginhead-toggle>em{font-style:normal}
.jkp-mobile-pluginhead-restore{display:none;position:fixed;z-index:2147482000;top:max(8px,env(safe-area-inset-top));right:8px;border:1px solid rgba(255,255,255,.45);background:rgba(8,25,48,.92);color:#fff;border-radius:999px;min-height:30px;padding:5px 9px;align-items:center;gap:5px;font:inherit;font-size:9px;font-weight:850;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.22)}
.jkp-mobile-pluginhead-restore>em{font-style:normal}.jkp-mobile-pluginhead-restore:hover,.jkp-mobile-pluginhead-restore:focus{background:rgba(8,25,48,.98);outline:none}
@media(max-width:780px){
  .jkp-frontendportal .jkp-mobile-pluginhead-toggle{display:inline-flex}
  body.jkp-mobile-hide-plugin-header .jkp-frontendportal>.jkp-brand-header{display:none!important}
  body.jkp-mobile-hide-plugin-header .jkp-frontendportal>.jkp-mobile-pluginhead-restore{display:inline-flex!important}
}
body.jkp-mobile-runtime .jkp-frontendportal .jkp-mobile-pluginhead-toggle{display:inline-flex}
body.jkp-mobile-runtime.jkp-mobile-hide-plugin-header .jkp-frontendportal>.jkp-brand-header{display:none!important}
body.jkp-mobile-runtime.jkp-mobile-hide-plugin-header .jkp-frontendportal>.jkp-mobile-pluginhead-restore{display:inline-flex!important}
@media(max-width:420px){.jkp-mobile-pluginhead-toggle{padding:3px 5px}.jkp-mobile-pluginhead-toggle>em{font-size:7px}.jkp-mobile-pluginhead-restore{min-height:28px;padding:4px 8px;font-size:8px}}

/* 0.2.143 – vollständiger Positionskatalog + Gewichtungsprofile */
.jkp-position-admin-head,.jkp-position-admin-row{grid-template-columns:88px minmax(210px,1fr) minmax(150px,190px) minmax(190px,240px) 72px 66px}
.jkp-position-role-cell{display:flex;align-items:center;gap:5px;min-width:0}.jkp-position-role-cell select{min-width:0;flex:1}.jkp-position-role-default{flex:0 0 30px;width:30px;height:32px;border:1px solid #d4dee8;border-radius:7px;background:#fff;color:var(--jkp);font-size:16px;font-weight:900;cursor:pointer}.jkp-position-role-default:hover{background:#eef4fa}.jkp-position-active{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:4px!important;font-size:10px!important;font-weight:800!important;color:#536273}.jkp-position-active input{width:auto!important;min-height:0!important;margin:0!important}.jkp-position-system{display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:999px;background:#edf3f8;color:#607080;font-size:9px;font-weight:850}.jkp-position-admin-row.is-system .jkp-position-code[readonly]{background:#f0f4f7;color:#526270;font-weight:850}.jkp-position-settings-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.jkp-role-profile-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 0}.jkp-role-profile-tools small{color:#6d7a87;font-size:9px;line-height:1.35}.jkp-lineup-weight-actions{display:flex;justify-content:flex-end;margin-top:8px!important;margin-bottom:8px!important}.jkp-role-weight-list label.is-zero{opacity:.72}.jkp-role-weight-list label.is-zero:focus-within{opacity:1}
@media(max-width:780px){.jkp-position-admin-row{grid-template-columns:78px minmax(0,1fr)}.jkp-position-admin-row .jkp-position-code{grid-column:1}.jkp-position-admin-row .jkp-position-name{grid-column:2}.jkp-position-admin-row .jkp-position-group{grid-column:1}.jkp-position-admin-row .jkp-position-role-cell{grid-column:2}.jkp-position-admin-row .jkp-position-active{grid-column:1}.jkp-position-admin-row>.jkp-position-system,.jkp-position-admin-row>.jkp-delete-position,.jkp-position-admin-row>.jkp-muted{grid-column:2;justify-self:end}.jkp-role-profile-tools{align-items:flex-start;flex-direction:column}.jkp-lineup-weight-actions{justify-content:flex-start}}
@media(max-width:460px){.jkp-position-admin-row{grid-template-columns:1fr}.jkp-position-admin-row .jkp-position-code,.jkp-position-admin-row .jkp-position-name,.jkp-position-admin-row .jkp-position-group,.jkp-position-admin-row .jkp-position-role-cell,.jkp-position-admin-row .jkp-position-active,.jkp-position-admin-row>.jkp-position-system,.jkp-position-admin-row>.jkp-delete-position,.jkp-position-admin-row>.jkp-muted{grid-column:1}.jkp-position-admin-row .jkp-position-active{justify-content:flex-start}.jkp-position-admin-row>.jkp-position-system,.jkp-position-admin-row>.jkp-delete-position,.jkp-position-admin-row>.jkp-muted{justify-self:start}}

/* 0.2.145 – Trainingskontext: eine Mannschaft steuert Anwesenheit, Beteiligung und Umfragen. */
.jkp-training-team-context{margin:0 0 10px;padding:10px 12px!important}
.jkp-training-team-context form{display:flex;align-items:end;gap:10px;margin:0}
.jkp-training-team-context label{display:flex;flex-direction:column;gap:4px;min-width:min(360px,100%)}
.jkp-training-team-context label>span,.jkp-training-team-context-label>span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#71808d}
.jkp-training-team-context select{min-height:40px;width:100%}
.jkp-training-team-context-label{display:flex;flex-direction:column;gap:3px}.jkp-training-team-context-label b{font-size:13px;color:#243f54}
/* Der Mannschaftsfilter sitzt jetzt oberhalb; im Anwesenheitsformular bleibt nur die Terminauswahl. */
.jkp-attendance-training-picker{grid-template-columns:minmax(240px,1fr) auto!important}
@media(max-width:780px){.jkp-training-team-context form{display:block}.jkp-training-team-context label{min-width:0;width:100%}.jkp-attendance-training-picker{grid-template-columns:1fr!important}}

/* =========================================================
   0.2.146 – kompakte, fingerfreundliche Trainingsübersicht
   ========================================================= */
.jkp-training-event-section{margin:14px 0}
.jkp-training-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 8px}
.jkp-training-list-heading h3{margin:0;font-size:16px}.jkp-training-list-heading span{font-size:10px;font-weight:800;color:#667085}
.jkp-training-compact-list{display:grid;gap:8px}
.jkp-training-event-card{margin:0!important;padding:11px 12px!important;border-radius:13px!important}
.jkp-training-event-card.is-selected{border-color:#7da8c9;box-shadow:0 0 0 2px rgba(31,111,174,.08)}
.jkp-training-event-card.is-past{opacity:.88}
.jkp-training-event-top{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center}
.jkp-training-datechip{display:grid;grid-template-columns:auto 1fr;gap:0 6px;align-items:baseline;padding:8px 10px;border-radius:10px;background:#eef4fa;color:#183a63;min-width:0}
.jkp-training-datechip>span{grid-column:1/-1;font-size:9px;font-weight:850;text-transform:uppercase;opacity:.65;margin-bottom:1px}
.jkp-training-datechip>b{font-size:13px;white-space:nowrap}.jkp-training-datechip>em{font-size:11px;font-style:normal;font-weight:850;white-space:nowrap}
.jkp-training-event-info{min-width:0}.jkp-training-event-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.jkp-training-event-title h3{margin:0!important;font-size:15px;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jkp-training-att-status{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.jkp-training-att-status>span{display:inline-flex;align-items:center;gap:3px;min-height:25px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:750;white-space:nowrap}.jkp-training-att-status>span b{font-size:10px}.jkp-training-att-status .is-yes{background:#edf9f0;color:#226b35}.jkp-training-att-status .is-no{background:#fff0f0;color:#9a3232}.jkp-training-att-status .is-open{background:#f1f4f6;color:#566573}
.jkp-training-card-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:9px;padding-top:8px;border-top:1px solid #edf1f4}.jkp-training-card-actions .jkp-btn{min-height:38px;padding:7px 11px;font-size:10px}.jkp-training-att-btn{background:#183a63!important}
.jkp-training-more,.jkp-training-history{margin:9px 0 14px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;overflow:hidden}.jkp-training-more>summary,.jkp-training-history>summary{cursor:pointer;list-style:none;min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:850;color:#29465c}.jkp-training-more>summary::-webkit-details-marker,.jkp-training-history>summary::-webkit-details-marker{display:none}.jkp-training-more[open]>summary,.jkp-training-history[open]>summary{border-bottom:1px solid #e8edf1}.jkp-training-more>.jkp-training-compact-list,.jkp-training-history>.jkp-training-compact-list{padding:8px}.jkp-training-history>summary span{display:flex;flex-direction:column;gap:1px}.jkp-training-history>summary small{font-size:8px;font-weight:600;color:#7a8791}.jkp-training-history>summary strong{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:#eef3f6;font-size:10px}

@media(max-width:700px){
  .jkp-training-calendar-source{display:none!important}
  .jkp-training-event-section{margin-top:10px}
  .jkp-training-list-heading{margin-bottom:6px}.jkp-training-list-heading h3{font-size:14px}
  .jkp-training-compact-list{gap:7px}
  .jkp-training-event-card{padding:9px!important;border-radius:12px!important}
  .jkp-training-event-top{grid-template-columns:86px minmax(0,1fr);gap:9px;align-items:stretch}
  .jkp-training-datechip{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;padding:7px 8px}
  .jkp-training-datechip>span{font-size:8px;margin:0}.jkp-training-datechip>b{font-size:12px}.jkp-training-datechip>em{font-size:10px}
  .jkp-training-event-title{align-items:flex-start}.jkp-training-event-title h3{font-size:14px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .jkp-training-done,.jkp-training-upcoming{font-size:8px;padding:3px 6px}
  .jkp-training-att-status{gap:4px;margin-top:6px}.jkp-training-att-status>span{min-height:24px;padding:3px 6px;font-size:8px}.jkp-training-att-status>span b{font-size:9px}
  .jkp-training-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;padding-top:7px}
  .jkp-training-card-actions .jkp-btn{width:100%;min-height:44px;padding:8px 9px;font-size:10px}
  .jkp-training-more>summary,.jkp-training-history>summary{min-height:48px;font-size:10px}
  .jkp-att-quick>summary{min-height:48px;padding:8px 2px}.jkp-att-quick>summary span b{font-size:13px}.jkp-att-quick>summary span small{font-size:9px;line-height:1.25}.jkp-att-quick>summary strong{font-size:15px}
}
@media(max-width:390px){
  .jkp-training-event-top{grid-template-columns:78px minmax(0,1fr);gap:7px}
  .jkp-training-datechip{padding:6px}.jkp-training-datechip>b{font-size:11px}.jkp-training-datechip>em{font-size:9px}
  .jkp-training-event-title h3{font-size:13px}.jkp-training-att-status>span{padding:3px 5px}
}


/* =========================================================
   0.2.147 – kompakte Desktop-Trainingsübersicht
   Mobil bleibt bewusst unverändert.
   ========================================================= */
@media(min-width:1100px) and (hover:hover) and (pointer:fine){
  .jkp-training-event-section{margin:10px 0}
  .jkp-training-list-heading{margin-bottom:6px}
  .jkp-training-compact-list{gap:6px}
  .jkp-training-event-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:7px 10px!important;
    min-height:0;
    border-radius:11px!important;
  }
  .jkp-training-event-top{
    min-width:0;
    grid-template-columns:104px minmax(0,1fr);
    gap:10px;
    align-items:center;
  }
  .jkp-training-datechip{
    padding:5px 8px;
    border-radius:8px;
    min-height:44px;
  }
  .jkp-training-datechip>span{font-size:8px;margin-bottom:0}
  .jkp-training-datechip>b{font-size:12px}
  .jkp-training-datechip>em{font-size:10px}
  .jkp-training-event-info{
    display:grid;
    grid-template-columns:minmax(170px,1fr) auto;
    align-items:center;
    gap:10px;
  }
  .jkp-training-event-title{
    justify-content:flex-start;
    min-width:0;
    gap:7px;
  }
  .jkp-training-event-title h3{font-size:14px}
  .jkp-training-done,.jkp-training-upcoming{font-size:8px;padding:3px 6px}
  .jkp-training-att-status{
    flex-wrap:nowrap;
    margin-top:0;
    gap:4px;
  }
  .jkp-training-att-status>span{
    min-height:23px;
    padding:3px 6px;
    font-size:8px;
  }
  .jkp-training-att-status>span b{font-size:9px}
  .jkp-training-card-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    margin:0;
    padding:0;
    border-top:0;
    white-space:nowrap;
  }
  .jkp-training-card-actions .jkp-btn{
    min-height:34px;
    padding:6px 10px;
    font-size:9px;
  }
  .jkp-training-more,.jkp-training-history{margin-top:7px}
  .jkp-training-more>.jkp-training-compact-list,.jkp-training-history>.jkp-training-compact-list{padding:6px}
}

/* Auf mittleren Desktop-/Tabletbreiten darf der Status unter den Titel rutschen,
   die Aktionsbuttons bleiben aber rechts und erzeugen keine zweite Kartenzeile. */
@media(min-width:1100px) and (max-width:1280px) and (hover:hover) and (pointer:fine){
  .jkp-training-event-card{gap:8px}
  .jkp-training-event-top{grid-template-columns:96px minmax(0,1fr);gap:8px}
  .jkp-training-event-info{display:block}
  .jkp-training-att-status{margin-top:4px}
  .jkp-training-card-actions .jkp-btn{padding-left:8px;padding-right:8px}
}


/* =========================================================
   0.2.148 – Mobile/PWA-Trainingslayout unabhängig von CSS-Viewport
   Android-WebViews und installierte PWAs können intern eine breite
   Viewport melden. jkp-mobile-runtime wird per JS gesetzt und hat
   deshalb Vorrang vor der reinen Desktop-Media-Query.
   ========================================================= */
body.jkp-mobile-runtime .jkp-training-calendar-source{display:none!important}
body.jkp-mobile-runtime .jkp-training-event-section{margin-top:10px}
body.jkp-mobile-runtime .jkp-training-list-heading{margin-bottom:6px}
body.jkp-mobile-runtime .jkp-training-list-heading h3{font-size:14px}
body.jkp-mobile-runtime .jkp-training-compact-list{gap:7px}
body.jkp-mobile-runtime .jkp-training-event-card{
  display:block!important;
  padding:9px!important;
  min-height:0!important;
  border-radius:12px!important;
}
body.jkp-mobile-runtime .jkp-training-event-top{
  display:grid!important;
  grid-template-columns:90px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:stretch!important;
}
body.jkp-mobile-runtime .jkp-training-datechip{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:1px!important;
  padding:7px 8px!important;
  min-height:0!important;
  min-width:0!important;
}
body.jkp-mobile-runtime .jkp-training-datechip>span{font-size:8px!important;margin:0!important}
body.jkp-mobile-runtime .jkp-training-datechip>b{font-size:12px!important;white-space:nowrap!important}
body.jkp-mobile-runtime .jkp-training-datechip>em{font-size:10px!important;white-space:nowrap!important}
body.jkp-mobile-runtime .jkp-training-event-info{
  display:block!important;
  min-width:0!important;
}
body.jkp-mobile-runtime .jkp-training-event-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:6px!important;
  min-width:0!important;
}
body.jkp-mobile-runtime .jkp-training-event-title h3{
  font-size:14px!important;
  line-height:1.2!important;
  white-space:normal!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-width:0!important;
}
body.jkp-mobile-runtime .jkp-training-done,
body.jkp-mobile-runtime .jkp-training-upcoming{
  flex:0 0 auto!important;
  font-size:8px!important;
  padding:3px 6px!important;
}
body.jkp-mobile-runtime .jkp-training-att-status{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  margin-top:6px!important;
}
body.jkp-mobile-runtime .jkp-training-att-status>span{
  min-height:24px!important;
  padding:3px 6px!important;
  font-size:8px!important;
}
body.jkp-mobile-runtime .jkp-training-att-status>span b{font-size:9px!important}
body.jkp-mobile-runtime .jkp-training-card-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:7px!important;
  margin-top:8px!important;
  padding-top:7px!important;
  border-top:1px solid #edf1f4!important;
  white-space:normal!important;
}
body.jkp-mobile-runtime .jkp-training-card-actions .jkp-btn{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:8px 7px!important;
  font-size:10px!important;
}
body.jkp-mobile-runtime .jkp-training-more>summary,
body.jkp-mobile-runtime .jkp-training-history>summary{min-height:48px;font-size:10px}

@media(max-width:390px){
  body.jkp-mobile-runtime .jkp-training-event-top{grid-template-columns:82px minmax(0,1fr)!important;gap:7px!important}
  body.jkp-mobile-runtime .jkp-training-datechip{padding:6px!important}
  body.jkp-mobile-runtime .jkp-training-datechip>b{font-size:11px!important}
  body.jkp-mobile-runtime .jkp-training-datechip>em{font-size:9px!important}
  body.jkp-mobile-runtime .jkp-training-event-title h3{font-size:13px!important}
}


/* =========================================================
   0.2.149 – Touch/PWA-Fallback ohne JavaScript-Abhängigkeit
   Die Desktop-Einzeilenkarte darf niemals auf Touch-Geräten greifen.
   ========================================================= */
@media (max-width:1099px), (hover:none), (pointer:coarse){
  .jkp-training-event-section{margin-top:10px!important}
  .jkp-training-list-heading{margin-bottom:6px!important}
  .jkp-training-list-heading h3{font-size:14px!important}
  .jkp-training-compact-list{gap:7px!important}
  .jkp-training-event-card{
    display:block!important;
    padding:9px!important;
    min-height:0!important;
    border-radius:12px!important;
    overflow:visible!important;
  }
  .jkp-training-event-top{
    display:grid!important;
    grid-template-columns:94px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:stretch!important;
    min-width:0!important;
  }
  .jkp-training-datechip{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:2px!important;
    padding:7px 8px!important;
    min-width:0!important;
    min-height:0!important;
  }
  .jkp-training-datechip>span{font-size:8px!important;margin:0!important;line-height:1.1!important}
  .jkp-training-datechip>b{display:block!important;font-size:12px!important;line-height:1.2!important;white-space:nowrap!important}
  .jkp-training-datechip>em{display:block!important;font-size:9px!important;line-height:1.2!important;white-space:nowrap!important}
  .jkp-training-event-info{display:block!important;min-width:0!important;overflow:visible!important}
  .jkp-training-event-title{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:6px!important;
    min-width:0!important;
  }
  .jkp-training-event-title h3{
    margin:0!important;
    font-size:14px!important;
    line-height:1.22!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    min-width:0!important;
  }
  .jkp-training-done,.jkp-training-upcoming{
    display:inline-flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    font-size:8px!important;
    padding:3px 6px!important;
    white-space:nowrap!important;
  }
  .jkp-training-att-status{
    display:flex!important;
    visibility:visible!important;
    flex-wrap:wrap!important;
    gap:4px!important;
    margin-top:7px!important;
    position:static!important;
    width:auto!important;
    opacity:1!important;
  }
  .jkp-training-att-status>span{
    display:inline-flex!important;
    visibility:visible!important;
    min-height:24px!important;
    padding:3px 6px!important;
    font-size:8px!important;
    opacity:1!important;
  }
  .jkp-training-card-actions{
    display:grid!important;
    visibility:visible!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px!important;
    margin:8px 0 0!important;
    padding:7px 0 0!important;
    border-top:1px solid #edf1f4!important;
    position:static!important;
    width:auto!important;
    opacity:1!important;
  }
  .jkp-training-card-actions .jkp-btn{
    display:inline-flex!important;
    visibility:visible!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:8px 7px!important;
    font-size:10px!important;
    opacity:1!important;
  }
}
@media (max-width:390px){
  .jkp-training-event-top{grid-template-columns:86px minmax(0,1fr)!important;gap:7px!important}
  .jkp-training-datechip{padding:6px!important}
  .jkp-training-datechip>b{font-size:11px!important}
  .jkp-training-datechip>em{font-size:8.5px!important}
  .jkp-training-event-title h3{font-size:13px!important}
}


/* =========================================================
   0.2.150 – Trainingskarten: mobile-safe Basis, Desktop nur opt-in
   Die sichere Grunddarstellung benoetigt keinerlei Media-Query.
   So kann ein Android-/iOS-WebView mit falscher Desktop-Viewport
   die Karte nicht mehr in ein abgeschnittenes Mischlayout bringen.
   ========================================================= */
.jkp-training-event-card{
  display:block!important;
  padding:9px!important;
  min-height:0!important;
  border-radius:12px!important;
  overflow:visible!important;
}
.jkp-training-event-top{
  display:grid!important;
  grid-template-columns:116px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:stretch!important;
  min-width:0!important;
}
.jkp-training-datechip{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:2px!important;
  padding:7px 9px!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
.jkp-training-datechip>span{
  display:block!important;
  grid-column:auto!important;
  font-size:8px!important;
  line-height:1.1!important;
  margin:0!important;
}
.jkp-training-datechip>b{
  display:block!important;
  font-size:12px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.jkp-training-datechip>em{
  display:block!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  max-width:100%!important;
}
.jkp-training-event-info{
  display:block!important;
  min-width:0!important;
  overflow:visible!important;
}
.jkp-training-event-title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:6px!important;
  min-width:0!important;
}
.jkp-training-event-title h3{
  margin:0!important;
  font-size:14px!important;
  line-height:1.22!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  min-width:0!important;
}
.jkp-training-done,.jkp-training-upcoming{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  font-size:8px!important;
  padding:3px 6px!important;
  white-space:nowrap!important;
}
.jkp-training-att-status{
  display:flex!important;
  visibility:visible!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  margin-top:7px!important;
  position:static!important;
  width:auto!important;
  opacity:1!important;
}
.jkp-training-att-status>span{
  display:inline-flex!important;
  visibility:visible!important;
  min-height:24px!important;
  padding:3px 6px!important;
  font-size:8px!important;
  opacity:1!important;
}
.jkp-training-att-status>span b{font-size:9px!important}
.jkp-training-card-actions{
  display:grid!important;
  visibility:visible!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:7px!important;
  margin:8px 0 0!important;
  padding:7px 0 0!important;
  border-top:1px solid #edf1f4!important;
  position:static!important;
  width:auto!important;
  opacity:1!important;
  white-space:normal!important;
}
.jkp-training-card-actions .jkp-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:8px 7px!important;
  font-size:10px!important;
  opacity:1!important;
}

/* Nur ein vom Runtime-Check eindeutig erkanntes Desktopgeraet darf verdichten. */
body.jkp-desktop-runtime .jkp-training-event-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:7px 10px!important;
  border-radius:11px!important;
}
body.jkp-desktop-runtime .jkp-training-event-top{
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
}
body.jkp-desktop-runtime .jkp-training-datechip{
  min-height:44px!important;
  padding:5px 8px!important;
  border-radius:8px!important;
}
body.jkp-desktop-runtime .jkp-training-event-info{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
body.jkp-desktop-runtime .jkp-training-event-title{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
}
body.jkp-desktop-runtime .jkp-training-event-title h3{
  font-size:14px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.jkp-desktop-runtime .jkp-training-att-status{
  flex-wrap:nowrap!important;
  margin-top:0!important;
}
body.jkp-desktop-runtime .jkp-training-att-status>span{
  min-height:23px!important;
  padding:3px 6px!important;
}
body.jkp-desktop-runtime .jkp-training-card-actions{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  border-top:0!important;
  white-space:nowrap!important;
}
body.jkp-desktop-runtime .jkp-training-card-actions .jkp-btn{
  width:auto!important;
  min-height:34px!important;
  padding:6px 10px!important;
  font-size:9px!important;
}

@media(max-width:390px){
  .jkp-training-event-top{grid-template-columns:104px minmax(0,1fr)!important;gap:7px!important}
  .jkp-training-datechip{padding:6px 7px!important}
  .jkp-training-datechip>b{font-size:11px!important}
  .jkp-training-datechip>em{font-size:9px!important}
  .jkp-training-event-title h3{font-size:13px!important}
}


/* 0.2.154 – Scouting ohne bekannten Jahrgang: Beobachtungs-/Zielkontext */
.jkp-scout-fast-fields .jkp-scout-context{grid-column:1/-1!important}
.jkp-scout-fast-fields .jkp-scout-context small{display:block;margin-top:2px;font-size:9px;line-height:1.3;color:#6b7f94}
@media (max-width:680px){
  .jkp-scout-fast-fields .jkp-scout-context{grid-column:1/-1!important}
  .jkp-scout-fast-fields .jkp-scout-context select{font-size:15px!important}
  .jkp-scout-fast-fields .jkp-scout-context small{font-size:9px}
}

@media (max-width:680px){
  .jkp-scout-fast-fields>label:nth-child(4),.jkp-scout-fast-fields>label:nth-child(5){grid-column:auto!important}
  .jkp-scout-fast-fields>label:nth-child(6){grid-column:1/-1!important}
}


/* 0.2.155 – Spieler-Kaderdetails: alte [open]- und neue .is-open-Logik konsistent halten. */
.jkp-player-compact .jkp-playerdetails.is-open > .jkp-playerdetails-body{display:block!important}
.jkp-player-compact .jkp-playerdetails:not(.is-open) > .jkp-playerdetails-body[hidden]{display:none!important}


/* =========================================================
   0.2.156 – Kaderdetails ohne Überlagerung
   Der Pfeil öffnet einen echten Block unter der Spielerzeile. Der große
   Bewertungseditor bleibt im Modal und kann die Kaderliste nicht mehr sprengen.
   ========================================================= */
.jkp-squadroster .jkp-rosterrow.jkp-player-compact.jkp-detail-open,
.jkp-yearcard .jkp-rosterrow.jkp-player-compact.jkp-detail-open{
  display:block!important;
  position:relative!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  padding:8px 10px 10px!important;
  z-index:2!important;
}
.jkp-player-compact.jkp-detail-open .jkp-roster-main{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.jkp-player-compact .jkp-playerdetails{
  clear:both!important;
  width:100%!important;
  min-width:0!important;
}
.jkp-player-compact .jkp-playerdetails.is-open>.jkp-playerdetails-body{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:8px 0 0!important;
  padding:9px 0 1px!important;
  border-top:1px dashed #d8e2ec!important;
  z-index:1!important;
}
.jkp-player-compact .jkp-playerdetails:not(.is-open)>.jkp-playerdetails-body{
  display:none!important;
}
.jkp-player-detail-toolbar{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin-top:8px;
  padding:8px 9px;
  border:1px solid #dce5ed;
  border-radius:9px;
  background:#f7fafc;
}
.jkp-player-detail-toolbar>span{font-size:9px;color:#6c7b88}
.jkp-player-detail-toolbar .jkp-player-detail-edit{min-height:34px!important}
/* In der Kaderliste selbst nie wieder den vollständigen Inline-Bewertungseditor zeigen. */
.jkp-player-compact .jkp-playerdetails-body>.jkp-profileedit{display:none!important}
@media(max-width:780px){
  .jkp-player-detail-toolbar{align-items:stretch;flex-direction:column}
  .jkp-player-detail-toolbar .jkp-player-detail-edit{width:100%;min-height:44px!important}
}


/* =========================================================
   0.2.157 – iOS/PWA-sichere Navigation + kompakter Spielereditor
   ========================================================= */
.jkp-nav-direct,.jkp-nav-group>.jkp-nav-group-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-height:38px;padding:8px 11px;border:0;border-radius:9px;
  background:transparent;color:#344054;font:inherit;font-weight:700;
  text-decoration:none!important;cursor:pointer;white-space:nowrap;
  appearance:none;-webkit-appearance:none;touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.jkp-nav-group>.jkp-nav-group-toggle span{font-size:10px;opacity:.75;transition:transform .15s}
.jkp-nav-group.is-open>.jkp-nav-group-toggle span{transform:rotate(180deg)}
.jkp-nav-direct:hover,.jkp-nav-direct.is-active,.jkp-nav-group>.jkp-nav-group-toggle:hover,.jkp-nav-group.is-active>.jkp-nav-group-toggle,.jkp-nav-group.is-open>.jkp-nav-group-toggle{background:var(--jkp);color:#fff!important}
.jkp-nav-group-menu[hidden]{display:none!important}
.jkp-nav-group.is-open>.jkp-nav-group-menu{display:grid!important}
body.jkp-mobile-runtime .jkp-nav-group-menu{left:10px!important;right:10px!important;width:auto!important;min-width:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;z-index:1000600!important}
@media (pointer:coarse){.jkp-nav-group-menu{left:10px!important;right:10px!important;width:auto!important;min-width:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;z-index:1000600!important}}
@media(max-width:900px){
  .jkp-nav-group>.jkp-nav-group-toggle{min-height:42px;padding:8px 10px;font-size:11px}
  .jkp-nav-group-menu{left:10px!important;right:10px!important;width:auto!important;min-width:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;z-index:1000600!important}
  .jkp-nav-group-menu a{min-height:44px!important;display:flex!important;align-items:center!important;font-size:13px!important;padding:10px 12px!important}
}

.jkp-player-modal-dialog{max-height:min(92dvh,820px)!important}
.jkp-player-modal-body{padding:12px!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.jkp-player-editor-sections{display:grid;gap:8px;width:100%;min-width:0}
.jkp-player-editor-section{width:100%;min-width:0;border:1px solid #d8e2ec;border-radius:12px;background:#fff;overflow:hidden}
.jkp-player-editor-section-toggle{display:flex;width:100%;min-height:50px;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:0;background:#f7f9fc;color:#20374e;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;touch-action:manipulation}
.jkp-player-editor-section-toggle>span{display:grid;gap:2px;min-width:0}
.jkp-player-editor-section-toggle b{font-size:13px;line-height:1.2;color:#183a63}
.jkp-player-editor-section-toggle small{font-size:9px;line-height:1.25;color:#718093;font-weight:600;white-space:normal}
.jkp-player-editor-section-toggle i{font-style:normal;font-size:13px;transition:transform .15s;color:#63778c}
.jkp-player-editor-section.is-open>.jkp-player-editor-section-toggle{background:#edf4fb}
.jkp-player-editor-section.is-open>.jkp-player-editor-section-toggle i{transform:rotate(180deg)}
.jkp-player-editor-section-body{padding:11px 12px 12px;border-top:1px solid #e3eaf1;background:#fff;min-width:0}
.jkp-player-editor-section-body[hidden]{display:none!important}
.jkp-player-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
.jkp-player-editor-section .jkp-player-team-fields,.jkp-player-editor-section .jkp-evaluation-field{margin:0!important;border:0!important;padding:0!important;background:transparent!important}
.jkp-player-editor-section .jkp-player-team-fields>legend,.jkp-player-editor-section .jkp-evaluation-field>legend{display:none!important}
.jkp-player-editor-section .jkp-evaluation-intro{padding:7px 4px 10px!important;border-bottom:0!important}
.jkp-player-editor-section .jkp-evaluation-groups{padding:0!important;grid-template-columns:1fr!important;gap:7px!important}
.jkp-evaluation-group.is-collapsible{border:1px solid #d9e2e9!important;border-radius:10px!important;overflow:hidden!important}
.jkp-evaluation-group-toggle{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:0;background:#1f3548;color:#fff;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;touch-action:manipulation}
.jkp-evaluation-group-toggle>span{font-size:10px;font-weight:950;letter-spacing:.035em;text-transform:uppercase}
.jkp-evaluation-group-toggle>small{font-size:8px;font-weight:750;color:#d9e6f0;white-space:nowrap}
.jkp-evaluation-group-toggle>i{font-style:normal;font-size:11px;transition:transform .15s}
.jkp-evaluation-group.is-open>.jkp-evaluation-group-toggle>i{transform:rotate(180deg)}
.jkp-evaluation-group-body[hidden]{display:none!important}
.jkp-evaluation-group-body{background:#fff}
.jkp-player-editor-section .jkp-timeline{margin:0!important;max-height:42vh;overflow:auto;padding-right:4px}

@media(max-width:820px){
  .jkp-player-modal-dialog{max-height:96dvh!important}
  .jkp-player-editor-grid{grid-template-columns:1fr 1fr!important}
  .jkp-player-editor-section-body{padding:9px!important}
}
@media(max-width:560px){
  .jkp-player-modal{padding:0!important;align-items:flex-end!important}
  .jkp-player-modal-dialog{height:min(94dvh,780px)!important;max-height:94dvh!important;border-radius:16px 16px 0 0!important}
  .jkp-player-modal-head{padding:10px 12px!important;min-height:52px}
  .jkp-player-modal-head h3{font-size:16px!important;line-height:1.2}
  .jkp-player-modal-body{padding:8px!important}
  .jkp-player-editor-grid{grid-template-columns:1fr!important;gap:8px!important}
  .jkp-player-editor-section-toggle{min-height:52px;padding:9px 10px}
  .jkp-player-editor-section-toggle b{font-size:13px}
  .jkp-player-editor-section-body{padding:8px!important}
  .jkp-player-editor-section .jkp-formgrid input,.jkp-player-editor-section .jkp-formgrid select,.jkp-player-editor-section .jkp-formgrid textarea{min-height:44px!important;font-size:16px!important}
  .jkp-player-editor-section .jkp-player-teamset-grid{grid-template-columns:1fr!important}
  .jkp-evaluation-intro{align-items:flex-start!important;gap:6px!important;padding:4px 2px 8px!important}
  .jkp-evaluation-group-toggle{min-height:48px;padding:9px}
  .jkp-evaluation-scale,.jkp-evaluation-row{grid-template-columns:minmax(94px,1fr) 42px 42px 42px 24px!important}
  .jkp-evaluation-row{min-height:50px!important;padding:5px!important}
  .jkp-evaluation-row>span{font-size:9px!important}
  .jkp-evaluation-options label>span{width:36px!important;height:36px!important}
}

/* 0.2.158 – Recht & Datenschutz */
.jkp-legal-footer{display:flex;justify-content:center;align-items:center;gap:10px;margin:18px 0 4px;padding:12px 16px;font-size:13px;opacity:.88}
.jkp-legal-footer a,.jkp-legal-public a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.jkp-login-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;align-items:center}
.jkp-legal-public{max-width:920px;margin:24px auto;padding:0 14px 30px;color:#18263a}
.jkp-legal-public-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 35px rgba(15,30,50,.14)}
.jkp-legal-public-head span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.jkp-legal-public-head h1{margin:2px 0 0;font-size:clamp(24px,4vw,36px)}
.jkp-legal-doc{background:rgba(255,255,255,.96);border-radius:18px;padding:clamp(18px,4vw,34px);box-shadow:0 12px 35px rgba(15,30,50,.14);line-height:1.58}
.jkp-legal-doc h2{font-size:19px;margin:26px 0 8px;color:#183a63}
.jkp-legal-doc p{margin:0 0 12px}
.jkp-legal-note{padding:13px 15px;border-radius:12px;background:#eef5fd;border:1px solid #d5e4f4}
.jkp-legal-updated{margin-top:28px!important;font-size:12px;opacity:.7}
.jkp-legal-public-foot{display:flex;justify-content:center;gap:10px;padding:16px;font-size:13px}
.jkp-legal-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 20px}
.jkp-legal-status-grid>div{padding:14px;border-radius:14px;border:1px solid #dce5ef;background:#f7f9fc}
.jkp-legal-status-grid b,.jkp-legal-status-grid span{display:block}.jkp-legal-status-grid span{font-size:12px;margin-top:4px;line-height:1.4}
.jkp-legal-status-grid .is-ok{background:#f0faf5;border-color:#cfe9da}.jkp-legal-status-grid .is-warning{background:#fff8e8;border-color:#efdba6}
.jkp-legal-settings h4{margin:22px 0 10px}
.jkp-legal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.jkp-legal-form-grid label,.jkp-legal-settings>form>label{display:flex;flex-direction:column;gap:6px}
.jkp-legal-form-grid label span,.jkp-legal-settings>form>label>span{font-weight:700;font-size:13px}
.jkp-legal-form-grid .jkp-wide,.jkp-legal-settings label.jkp-wide{grid-column:1/-1}
.jkp-legal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.jkp-legal-compliance{margin-top:22px;padding:16px 18px;border-radius:14px;background:#f7f9fc;border:1px solid #dde5ee}
.jkp-legal-compliance ul{margin:8px 0 14px 20px}
@media(max-width:760px){.jkp-legal-status-grid,.jkp-legal-form-grid{grid-template-columns:1fr}.jkp-legal-public{margin:10px auto;padding:0 8px 24px}.jkp-legal-public-head{padding:14px}.jkp-legal-public-head .jkp-btn{min-height:44px}.jkp-legal-doc{border-radius:15px;padding:18px}.jkp-legal-doc h2{font-size:17px}.jkp-legal-actions{display:grid;grid-template-columns:1fr}.jkp-legal-actions .jkp-btn{min-height:44px;display:flex;align-items:center;justify-content:center}}

/* 0.2.159 – Rechtsassistent: Betreiberrolle klar von Verantwortlichem trennen */
.jkp-legal-step{margin:18px 0 0;padding:16px 18px;border:1px solid #dfe7ef;border-radius:14px;background:#fbfcfe}
.jkp-legal-step>h4{margin:0 0 8px}
.jkp-legal-mode-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.jkp-legal-mode-help>div{padding:12px;border:1px solid #dfe6ee;border-radius:12px;background:#fff}
.jkp-legal-mode-help b,.jkp-legal-mode-help span{display:block}.jkp-legal-mode-help span{margin-top:4px;font-size:12px;line-height:1.4;opacity:.78}
.jkp-legal-mode-help>div.is-active{border-color:#7aa4cf;background:#eef6ff;box-shadow:inset 0 0 0 1px rgba(60,115,170,.08)}
.jkp-legal-warningbox{margin-top:12px;padding:12px 14px;border:1px solid #efdba6;border-radius:12px;background:#fff8e8}
.jkp-legal-warningbox b,.jkp-legal-warningbox span{display:block}.jkp-legal-warningbox span{margin-top:4px;font-size:12px;line-height:1.45}
.jkp-legal-step .jkp-checkline{margin-top:12px}
.jkp-legal-step[data-jkp-hidden="1"],.jkp-legal-step [data-jkp-hidden="1"],.jkp-legal-settings [data-jkp-hidden="1"]{display:none!important}
.jkp-legal-status-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media(max-width:760px){.jkp-legal-step{padding:14px 12px}.jkp-legal-mode-help{grid-template-columns:1fr}.jkp-legal-step select,.jkp-legal-step input,.jkp-legal-step textarea{min-height:44px;font-size:16px}.jkp-legal-step textarea{min-height:120px}}

/* =========================================================
   0.2.160 – iOS/PWA Navigation als Body-Portal statt im Scrollcontainer
   ========================================================= */
.jkp-nav-sheet[hidden]{display:none!important}
.jkp-nav-sheet{
  position:fixed!important;inset:0!important;z-index:2147483000!important;
  display:block!important;pointer-events:auto!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.jkp-nav-sheet-backdrop{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:rgba(15,31,49,.34)!important;-webkit-appearance:none!important;appearance:none!important;
}
.jkp-nav-sheet-panel{
  position:fixed!important;left:8px!important;right:8px!important;top:var(--jkp-nav-sheet-top,72px)!important;
  width:auto!important;max-width:none!important;max-height:calc(100vh - var(--jkp-nav-sheet-top,72px) - 10px)!important;
  max-height:calc(100dvh - var(--jkp-nav-sheet-top,72px) - 10px)!important;
  overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
  padding:7px!important;border:1px solid #d1dce6!important;border-radius:13px!important;
  background:#fff!important;box-shadow:0 18px 45px rgba(20,38,58,.28)!important;
  transform:translateZ(0)!important;-webkit-transform:translateZ(0)!important;
}
.jkp-nav-sheet-head{
  position:sticky!important;top:-7px!important;z-index:2!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  min-height:42px!important;margin:-7px -7px 5px!important;padding:7px 8px 6px 12px!important;
  border-bottom:1px solid #e4eaf0!important;background:#fff!important;
}
.jkp-nav-sheet-head b{font-size:13px!important;color:#183a63!important}
.jkp-nav-sheet-close{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:36px!important;height:36px!important;min-width:36px!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:9px!important;background:#eef3f7!important;color:#294a66!important;
  font:800 22px/1 Arial,sans-serif!important;-webkit-appearance:none!important;appearance:none!important;
  touch-action:manipulation!important;
}
.jkp-nav-sheet-links{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
.jkp-nav-sheet-links a{
  display:flex!important;align-items:center!important;width:100%!important;min-height:48px!important;
  padding:11px 13px!important;border-radius:9px!important;background:#f7f9fb!important;
  color:#2d4255!important;text-decoration:none!important;font-size:14px!important;font-weight:750!important;
  white-space:normal!important;line-height:1.25!important;touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
.jkp-nav-sheet-links a.is-active{background:var(--jkp,#183a63)!important;color:#fff!important}
html.jkp-nav-sheet-open,body.jkp-nav-sheet-open{overflow:hidden!important;overscroll-behavior:none!important}
@media(min-width:901px) and (pointer:fine){.jkp-nav-sheet{display:none!important}}

/* 0.2.161 – Spieler-/Scouting-Import */
.jkp-people-import{margin:14px 0!important;padding:0!important;overflow:hidden}
.jkp-people-import>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.jkp-people-import>summary::-webkit-details-marker{display:none}
.jkp-people-import>summary span{display:flex;flex-direction:column;gap:2px;min-width:0}
.jkp-people-import>summary b{font-size:14px;color:#17324d}
.jkp-people-import>summary small{font-size:11px;color:#718096}
.jkp-people-import>summary em{font-style:normal;font-size:11px;color:#3b5f82;white-space:nowrap}
.jkp-people-import-body{padding:0 16px 16px;border-top:1px solid #e4eaf0}
.jkp-people-import-body>p{margin:12px 0;color:#52667a}
.jkp-people-import-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,240px) auto auto;gap:10px;align-items:end}
.jkp-people-import-form label{display:flex;flex-direction:column;gap:5px;min-width:0}
.jkp-people-import-form label>span{font-size:10px;font-weight:700;color:#52667a;text-transform:uppercase;letter-spacing:.03em}
.jkp-people-import-form input[type=file],.jkp-people-import-form select{width:100%;min-height:42px;border:1px solid #cdd8e3;border-radius:10px;background:#fff;padding:8px 10px}
.jkp-people-import code{background:#eef4f8;border-radius:5px;padding:1px 5px}
@media(max-width:760px){.jkp-people-import-form{grid-template-columns:1fr}.jkp-people-import-form .jkp-btn{width:100%;justify-content:center}.jkp-people-import>summary{padding:12px}.jkp-people-import-body{padding:0 12px 12px}}

/* 0.2.162 – gemeinsames Scouting Jugend / 1. MS / SG */
.jkp-import-update-note{display:flex;align-items:center;min-height:42px;padding:8px 11px;border:1px solid #cdd8e3;border-radius:10px;background:#f7fafc;color:#455b70;font-size:11px;line-height:1.35}
.jkp-scout-area-filter{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}
.jkp-scout-area-filter a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid #d3dde7;border-radius:999px;background:#fff;color:#35516e;text-decoration:none;font-size:12px;font-weight:750}
.jkp-scout-area-filter a.is-active{background:#173a63;color:#fff;border-color:#173a63}
.jkp-scout-area-badges{display:flex!important;flex-wrap:wrap;gap:5px;margin:4px 0 2px}
.jkp-scout-area-badges em{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;background:#eaf1f8;color:#244a6e;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.02em}
.jkp-scout-list-unified{display:grid;gap:8px}
.jkp-scout-info-preview{display:block;max-width:900px;color:#5f7183!important;font-style:italic}
@media(max-width:760px){
  .jkp-scout-area-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;position:sticky;top:0;z-index:5;padding:6px 0;background:rgba(247,249,251,.96);backdrop-filter:blur(8px)}
  .jkp-scout-area-filter a{min-height:40px;padding:6px 5px;font-size:10px}
  .jkp-scout-area-badges em{font-size:8px}
}

/* 0.2.163 – Scouting als Arbeitsliste mit kombinierten Filtern */
.jkp-scout-filterbar{display:grid!important;grid-template-columns:minmax(240px,1.5fr) repeat(5,minmax(125px,.75fr)) auto auto;gap:7px!important;align-items:center!important;padding:9px!important;border:1px solid #dbe3ea!important;border-radius:12px!important;background:rgba(255,255,255,.98)!important}
.jkp-scout-filterbar .jkp-scout-q{min-width:0!important;width:100%!important}
.jkp-scout-filterbar select{min-width:0!important;width:100%!important;max-width:none!important}
.jkp-scout-filter-summary{display:flex;align-items:center;gap:8px;margin:-5px 0 10px;color:#5c6f80;font-size:12px}.jkp-scout-filter-summary b{font-size:16px;color:#173a63}.jkp-scout-filter-summary span{display:inline-flex;padding:3px 8px;border-radius:999px;background:#e9f1f8;color:#24547f;font-weight:750}
@media(max-width:1200px){.jkp-scout-filterbar{grid-template-columns:repeat(3,minmax(0,1fr)) auto!important}.jkp-scout-filterbar .jkp-scout-q{grid-column:1/-1!important}.jkp-scout-filterbar .jkp-btn{min-height:40px!important}}
@media(max-width:720px){.jkp-scout-filterbar{position:static!important;display:grid!important;grid-template-columns:1fr 1fr!important;padding:8px!important}.jkp-scout-filterbar .jkp-scout-q{grid-column:1/-1!important;min-height:44px!important;font-size:16px!important}.jkp-scout-filterbar select{min-height:42px!important;font-size:13px!important}.jkp-scout-filterbar .jkp-btn{width:100%!important}.jkp-scout-filter-submit{grid-column:1/2}.jkp-scout-filterbar .jkp-btn-light{grid-column:2/3}.jkp-scout-area-filter{position:static!important}}
@media(max-width:420px){.jkp-scout-filterbar{grid-template-columns:1fr!important}.jkp-scout-filterbar .jkp-scout-q,.jkp-scout-filter-submit,.jkp-scout-filterbar .jkp-btn-light{grid-column:1!important}}

/* 0.2.164 – Schnellerfassung getrennt von Scouting-Datenbank */
.jkp-scout-existing.is-database{overflow:visible}
.jkp-scout-existing.is-database>.jkp-scout-existing-body{border-top:0;padding:12px}
.jkp-scout-existing.is-database .jkp-scout-filterbar{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important}
.jkp-scout-existing.is-database .jkp-scout-filterbar .jkp-scout-q{grid-column:span 2!important}
@media(max-width:720px){
  .jkp-scout-existing.is-database>.jkp-scout-existing-body{padding:8px}
  .jkp-scout-existing.is-database .jkp-scout-filterbar{grid-template-columns:1fr 1fr!important}
  .jkp-scout-existing.is-database .jkp-scout-filterbar .jkp-scout-q{grid-column:1/-1!important}
}
@media(max-width:420px){
  .jkp-scout-existing.is-database .jkp-scout-filterbar{grid-template-columns:1fr!important}
  .jkp-scout-existing.is-database .jkp-scout-filterbar .jkp-scout-q{grid-column:1!important}
}

/* 0.2.165 – automatische Jugend-Zielmannschaft + eindeutiges Bearbeitungsziel */
.jkp-scout-name-edit{cursor:pointer;text-decoration-thickness:1px;text-underline-offset:3px}
.jkp-scout-name-edit:hover,.jkp-scout-name-edit:focus-visible{text-decoration:underline;outline:none;color:var(--jkp)}
.jkp-scout-target-open{display:block!important;width:100%;padding:5px 7px;border-radius:7px;background:#fff4d8;color:#7a5200!important}
.jkp-scout-auto-target{grid-column:1/-1;display:grid;gap:2px;padding:9px 10px;border:1px solid rgba(23,58,99,.12);border-radius:9px;background:#eef5fb;color:#24425f}
.jkp-scout-auto-target b{font-size:11px}.jkp-scout-auto-target span{font-size:12px;font-weight:800}.jkp-scout-auto-target small{font-size:10px;color:#64788e}
.jkp-scout-auto-target.is-open{background:#fff4d8;border-color:#e6c878;color:#6b4a00}
@media(max-width:700px){.jkp-scout-auto-target{padding:10px}.jkp-scout-target-open{font-size:10px!important}}


/* 0.2.166 – Kalender-Hotfix: Selbstheilung und sichtbare Ersatzansicht */
.jkp-calendar-reset{white-space:nowrap}
.jkp-calendar-recovery{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px;padding:14px;border:1px solid #e0b44d;border-radius:12px;background:#fff7df;color:#664800}
.jkp-calendar-recovery b{font-size:13px}.jkp-calendar-recovery span{font-size:11px;flex:1 1 280px}
@media(max-width:760px){.jkp-calendar-reset{font-size:0!important;min-width:40px}.jkp-calendar-reset:after{content:'↺';font-size:18px}.jkp-calendar-recovery{align-items:stretch;flex-direction:column}.jkp-calendar-recovery .jkp-btn{width:100%}}

/* 0.2.169 – Spielergebnisse & BFV-Ergebnisautomatik */
.jkp-calendar-resultbox{grid-column:1/-1;border:1px solid #dbe4ee;background:#f8fbff;border-radius:14px;padding:14px;display:grid;gap:12px}
.jkp-calendar-resultbox[hidden]{display:none!important}
.jkp-calendar-resulthead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.jkp-calendar-resulthead>div{display:grid;gap:2px}.jkp-calendar-resulthead small{color:#66758a;font-size:.82rem}.jkp-calendar-resulthead>span{font-size:.76rem;font-weight:800;padding:4px 8px;border-radius:999px;background:#edf2f7;color:#526174;white-space:nowrap}
.jkp-calendar-resulthead>span.is-auto{background:#e7f5ee;color:#17663b}.jkp-calendar-resulthead>span.is-manual{background:#fff4d9;color:#7b5800}
.jkp-calendar-resultgrid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px}.jkp-calendar-resultgrid label{display:grid;gap:5px}.jkp-calendar-resultgrid input{text-align:center;font-size:1.1rem;font-weight:800}
.jkp-calendar-scorers{display:grid;gap:5px}.jkp-calendar-scorers textarea{min-height:78px}.jkp-calendar-scorers small{color:#6b7788}
.jkp-cal-result-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:2px 7px;margin:0 5px;border-radius:999px;background:#e8eef5;color:#21354a;font-size:.82rem;font-weight:900;line-height:1.35;vertical-align:middle}
.jkp-cal-result-badge.is-win{background:#e2f4e8;color:#17663b}.jkp-cal-result-badge.is-loss{background:#fde8e8;color:#9a2931}.jkp-cal-result-badge.is-draw{background:#fff2cf;color:#735500}.jkp-cal-ht{white-space:nowrap;color:#6a7687}
.jkp-bfv-result-auto>span{display:grid;gap:2px}.jkp-bfv-result-auto small{font-weight:400;color:#66758a;line-height:1.35}.jkp-bfv-result-status{border-left:4px solid #2f855a}
@media(max-width:760px){.jkp-calendar-resultgrid{grid-template-columns:repeat(2,minmax(90px,1fr))}.jkp-calendar-resulthead{display:grid}.jkp-calendar-resulthead>span{justify-self:start}}


/* =========================================================
   0.2.172 – Allgemeine Termine + neue Tagesübersicht
   ========================================================= */
.jkp-calendar-teamchip.is-general{border-color:#ddd2fa;background:#faf8ff}
.jkp-cal-event.is-general{--jkp-team-color:#7c3aed!important;background:#f5f0ff!important;border-left-color:#7c3aed!important}
.jkp-cal-event.is-general:hover{background:#eee6ff!important}

.jkp-today-simple{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px;margin-top:10px}
.jkp-today-simple-group{min-width:0}
.jkp-today-simple-group>header{display:flex;align-items:center;gap:7px;padding:0 2px 5px;border-bottom:1px solid #dfe7ec}
.jkp-today-simple-group>header>b{font-size:12px;color:#263f52}
.jkp-today-simple-group>div{display:flex;flex-direction:column}
.jkp-today-simple-group button{display:grid;grid-template-columns:96px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;padding:7px 3px;border:0;border-bottom:1px solid #edf1f4;border-left:3px solid var(--jkp-team-color,#246a9a);background:transparent;text-align:left;cursor:pointer}
.jkp-today-simple-group button:last-child{border-bottom:0}
.jkp-today-simple-group button:hover{background:#f7fafc}
.jkp-today-simple-group button.is-general{background:#faf8ff;border-left-color:#7c3aed}
.jkp-today-simple-group time{font-size:10px;font-weight:850;color:#526777;font-variant-numeric:tabular-nums;white-space:nowrap}
.jkp-today-simple-group button>span{min-width:0;font-size:11px;font-weight:760;color:#243b4d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jkp-today-simple-group button>i{font-style:normal;font-size:12px;text-align:center}

.jkp-dashboard-today{margin-bottom:12px;padding:13px 15px}
.jkp-dashboard-today-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.jkp-dashboard-today-head small{display:block;font-size:8px;font-weight:950;letter-spacing:.08em;color:#73828d}
.jkp-dashboard-today-head h3{margin:2px 0 0;font-size:17px;color:#203d52}
.jkp-dashboard-today-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:11px}
.jkp-dashboard-today-group h4{margin:0 0 4px;padding-bottom:5px;border-bottom:2px solid #dce5eb;font-size:12px;color:#26475e}
.jkp-dashboard-today-group>div{display:flex;flex-direction:column}
.jkp-dashboard-today-row{display:grid;grid-template-columns:105px minmax(0,1fr);gap:9px;align-items:center;padding:7px 3px;border-bottom:1px solid #edf1f4;border-left:3px solid #246a9a}
.jkp-dashboard-today-row:last-child{border-bottom:0}
.jkp-dashboard-today-row.is-general{border-left-color:#7c3aed;background:#faf8ff}
.jkp-dashboard-today-row.is-external{border-left-color:#64748b;background:#fafbfc}
.jkp-dashboard-today-row time{font-size:10px;font-weight:850;color:#536979;font-variant-numeric:tabular-nums;white-space:nowrap}
.jkp-dashboard-today-row span{font-size:11px;font-weight:760;color:#233c4f;min-width:0}
@media(max-width:760px){
  .jkp-today-simple,.jkp-dashboard-today-groups{grid-template-columns:1fr}
  .jkp-today-simple-group button{grid-template-columns:88px minmax(0,1fr) 16px}
  .jkp-dashboard-today-row{grid-template-columns:92px minmax(0,1fr)}
}


/* 0.2.173 – Spieler direkt in einer Mannschaft anlegen */
.jkp-squad-new-player{margin:10px 0 12px;border:1px solid rgba(35,87,132,.18);border-radius:12px;background:rgba(246,250,254,.86);overflow:hidden}
.jkp-squad-new-player>summary{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;font-weight:800;color:#244f73;list-style:none}
.jkp-squad-new-player>summary::-webkit-details-marker{display:none}
.jkp-squad-new-player>summary:after{content:'▾';margin-left:auto;font-size:12px;transition:transform .18s ease}
.jkp-squad-new-player[open]>summary:after{transform:rotate(180deg)}
.jkp-squad-new-player>summary small{font-weight:600;color:#718295}
.jkp-squad-new-player-body{padding:0 12px 12px;border-top:1px solid rgba(35,87,132,.12)}
.jkp-squad-new-player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding-top:11px}
.jkp-squad-new-player-grid label{min-width:0}
.jkp-squad-new-player-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding-top:10px;border-top:1px solid rgba(35,87,132,.10)}
.jkp-squad-new-player-actions span{font-size:12px;color:#65788b}
@media(max-width:900px){.jkp-squad-new-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.jkp-squad-new-player-grid{grid-template-columns:1fr}.jkp-squad-new-player-actions{align-items:stretch;flex-direction:column}.jkp-squad-new-player-actions .jkp-btn{width:100%;justify-content:center}}

/* 0.2.174 – Scouting-Zielmannschaften als Schnellfilter + Kerninfos auf Spielerkarten */
.jkp-scout-quickfilters{display:grid;gap:9px;margin:10px 0 14px}
.jkp-scout-quickfilter-group{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:start;gap:9px}
.jkp-scout-quickfilter-label{padding-top:9px;font-size:10px;line-height:1.15;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#718398}
.jkp-scout-quickfilters .jkp-scout-area-filter{margin:0}
.jkp-scout-target-filter{display:flex;flex-wrap:wrap;gap:7px}
.jkp-scout-target-filter a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid #d3dde7;border-radius:999px;background:#fff;color:#35516e;text-decoration:none;font-size:12px;font-weight:750}
.jkp-scout-target-filter a:hover{border-color:#9fb2c6;background:#f6f9fc}
.jkp-scout-target-filter a.is-active{background:#173a63;color:#fff;border-color:#173a63;box-shadow:0 4px 12px rgba(23,58,99,.14)}
.jkp-scout-target-filter a.is-open-target:not(.is-active){border-style:dashed;color:#7b657d;background:#fbf7fb}
.jkp-scout-corefacts{display:inline-flex!important;align-items:stretch;gap:5px;flex-wrap:wrap;width:100%;margin:3px 0 1px}
.jkp-scout-corefacts em{display:inline-flex;align-items:baseline;gap:5px;padding:5px 8px;border:1px solid #dce5ee;border-radius:8px;background:#f7fafc;font-style:normal;color:#39536d}
.jkp-scout-corefacts em.is-primary{background:#edf4fb;border-color:#c9dced;color:#173a63}
.jkp-scout-corefacts small{font-size:8px!important;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#8192a4!important}
.jkp-scout-corefacts strong{font-size:11px;line-height:1.1;color:inherit}
.jkp-scout-person>.jkp-scout-meta{width:100%;font-size:10px;color:#64788e}
@media(max-width:720px){
  .jkp-scout-quickfilter-group{grid-template-columns:1fr;gap:4px}
  .jkp-scout-quickfilter-label{padding-top:0}
  .jkp-scout-target-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .jkp-scout-target-filter a{min-height:40px;padding:6px 5px;font-size:10px;text-align:center}
  .jkp-scout-corefacts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:4px}
  .jkp-scout-corefacts em{display:grid;gap:1px;padding:6px 7px;min-width:0}
  .jkp-scout-corefacts strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:430px){
  .jkp-scout-target-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jkp-scout-corefacts{grid-template-columns:1fr 1fr}
  .jkp-scout-corefacts em:last-child:nth-child(3){grid-column:1/-1}
}

/* 0.2.176 – robuste Langzeitanmeldung / POST-Logout */
.jkp-login-error{margin:0 0 14px;padding:10px 12px;border:1px solid #f3b4b4;border-radius:10px;background:#fff1f1;color:#8f1d1d;font-size:13px;font-weight:750}
.jkp-login-form .login-remember small{font-size:10px;color:#667085;font-weight:650}
.jkp-login-form .login-submit button{width:100%;min-height:46px;border:0;border-radius:10px;background:#183a63;color:#fff;font-size:15px;font-weight:850;cursor:pointer}
.jkp-login-form .login-submit button:hover,.jkp-login-form .login-submit button:focus{background:#245a91}
.jkp-logout-form{display:inline-flex;margin:0;padding:0}
.jkp-brand-logout{font-family:inherit;cursor:pointer}


/* =========================================================
   0.2.177 – App-weite Schriftgröße / mobile Lesbarkeit
   ========================================================= */
.jkp-ui-text-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:29px;padding:4px 7px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:rgba(255,255,255,.10);color:#fff;font:inherit;font-size:8px;font-weight:850;line-height:1;cursor:pointer;white-space:nowrap}
.jkp-ui-text-toggle:hover,.jkp-ui-text-toggle:focus{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.42);outline:none}
.jkp-ui-text-toggle>span{font-size:11px!important;font-weight:950!important;color:#fff!important;line-height:1}.jkp-ui-text-toggle>em{font-style:normal}
.jkp-wrap[data-jkp-ui-text="large"]{font-size:1.055em;-webkit-text-size-adjust:112%;text-size-adjust:112%}
.jkp-wrap[data-jkp-ui-text="xlarge"]{font-size:1.11em;-webkit-text-size-adjust:124%;text-size-adjust:124%}

/* Viele ClubRegie-Ansichten verwenden bewusst kompakte px-Werte. Die Lesbarkeitsmodi
   heben genau diese Kleinschrift an, ohne Überschriften und große Kennzahlen unnötig aufzublasen. */
.jkp-wrap[data-jkp-ui-text="large"] .jkp-brand-user>span,
.jkp-wrap[data-jkp-ui-text="large"] .jkp-brand-user>small,
.jkp-wrap[data-jkp-ui-text="large"] .jkp-formhint,
.jkp-wrap[data-jkp-ui-text="large"] .jkp-card label>span,
.jkp-wrap[data-jkp-ui-text="large"] .jkp-formgrid label>span,
.jkp-wrap[data-jkp-ui-text="large"] .jkp-teamcard small,
.jkp-wrap[data-jkp-ui-text="large"] .jkp-rosterrow small{font-size:10.5px!important;line-height:1.35!important}
.jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-brand-user>span,
.jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-brand-user>small,
.jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-formhint,
.jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-card label>span,
.jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-formgrid label>span,
.jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-teamcard small,
.jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-rosterrow small{font-size:12px!important;line-height:1.4!important}

@media(max-width:760px){
  .jkp-ui-text-toggle{display:inline-flex!important;padding:3px 6px;min-height:29px}.jkp-ui-text-toggle>em{display:none}.jkp-ui-text-toggle>span{font-size:10px!important}
  .jkp-wrap[data-jkp-ui-text="large"]{font-size:1.07em;-webkit-text-size-adjust:116%;text-size-adjust:116%}
  .jkp-wrap[data-jkp-ui-text="xlarge"]{font-size:1.14em;-webkit-text-size-adjust:130%;text-size-adjust:130%}

  .jkp-wrap[data-jkp-ui-text="large"] .jkp-heading p,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-card p,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-card small,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-dashboard-note,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-user-access-person span,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-user-access-sections label,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-access-table thead th,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-access-table tbody th small,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-mobile-meta-chip,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-mobile-card-summary .jkp-mini-position,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-mobile-card-summary .jkp-mini-foot,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-mobile-card-summary .jkp-mini-rating,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-mobile-card-summary .jkp-team-badge,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-mobile-card-summary .jkp-license-badge,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-mobile-card-summary .jkp-staff-badge{font-size:11px!important;line-height:1.35!important}

  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-heading p,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-card p,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-card small,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-dashboard-note,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-user-access-person span,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-user-access-sections label,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-access-table thead th,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-access-table tbody th small,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-mobile-meta-chip,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-mobile-card-summary .jkp-mini-position,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-mobile-card-summary .jkp-mini-foot,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-mobile-card-summary .jkp-mini-rating,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-mobile-card-summary .jkp-team-badge,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-mobile-card-summary .jkp-license-badge,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-mobile-card-summary .jkp-staff-badge{font-size:12.5px!important;line-height:1.4!important}

  /* Formulare und zentrale Bedienung bleiben bei größerer Schrift gut tippbar. */
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-btn-small,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-tabs a,
  .jkp-wrap[data-jkp-ui-text="large"] .jkp-nav-group-toggle{font-size:11px!important}
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-btn-small,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-tabs a,
  .jkp-wrap[data-jkp-ui-text="xlarge"] .jkp-nav-group-toggle{font-size:12px!important}
}
@media(max-width:420px){.jkp-ui-text-toggle{padding:3px 5px}.jkp-ui-text-toggle>span{font-size:9.5px!important}}


/* =========================================================
   0.2.180 – Monatskalender: einzeilige kompakte Terminkarten
   ========================================================= */
.jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline,
.jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline,
.jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline{
  display:flex!important;align-items:center!important;gap:3px!important;
  min-height:22px!important;height:22px!important;padding:2px 4px 2px 5px!important;
  overflow:hidden!important;white-space:nowrap!important
}
.jkp-cal-event.is-month-oneline .jkp-cal-time{
  display:inline!important;flex:0 0 auto!important;font-size:8px!important;font-weight:900!important;
  color:#61717d!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important
}
.jkp-cal-event.is-month-oneline .jkp-cal-team{
  display:inline!important;flex:0 1 auto!important;min-width:0!important;max-width:42px!important;
  padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
  font-size:8.5px!important;font-weight:950!important;color:var(--jkp-team-color,#246a9a)!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important
}
.jkp-cal-event.is-month-oneline .jkp-cal-shorttype{
  display:inline-flex!important;align-items:center!important;gap:1px!important;flex:0 0 auto!important;
  font-size:9px!important;line-height:1!important;font-weight:950!important;color:#263f52!important
}
.jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype{font-size:10px!important}
.jkp-cal-event.is-month-oneline .jkp-cal-month-label{
  min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  font-size:8px!important;font-weight:800!important;color:#445966!important
}
.jkp-cal-event.is-month-oneline .jkp-cal-month-result{
  flex:0 0 auto!important;font-size:7.5px!important;font-weight:950!important;color:#354b5d!important
}
.jkp-cal-event.is-month-oneline .jkp-cal-cause{display:none!important}
.jkp-cal-event.is-month-oneline:has(.jkp-cal-month-bus){padding-right:18px!important}
.jkp-cal-event.is-month-oneline .jkp-cal-month-bus{right:2px!important;width:13px!important;height:13px!important;min-width:13px!important;font-size:8px!important}
.jkp-cal-month.is-compact .jkp-cal-event.is-month-oneline .jkp-cal-team{display:inline!important}

/* Die bestehende Monats-Schriftwahl skaliert die Ein-Zeilen-Karten, ohne wieder zweizeilig zu werden. */
.jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
.jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-team{font-size:7.5px!important}
.jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline .jkp-cal-time{font-size:8px!important}
.jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline .jkp-cal-team{font-size:8.5px!important}
.jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline{min-height:25px!important;height:25px!important;padding-top:3px!important;padding-bottom:3px!important}
.jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
.jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-team{font-size:9.5px!important}
.jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype{font-size:10px!important}

@media(max-width:760px){
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline{
    display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important;
    min-height:21px!important;height:21px!important;gap:2px!important;padding:2px 3px 2px 4px!important
  }
  .jkp-cal-event.is-month-oneline .jkp-cal-time{font-size:7.2px!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-team{font-size:8.2px!important;max-width:34px!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-shorttype{font-size:8.5px!important}
  .jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype{font-size:9.5px!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-month-label{font-size:7.5px!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-month-result{font-size:7px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-event.is-month-oneline{height:23px!important;min-height:23px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-event.is-month-oneline .jkp-cal-team{font-size:8.8px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-event.is-month-oneline{height:25px!important;min-height:25px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-event.is-month-oneline .jkp-cal-team{font-size:9.5px!important}
}


/* =========================================================
   0.2.181 – Monatskalender mobil: 2-Zeilen-Minikarten
   ========================================================= */
@media(max-width:760px){
  /* Sieben Tages-Spalten sind für "16:00 D1 T" zu schmal. Auf Mobilgeräten
     deshalb bewusst zwei sehr kurze Zeilen: Zeit / Mannschaft + Art. */
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:2px!important;
    row-gap:0!important;
    min-height:30px!important;
    height:30px!important;
    padding:2px 4px 3px 5px!important;
    white-space:normal!important;
    overflow:hidden!important;
  }
  .jkp-cal-event.is-month-oneline .jkp-cal-time{
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:block!important;
    min-width:0!important;
    font-size:7px!important;
    line-height:1!important;
    font-weight:850!important;
    color:#667986!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-cal-event.is-month-oneline .jkp-cal-month-label{
    grid-column:1!important;
    grid-row:2!important;
    display:block!important;
    min-width:0!important;
    max-width:none!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:9px!important;
    line-height:1.05!important;
    font-weight:950!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .jkp-cal-event.is-month-oneline .jkp-cal-team{color:var(--jkp-team-color,#246a9a)!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-month-label{color:#344e61!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-shorttype{
    grid-column:2!important;
    grid-row:2!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:11px!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:950!important;
    color:#263f52!important;
    white-space:nowrap!important;
  }
  .jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype{font-size:10px!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-month-result{
    position:absolute!important;
    top:2px!important;
    right:3px!important;
    max-width:29px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:6.5px!important;
    line-height:1!important;
  }
  .jkp-cal-event.is-month-oneline:has(.jkp-cal-month-bus){padding-right:17px!important}
  .jkp-cal-event.is-month-oneline:has(.jkp-cal-month-bus) .jkp-cal-month-result{right:17px!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-month-bus{
    right:2px!important;
    top:auto!important;
    bottom:3px!important;
    width:12px!important;
    height:12px!important;
    min-width:12px!important;
    font-size:7px!important;
  }

  /* Die Monats-Schriftwahl verändert Lesbarkeit, nicht das Grundlayout. */
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline{height:28px!important;min-height:28px!important}
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-time{font-size:6.8px!important}
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label{font-size:8.5px!important}

  .jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline{height:31px!important;min-height:31px!important}
  .jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline .jkp-cal-time{font-size:7.2px!important}
  .jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label{font-size:9.2px!important}

  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline{height:34px!important;min-height:34px!important}
  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-time{font-size:7.8px!important}
  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label{font-size:10px!important}

  /* Das appweite Aa darf die Mannschaft vergrößern, ohne die Karte wieder einzeilig zu machen. */
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-event.is-month-oneline{height:33px!important;min-height:33px!important}
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-mobile-text="large"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label{font-size:9.8px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-event.is-month-oneline{height:36px!important;min-height:36px!important}
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-mobile-text="xlarge"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label{font-size:10.5px!important}
}


/* =========================================================
   0.2.182 – Monatskalender mobil: feste Mini-Informationszonen
   ========================================================= */
@media(max-width:760px){
  /* Nicht weiter Text in eine Zeile pressen: Zeit oben, Mannschaft unten.
     Terminart und Bus sitzen als kleine feste Symbole am rechten Rand. */
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline{
    position:relative!important;
    display:block!important;
    box-sizing:border-box!important;
    height:31px!important;min-height:31px!important;
    padding:3px 14px 3px 3px!important;
    border-left-width:3px!important;
    overflow:hidden!important;
    white-space:normal!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-time{
    position:static!important;display:block!important;
    width:100%!important;max-width:none!important;
    margin:0!important;padding:0!important;
    text-align:center!important;
    font-size:7px!important;line-height:11px!important;font-weight:850!important;
    color:#667986!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label{
    position:static!important;display:block!important;
    box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;
    height:13px!important;margin:0!important;padding:0!important;
    border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
    text-align:center!important;
    font-size:9.5px!important;line-height:13px!important;font-weight:950!important;
    color:var(--jkp-team-color,#246a9a)!important;
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-month-label{color:#344e61!important;font-size:8px!important}
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype{
    position:absolute!important;right:2px!important;bottom:3px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:11px!important;height:12px!important;min-width:11px!important;
    margin:0!important;padding:0!important;
    font-size:8px!important;line-height:1!important;font-weight:950!important;color:#263f52!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype{font-size:9px!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-month-result{display:none!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-month-bus{
    position:absolute!important;right:1px!important;top:2px!important;bottom:auto!important;
    width:11px!important;height:10px!important;min-width:11px!important;
    font-size:6px!important;line-height:10px!important;
  }
  .jkp-cal-event.is-month-oneline:has(.jkp-cal-month-bus){padding-right:14px!important}

  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline{height:29px!important;min-height:29px!important}
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-time{font-size:6.6px!important;line-height:10px!important}
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-team{font-size:9px!important;line-height:12px!important;height:12px!important}
  .jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline{height:32px!important;min-height:32px!important}
  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline{height:35px!important;min-height:35px!important}
  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-team{font-size:10px!important}
}
@media(max-width:430px){
  /* Alte globale Mobile-Regeln verstecken Zeit/Mannschaft; hier für den Monatskalender
     ausdrücklich wieder sichtbar halten. */
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-team{display:block!important}
}


/* =========================================================
   0.2.185 – Monatskalender mobil: Zeit + Mannschaft + Art sicher sichtbar
   ========================================================= */
@media(max-width:760px){
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 11px!important;
    grid-template-rows:10px 12px!important;
    align-items:center!important;
    column-gap:1px!important;
    row-gap:0!important;
    box-sizing:border-box!important;
    min-height:28px!important;
    height:28px!important;
    padding:2px 2px 3px 3px!important;
    border-left-width:3px!important;
    overflow:hidden!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-time,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-time{
    position:static!important;
    grid-column:1/-1!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    font-size:7px!important;
    line-height:10px!important;
    font-weight:900!important;
    color:#627482!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-team,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-team{
    position:static!important;
    grid-column:1!important;
    grid-row:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:12px!important;
    margin:0!important;
    padding:0 1px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-align:center!important;
    font-size:9px!important;
    line-height:12px!important;
    font-weight:950!important;
    color:color-mix(in srgb,var(--jkp-team-color,#246a9a) 76%,#20384a)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype{
    position:static!important;
    grid-column:2!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:11px!important;
    min-width:11px!important;
    height:12px!important;
    margin:0!important;
    padding:0!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:950!important;
    color:#263f52!important;
    overflow:visible!important;
  }
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype,
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype,
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype{font-size:9px!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-month-label{
    grid-column:1!important;grid-row:2!important;display:block!important;min-width:0!important;
    height:12px!important;padding:0 1px!important;text-align:center!important;font-size:7.5px!important;
    line-height:12px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important
  }
  .jkp-cal-event.is-month-oneline .jkp-cal-month-result{display:none!important}
  .jkp-cal-event.is-month-oneline .jkp-cal-month-bus{
    position:absolute!important;right:1px!important;top:1px!important;bottom:auto!important;
    width:10px!important;height:9px!important;min-width:10px!important;font-size:6px!important;line-height:9px!important
  }
  .jkp-cal-event.is-month-oneline:has(.jkp-cal-month-bus){padding-right:12px!important}

  /* Die Monats-Schriftwahl hat im Monatsraster Vorrang vor der allgemeinen Aa-Größe. */
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline{height:26px!important;min-height:26px!important;grid-template-rows:9px 11px!important}
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-time{font-size:6.6px!important;line-height:9px!important}
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-team{height:11px!important;font-size:8.4px!important;line-height:11px!important}
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype{height:11px!important;font-size:7.7px!important}
  .jkp-calendar-card[data-cal-font-size="small"] .jkp-cal-event.is-month-oneline.is-match .jkp-cal-shorttype{font-size:8.6px!important}

  .jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline{height:29px!important;min-height:29px!important;grid-template-rows:10px 13px!important}
  .jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline .jkp-cal-time{font-size:7.2px!important;line-height:10px!important}
  .jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline .jkp-cal-team{height:13px!important;font-size:9.2px!important;line-height:13px!important}
  .jkp-calendar-card[data-cal-font-size="normal"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype{height:13px!important}

  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline{height:32px!important;min-height:32px!important;grid-template-rows:11px 14px!important}
  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-time{font-size:7.8px!important;line-height:11px!important}
  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-team{height:14px!important;font-size:10px!important;line-height:14px!important}
  .jkp-calendar-card[data-cal-font-size="large"] .jkp-cal-event.is-month-oneline .jkp-cal-shorttype{height:14px!important;font-size:8.8px!important}
}


/* =========================================================
   0.2.191 – Ergebnis in der kompakten Monatsansicht
   ========================================================= */
@media(max-width:760px){
  .jkp-calendar-card[data-cal-view="month"] .jkp-cal-event.is-month-oneline:has(.jkp-cal-month-result),
  .jkp-calendar-card[data-cal-view="2months"] .jkp-cal-event.is-month-oneline:has(.jkp-cal-month-result),
  .jkp-calendar-card[data-cal-view="3months"] .jkp-cal-event.is-month-oneline:has(.jkp-cal-month-result){
    grid-template-columns:minmax(0,1fr) 24px!important;
  }
  .jkp-cal-event.is-month-oneline:has(.jkp-cal-month-result) .jkp-cal-shorttype{
    display:none!important;
  }
  .jkp-cal-event.is-month-oneline .jkp-cal-month-result{
    position:static!important;
    grid-column:2!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:24px!important;
    min-width:24px!important;
    height:12px!important;
    margin:0!important;
    padding:0 2px!important;
    box-sizing:border-box!important;
    border-radius:4px!important;
    background:rgba(255,255,255,.74)!important;
    color:#20384a!important;
    font-size:7.5px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:-.2px!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .jkp-cal-event.is-month-oneline:has(.jkp-cal-month-result):has(.jkp-cal-month-bus){padding-right:12px!important}
}

/* 0.2.186 – Benutzerrollen-Stammdaten */
.jkp-role-master-head{margin-top:18px}
.jkp-role-master-list{display:grid;gap:10px;margin:10px 0 8px}
.jkp-role-master-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(180px,1fr) minmax(260px,1.6fr);gap:12px;align-items:end;padding:14px;border:1px solid rgba(31,59,91,.12);border-radius:14px;background:rgba(255,255,255,.72)}
.jkp-role-master-row label{display:grid;gap:5px;margin:0}.jkp-role-master-row label>span{font-size:12px;font-weight:800;color:#607083}.jkp-role-master-row input{width:100%}
.jkp-role-master-title{display:grid;gap:3px;align-self:center}.jkp-role-master-title b{font-size:15px}.jkp-role-master-title small{color:#6f7d8d}.jkp-role-master-title code{font-size:10px;background:#eef3f7;padding:2px 5px;border-radius:5px}
.jkp-role-master-actions{display:flex;justify-content:flex-end;margin:0 0 20px}
@media(max-width:760px){.jkp-role-master-row{grid-template-columns:1fr;gap:9px;padding:12px}.jkp-role-master-title{padding-bottom:3px}.jkp-role-master-actions{justify-content:stretch}.jkp-role-master-actions .jkp-btn{width:100%}}


/* 0.2.187 – sicherer Rückweg, wenn der ClubRegie-Kopf mobil ausgeblendet wurde.
   Der Button wird per JS direkt an body gehängt und bleibt unabhängig vom Theme-
   Layout als feste Lasche am rechten Bildschirmrand erreichbar. Die body-Regel
   ist zugleich der CSS-Fallback, solange der Button noch im Portal steht. */
.jkp-mobile-pluginhead-restore[hidden]{display:none!important}
body.jkp-mobile-hide-plugin-header .jkp-mobile-pluginhead-restore:not([hidden]),
.jkp-mobile-pluginhead-restore.is-visible:not([hidden]){
  display:inline-flex!important;
  position:fixed!important;
  z-index:2147483646!important;
  top:clamp(108px,22vh,210px)!important;
  right:max(0px,env(safe-area-inset-right))!important;
  left:auto!important;
  transform:none!important;
  margin:0!important;
  min-width:0!important;
  min-height:42px!important;
  max-width:118px!important;
  padding:8px 10px!important;
  border-radius:13px 0 0 13px!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-right:0!important;
  background:rgba(8,25,48,.96)!important;
  color:#fff!important;
  box-shadow:-4px 5px 18px rgba(0,0,0,.28)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1.05!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.jkp-mobile-hide-plugin-header .jkp-mobile-pluginhead-restore:not([hidden])>span,
.jkp-mobile-pluginhead-restore.is-visible:not([hidden])>span{font-size:15px!important;line-height:1!important}
body.jkp-mobile-hide-plugin-header .jkp-mobile-pluginhead-restore:not([hidden])>em,
.jkp-mobile-pluginhead-restore.is-visible:not([hidden])>em{display:inline!important;font-style:normal!important;white-space:nowrap!important}
@media(max-width:430px){
  body.jkp-mobile-hide-plugin-header .jkp-mobile-pluginhead-restore:not([hidden]),
  .jkp-mobile-pluginhead-restore.is-visible:not([hidden]){top:clamp(96px,18vh,170px)!important;min-height:40px!important;max-width:104px!important;padding:7px 8px!important;font-size:9px!important}
}


/* 0.2.202 – Direktnavigation zu Mannschaften in der Kaderansicht. */
.jkp-team-jump{display:flex;align-items:flex-end;gap:8px;margin:0 0 8px;padding:8px 9px;border:1px solid #d6e0eb;border-radius:10px;background:#fff}
.jkp-team-jump label{display:flex!important;flex:1 1 280px;min-width:0;flex-direction:column;gap:4px!important;margin:0!important;font-weight:800!important;color:#31465d}
.jkp-team-jump label>span{font-size:11px;line-height:1.2;color:#5d6e81}
.jkp-team-jump select{width:100%!important;min-height:38px!important;margin:0!important;padding:5px 34px 5px 10px!important;border:1px solid #bdcad8!important;border-radius:9px!important;background-color:#fff!important;font-size:13px!important;font-weight:750!important;color:#1f3853!important}
.jkp-team-jump-btn{min-height:38px;white-space:nowrap}
.jkp-squadcard[id^="jkp-team-"]{scroll-margin-top:calc(var(--jkp-sticky-base) + var(--jkp-tabs-height) + 132px)}
.jkp-squadcard.is-jump-target{outline:3px solid rgba(20,87,145,.2);outline-offset:3px}
@media(max-width:780px){
  .jkp-team-jump{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-bottom:6px;padding:6px}
  .jkp-team-jump label{min-width:0}
  .jkp-team-jump label>span{font-size:10px}
  .jkp-team-jump select{min-height:40px!important;font-size:14px!important}
  .jkp-team-jump-btn{min-height:40px;padding-left:10px!important;padding-right:10px!important}
  .jkp-squadcard[id^="jkp-team-"]{scroll-margin-top:calc(var(--jkp-sticky-base) + var(--jkp-tabs-height) + 164px)}
}


/* =========================================================
   0.2.203 – Wochenkalender: Ergebniszeile von Spielen lesbar
   ========================================================= */
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match:has(.jkp-cal-detail){
  padding-bottom:12px!important;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-detail{
  box-sizing:border-box!important;
  min-width:0!important;
  padding:3px 6px!important;
  margin-top:1px!important;
  border-radius:6px!important;
  background:rgba(255,255,255,.72)!important;
  color:#42586a!important;
  font-weight:750!important;
  line-height:1.3!important;
}
@media(max-width:760px){
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match:has(.jkp-cal-detail){
    min-height:74px!important;
    padding-bottom:13px!important;
  }
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-detail{
    display:block!important;
    width:100%!important;
    min-height:18px!important;
    padding:3px 6px 4px!important;
    font-size:9.5px!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* =========================================================
   0.2.204 – Wochenkalender: Ergebnis-Pill oben rechts
   ========================================================= */
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-range{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-result-top{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  align-self:center!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  min-width:54px!important;
  min-height:28px!important;
  margin:0!important;
  padding:4px 10px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  border-radius:999px!important;
  box-shadow:0 1px 3px rgba(31,50,66,.10)!important;
  font-size:13px!important;
  font-weight:950!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
  z-index:1;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-result-top.is-win{
  background:#dff3e5!important;
  color:#13633a!important;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-result-top.is-draw{
  background:#f2f3f5!important;
  color:#4d5a66!important;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-result-top.is-loss{
  background:#fde7e7!important;
  color:#9a2931!important;
}
@media(max-width:760px){
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-range{
    grid-column:1!important;
    max-width:calc(100vw - 150px)!important;
  }
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-result-top{
    min-width:62px!important;
    min-height:32px!important;
    padding:5px 12px!important;
    font-size:15px!important;
  }
}

/* =========================================================
   0.2.205 – Wochenkalender: Mannschaft und Partie kompakter
   Die Zeit-Pill darf nicht die Breite der Mannschaftsspalte bestimmen.
   ========================================================= */
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match{
  grid-template-columns:max-content minmax(0,1fr) max-content!important;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-range{
  grid-column:1/3!important;
  grid-row:1!important;
  justify-self:start!important;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-result-top{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end!important;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-team{
  grid-column:1!important;
  grid-row:2!important;
  align-self:center!important;
  margin-right:0!important;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-main{
  grid-column:2/4!important;
  grid-row:2!important;
  min-width:0!important;
  align-self:center!important;
}
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-detail{
  grid-column:1/-1!important;
  grid-row:3!important;
}
@media(max-width:760px){
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match{
    grid-template-columns:max-content minmax(0,1fr) max-content!important;
    column-gap:4px!important;
  }
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-range{
    grid-column:1/3!important;
    max-width:none!important;
  }
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-result-top{
    grid-column:3!important;
  }
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-team{
    grid-column:1!important;
    margin-right:0!important;
  }
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-main{
    grid-column:2/4!important;
    gap:3px!important;
  }
}


/* =========================================================
   0.2.206 – Wochenkalender: Mannschaftskürzel besser lesbar
   Nur Typografie; Layout aus 0.2.205 bleibt unverändert.
   ========================================================= */
.jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-team{
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:950!important;
}
@media(max-width:760px){
  .jkp-calendar-card[data-cal-view="week"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-team{
    font-size:11px!important;
  }
  .jkp-calendar-card[data-cal-view="week"][data-cal-mobile-text="large"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-team{
    font-size:11.5px!important;
  }
  .jkp-calendar-card[data-cal-view="week"][data-cal-mobile-text="xlarge"] .jkp-cal-weekday .jkp-cal-event.is-match .jkp-cal-team{
    font-size:12.5px!important;
  }
}

/* 0.2.207 – Scouting: Spieler / Trainer getrennt, gut bedienbar auf Mobilgeraeten. */
.jkp-scout-type-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:6px 0 14px;padding:5px;border:1px solid #d8e2ec;border-radius:14px;background:#edf3f8}
.jkp-scout-type-tab{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 12px;border:1px solid transparent;border-radius:10px;color:#294968!important;background:transparent;text-align:center;text-decoration:none!important;font-size:clamp(13px,1.15vw,15px);font-weight:800;line-height:1.25}
.jkp-scout-type-tab.is-active{background:#fff;color:#173a63!important;border-color:#c3d5e5;box-shadow:0 2px 8px rgba(28,58,87,.09)}
.jkp-scout-type-tab:focus-visible{outline:3px solid #3176b7;outline-offset:2px}
.jkp-scout-type-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:1px 6px;border-radius:999px;background:#dceaf5;color:#173a63;font-size:12px;font-weight:850}
.jkp-scout-type-tab.is-active .jkp-scout-type-count{background:#173a63;color:#fff}
.jkp-scout-existing.is-database .jkp-scout-overview-grid{grid-template-columns:minmax(0,1fr)}
.jkp-scout-existing.is-database .jkp-scout-sort-control{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}
.jkp-scout-sort-control>span{font-size:11px;line-height:1.2;font-weight:800;color:#49617a}
.jkp-scout-existing.is-database .jkp-scout-sort-control select{width:100%;min-width:0;min-height:40px;font-size:13px}
@media(max-width:520px){
 .jkp-scout-type-nav{gap:5px;padding:4px;margin:5px 0 10px}
 .jkp-scout-type-tab{padding:9px 5px;min-height:46px;font-size:13px;gap:5px}
 .jkp-scout-type-count{min-width:23px;height:23px;font-size:11px}
 .jkp-scout-existing.is-database .jkp-scout-sort-control{grid-column:1/-1}
}

/* 0.2.208 – Scouting-Art direkt im mobilen Schnelleintrag und bei Bestandsbearbeitung. */
.jkp-scout-kind-control{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0;margin:3px 0 12px!important;padding:12px 13px!important;background:#edf5fc;border:1px solid #b8d3e8;border-radius:12px;color:#173a63}
.jkp-scout-kind-control>span{font-size:14px!important;line-height:1.35;font-weight:850!important;color:#173a63!important}
.jkp-scout-kind-control>select{width:100%!important;min-height:48px!important;font-size:16px!important;font-weight:750!important;padding:9px 12px!important;border:1px solid #86b1d4!important;border-radius:10px!important;background:#fff!important;color:#173a63!important}
.jkp-scout-kind-control>small{display:block;font-size:11px;line-height:1.45;font-weight:550;color:#526b82}
.jkp-scout-quickform .jkp-scout-kind-fields{display:contents!important}
.jkp-scout-quickform .jkp-scout-kind-fields[hidden]{display:none!important}
.jkp-scout-fast-fields .jkp-scout-kind-fields>.jkp-scout-context{grid-column:1/-1!important}
@media(max-width:600px){
 .jkp-scout-kind-control{padding:11px!important}
 .jkp-scout-kind-control>span{font-size:14px!important}
 .jkp-scout-kind-control>small{font-size:11px}
}
