
:root{--black:#080808;--green:#157b35;--green2:#eef9f0;--line:#dedfe2;--bg:#f7f7f8;--text:#111;--muted:#6d7078;--red:#a72727;--orange:#9c6900}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}
body::before{content:"";position:fixed;right:-20px;top:95px;width:370px;height:520px;background:url("zebra.svg") center/contain no-repeat;opacity:.055;pointer-events:none;z-index:0}
button,input,select,textarea{font:inherit}button{cursor:pointer}#app{position:relative;z-index:1}
.top{background:#050505;color:#fff;position:sticky;top:0;z-index:30}.topin{max-width:1240px;margin:auto;height:82px;padding:0 18px;display:flex;align-items:center;gap:12px}
.logo{width:55px;height:55px;object-fit:contain;border-radius:50%;background:#fff}.brand{flex:1}.brand b{font-size:18px;display:block}.brand span{font-size:11px;color:#aaa}
.user{text-align:right}.user b{font-size:13px;display:block}.user span{font-size:11px;color:#aaa}.logout{border:1px solid #4b4b4b;background:#111;color:#fff;padding:9px 12px;border-radius:10px}
.page{max-width:1240px;margin:auto;padding:22px 18px 92px}.eyebrow{font-size:11px;letter-spacing:.08em;color:#686b72}.welcome h1{font-size:38px;margin:5px 0}.subtitle{color:var(--muted)}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.q{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;display:flex;align-items:center;gap:12px;text-align:left;min-height:78px}.qicon{width:38px;height:38px;border-radius:11px;background:var(--green2);color:var(--green);display:grid;place-items:center;font-weight:900;font-size:18px}.q b{display:block}.q span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.arrow{margin-left:auto;color:#888;font-size:22px}
.grid2{display:grid;grid-template-columns:1fr 1.05fr;gap:12px;margin-top:14px}.stack{display:grid;gap:12px}.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:15px;padding:15px}.head{display:flex;align-items:center;justify-content:space-between;gap:10px}.head h2{font-size:17px;margin:0}.secondary{border:1px solid #d0d1d4;background:#fff;border-radius:9px;padding:7px 10px;font-size:11px}.primary{border:0;background:#0b0b0b;color:#fff;border-radius:9px;padding:9px 12px;font-weight:800}
.event{margin-top:12px;border:1px solid #cce6d0;background:#f2faf3;border-radius:12px;padding:13px;display:flex;align-items:center;gap:12px;text-align:left;width:100%}.event .symbol{width:40px;height:40px;border-radius:50%;background:#e3f3e6;display:grid;place-items:center;font-size:20px}.event b{display:block;color:#147126}.event strong{display:block;margin-top:4px}.meta{font-size:11px;color:var(--muted);margin-top:4px}
.badge{font-size:9px;font-weight:900;border-radius:999px;padding:5px 8px;white-space:nowrap}.green{background:#e4f4e6;color:#237530}.red{background:#f8e1e1;color:#8e2424}.orange{background:#fff0cc;color:#966300}.grey{background:#eee;color:#555}
.games{display:grid;gap:8px;margin-top:11px}.game{border:1px solid #e2e3e5;background:#fff;border-radius:11px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left;width:100%}.gdate{width:100px;flex:0 0 auto}.gdate b,.gdate span{display:block}.gdate b{font-size:12px}.gdate span{font-size:11px}.ha{font-size:9px;font-weight:900;border-radius:7px;padding:5px 8px;min-width:64px;text-align:center}.home{background:#e5f5e7;color:#1b7229}.away{background:#fff0cc;color:#956100}.grow{flex:1}.game strong{font-size:13px;display:block}.game small{color:var(--muted)}
.status{display:flex;justify-content:space-between;border-top:1px solid #eee;padding:9px 0;font-size:12px}.empty{color:var(--muted);font-size:12px;padding:13px 0}
.bottom{position:fixed;z-index:40;bottom:0;left:50%;transform:translateX(-50%);width:min(900px,100%);background:#fff;border:1px solid #ddd;border-bottom:0;border-radius:17px 17px 0 0;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 10px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -3px 20px #00000010}.bottom button{border:0;background:none;padding:8px;font-size:11px}.bottom .plus{width:48px;height:48px;border-radius:50%;background:#000;color:#fff;font-size:25px;margin-top:-22px;justify-self:center}.active{color:#0b7b23;font-weight:900}
.section{display:flex;align-items:center;gap:10px;background:#050505;color:#fff;margin:-22px -18px 15px;padding:10px 18px}.section img{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:50%}.section .back{border:0;background:none;color:#fff;font-size:28px}.section .spacer{flex:1}.section strong{display:block}.section small{color:#aaa}
.list{display:grid;gap:8px}.row{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;display:flex;align-items:center;gap:10px}.row strong{font-size:13px}.sub{font-size:11px;color:var(--muted);margin-top:3px}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:10px}.day{padding:8px 4px;border-radius:9px;text-align:center;background:#f2f2f3}.day small,.day b{display:block}.day.today{background:#111;color:#fff}
.timeline{display:grid;gap:10px}.block{display:flex;gap:12px;border:1px solid #e4e4e6;background:#fff;border-radius:13px;padding:12px}.no{width:34px;height:34px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.bhead{display:flex;justify-content:space-between;gap:10px}.bgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.bgrid div{background:#f7f7f8;border-radius:9px;padding:9px}.bgrid b{font-size:11px}.bgrid p{font-size:12px;line-height:1.4;margin:4px 0}.block details{font-size:12px;color:var(--muted);margin-top:7px}
.prep{display:flex;align-items:center;gap:12px;text-align:left}.prepdate{width:85px;font-size:12px;font-weight:900}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.info{background:#f7f7f8;border-radius:9px;padding:10px}.info b,.info span{display:block}.info span{font-size:11px;color:var(--muted);margin-top:3px}
label{display:block;font-size:12px;font-weight:800;margin-top:9px}input,select,textarea{width:100%;border:1px solid #bbb;border-radius:9px;padding:10px;margin-top:4px;background:#fff}textarea{min-height:100px}
.login{min-height:100vh;display:grid;place-items:center;padding:20px}.logincard{width:min(430px,100%);background:#fff;border:1px solid #ddd;border-radius:18px;padding:22px}.loginbrand{text-align:center}.loginbrand img{width:75px;height:75px;object-fit:contain}.full{width:100%;margin-top:12px}
@media(max-width:760px){body::before{width:270px;height:390px;right:-80px;top:105px}.topin{height:66px;padding:0 13px}.logo{width:44px;height:44px}.user,.logout{display:none}.page{padding:16px 13px 92px}.welcome h1{font-size:28px}.quick{grid-template-columns:1fr}.q{min-height:68px}.grid2{grid-template-columns:1fr}.section{margin:-16px -13px 14px;padding:9px 13px}.bgrid,.two,.three{grid-template-columns:1fr}.gdate{width:84px}.week{gap:3px}.day{padding:7px 1px}}

/* V7 – informative Startseite + Hamburger-Navigation */
.hamburger{width:48px;height:48px;border:0;background:transparent;display:grid;align-content:center;gap:6px;padding:9px}
.hamburger span{display:block;height:3px;background:#fff;border-radius:2px;width:30px}
.dashboard-info-only{margin-top:20px}
.activity-list{display:grid;gap:0;margin-top:10px}.activity-row{display:flex;gap:10px;padding:10px 0;border-top:1px solid #eee}.activity-row:first-child{border-top:0}.activity-icon{width:32px;height:32px;border-radius:9px;background:#eef9f0;color:#157b35;display:grid;place-items:center;font-weight:900}.activity-row b,.activity-row span{display:block}.activity-row b{font-size:12px}.activity-row span{font-size:11px;color:var(--muted);margin-top:2px}
.menu-head{margin:3px 0 14px}.menu-head h1{margin:0;font-size:28px}.menu-head p{color:var(--muted);margin:6px 0}
.menu-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.menu-module{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;display:flex;align-items:center;gap:11px;text-align:left;min-height:78px}.menu-module-icon{width:40px;height:40px;border-radius:11px;background:#eef9f0;color:#157b35;display:grid;place-items:center;font-size:18px;font-weight:900}.menu-module strong,.menu-module span{display:block}.menu-module span{font-size:11px;color:var(--muted);margin-top:3px}
.account-card{margin-top:14px;display:flex;align-items:center;justify-content:space-between}.logout-inline{border:1px solid #bbb;background:#111;color:#fff;border-radius:9px;padding:9px 12px}
body::before{width:420px;height:600px;right:-35px;top:95px;opacity:.06;background-position:center top}
@media(max-width:760px){
 .menu-modules{grid-template-columns:1fr}
 .hamburger{width:44px;height:44px}.hamburger span{width:27px}
 body::before{width:300px;height:430px;right:-95px;top:110px;opacity:.05}
}

/* V9 – originales TSV-05-Ronsdorf-Logo als Wasserzeichen */
body::before{
  content:"" !important;
  position:fixed !important;
  z-index:0 !important;
  pointer-events:none !important;
  background-image:url("logo.png") !important;
  background-repeat:no-repeat !important;
  background-position:right center !important;
  background-size:contain !important;
  width:470px !important;
  height:470px !important;
  right:-45px !important;
  top:155px !important;
  opacity:.045 !important;
  filter:grayscale(1) !important;
}
@media(max-width:760px){
  body::before{
    width:300px !important;
    height:300px !important;
    right:-105px !important;
    top:130px !important;
    opacity:.04 !important;
  }
}

/* V10 – modernes Kachel-/Card-Design */
:root{
  --card-radius:18px;
  --card-shadow:0 8px 30px rgba(0,0,0,.055);
  --card-shadow-hover:0 12px 36px rgba(0,0,0,.09);
  --card-border:#ececee;
  --soft-green:#f2faf3;
  --soft-green-2:#e8f6ea;
}
.card,.q,.menu-module,.row,.game,.event,.logincard{
  border:1px solid var(--card-border) !important;
  border-radius:var(--card-radius) !important;
  box-shadow:var(--card-shadow) !important;
}
.card{
  background:rgba(255,255,255,.97) !important;
  padding:18px !important;
}
.q,.menu-module{
  background:#fff !important;
  min-height:84px !important;
  padding:16px 17px !important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}
.q:hover,.menu-module:hover{
  transform:translateY(-2px);
  box-shadow:var(--card-shadow-hover) !important;
  border-color:#dfe1e4 !important;
}
.qicon,.menu-module-icon,.activity-icon{
  border-radius:14px !important;
  background:linear-gradient(180deg,var(--soft-green),var(--soft-green-2)) !important;
  color:#128128 !important;
  border:1px solid #d9ecdd !important;
}
.q b,.menu-module strong{font-size:15px !important;letter-spacing:-.01em}
.q span,.menu-module span{font-size:11.5px !important;color:#73767d !important}
.head{margin-bottom:12px}
.head h2{font-size:18px !important;letter-spacing:-.015em}
.secondary{
  border:1px solid #e1e2e5 !important;
  background:#fafafa !important;
  border-radius:10px !important;
  padding:8px 11px !important;
}
.secondary:hover{background:#f2f2f3 !important}
.event{
  padding:15px !important;
  border:1px solid #d9ebdc !important;
  background:linear-gradient(135deg,#f7fcf8 0%,#eff9f1 100%) !important;
}
.event .symbol{
  width:44px !important;height:44px !important;border-radius:14px !important;
  background:#e7f5e9 !important;color:#13802a;
}
.event strong{font-size:15px}.event b{font-size:14px}
.games{gap:10px !important}
.game{
  min-height:70px;padding:11px 12px !important;
  transition:transform .14s ease, box-shadow .14s ease !important;
}
.game:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.07) !important}
.gdate{width:106px !important}.gdate b{font-size:12.5px !important}.gdate span{color:#6f7278}
.ha{border-radius:999px !important;padding:6px 10px !important}
.home{background:#e7f6e9 !important;color:#167629 !important}
.away{background:#fff1cf !important;color:#9a6500 !important}
.status{padding:11px 0 !important}.activity-row{padding:12px 0 !important}
.badge{border-radius:999px !important;padding:6px 10px !important;letter-spacing:.02em}
.bottom{border-radius:22px 22px 0 0 !important;box-shadow:0 -8px 30px rgba(0,0,0,.08) !important}
.bottom button{border-radius:12px}
.bottom .plus{width:52px !important;height:52px !important;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.welcome{margin-bottom:22px}.welcome h1{letter-spacing:-.03em}.subtitle{font-size:14px}
.dashboard-info-only{gap:16px !important}.stack{gap:16px !important}
.menu-head h1{letter-spacing:-.025em}
@media(max-width:760px){
  .card{padding:15px !important}
  .q,.menu-module{min-height:76px !important;padding:14px !important}
  .event{padding:13px !important}
  .game{padding:10px !important}
  .gdate{width:88px !important}
}

/* V11 – vollständig bearbeitbare Spielerakte */
.player-edit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 16px}
.player-edit-toolbar h1{margin:0;font-size:28px;letter-spacing:-.025em}
.player-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.player-edit-card{margin:0 !important}
.player-edit-card.full-width{grid-column:1/-1}
.player-edit-card h2{margin-top:0;font-size:18px}
.player-edit-card h3{font-size:13px;margin:16px 0 4px;color:#555}
.player-edit-card label{font-size:11px;color:#555}
.player-edit-card input,.player-edit-card select,.player-edit-card textarea{
  border:1px solid #e0e1e4 !important;background:#fafafa !important;border-radius:11px !important;
  padding:11px !important;transition:border-color .15s,background .15s,box-shadow .15s;
}
.player-edit-card input:focus,.player-edit-card select:focus,.player-edit-card textarea:focus{
  outline:none;border-color:#8dc798 !important;background:#fff !important;box-shadow:0 0 0 3px rgba(24,133,42,.08);
}
.player-edit-card textarea{min-height:105px}
.note-form{margin:12px 0;padding:13px;border-radius:12px;background:#f7f8f8;border:1px solid #e9eaeb}
.hidden{display:none !important}
.note-content{white-space:pre-wrap;line-height:1.45}
.danger-note{color:#8e2424 !important}
.sticky-save{position:sticky;bottom:84px;display:flex;justify-content:flex-end;pointer-events:none;margin-top:16px}
.sticky-save button{pointer-events:auto;box-shadow:0 7px 24px rgba(0,0,0,.18)}
@media(max-width:760px){
  .player-edit-toolbar{align-items:flex-start}.player-edit-toolbar h1{font-size:23px}
  .player-edit-toolbar .primary{font-size:11px;padding:9px}
  .player-edit-grid{grid-template-columns:1fr}
  .player-edit-card.full-width{grid-column:auto}
  .sticky-save{bottom:82px}.sticky-save button{width:100%}
}

/* V12 – Zugänge und Taktiktafel */
.closed-signup{margin-top:14px;padding:11px;border-radius:11px;background:#f4f5f5;color:#666;font-size:11px;text-align:center}
.credential{margin-top:12px;padding:12px;border:1px solid #d8eadb;background:#f3faf4;border-radius:12px;font-size:12px;line-height:1.6}.credential.error{border-color:#efd0d0;background:#fff5f5;color:#8d2424}.credential code{font-size:13px;font-weight:800}
.tactic-toolbar{display:grid;grid-template-columns:1.4fr 1fr auto auto;gap:8px;margin-bottom:12px}.tactic-toolbar input,.tactic-toolbar select{margin:0}
.pitch{position:relative;width:min(620px,100%);aspect-ratio:68/105;margin:0 auto 16px;background:linear-gradient(90deg,#287c3c,#2f8845);border:3px solid #fff;outline:1px solid #d8d8d8;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px #0002;touch-action:none}
.pitch:before,.pitch:after{content:"";position:absolute;left:25%;width:50%;height:15%;border:2px solid #ffffffcc}.pitch:before{top:0}.pitch:after{bottom:0}.halfline{position:absolute;left:0;right:0;top:50%;border-top:2px solid #ffffffcc}.circle{position:absolute;width:22%;aspect-ratio:1;border:2px solid #ffffffcc;border-radius:50%;left:39%;top:50%;transform:translateY(-50%)}.avatar{position:absolute;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#fff;border:3px solid #111;display:grid;place-items:center;box-shadow:0 5px 15px #0005;cursor:grab;user-select:none;text-align:center}.avatar b{font-size:16px;line-height:14px}.avatar span{position:absolute;top:60px;left:50%;transform:translateX(-50%);background:#111;color:#fff;padding:3px 6px;border-radius:6px;font-size:9px;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.tactic-toolbar{grid-template-columns:1fr 1fr}.pitch{width:100%}.avatar{width:48px;height:48px}.avatar span{top:50px}}

/* V12.6 – Spieler anlegen, archivieren, löschen */
.roster-toolbar{margin-bottom:12px}.roster-actions{display:flex;gap:9px;margin-top:12px;justify-content:flex-end}
.player-top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.danger-button{border:1px solid #e4bcbc;background:#fff4f4;color:#9a2424;border-radius:9px;padding:9px 12px;font-weight:800}
.danger-button:hover{background:#feeaea}
@media(max-width:760px){
 .roster-actions{display:grid;grid-template-columns:1fr 1fr}.roster-actions button{width:100%}
 .player-top-actions{width:100%}.player-top-actions button{flex:1}
}

/* V12.9 – Spielerauswahl Taktik & Passwortverwaltung */
.tactic-toolbar{grid-template-columns:1.15fr .9fr 1.35fr auto auto !important}
.tactic-hint{max-width:620px;margin:0 auto 10px;color:#666;font-size:11px;text-align:center}
.avatar-remove{position:absolute;right:-7px;top:-7px;width:22px;height:22px;border:0;border-radius:50%;background:#a12424;color:#fff;font-weight:900;line-height:1;padding:0;display:grid;place-items:center}
.password-gate,.password-card{max-width:520px;margin:40px auto}.password-gate{text-align:center}.password-gate img{width:72px;height:72px;object-fit:contain}.password-gate p{color:#666}.password-gate label,.password-card label{text-align:left}
@media(max-width:760px){.tactic-toolbar{grid-template-columns:1fr !important}.tactic-toolbar>*{width:100%}.password-gate,.password-card{margin:10px auto}}

/* V12.12 – vollständige Super-Admin Benutzerverwaltung */
.admin-users-head{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 10px}
.admin-users-head h2{margin:0}
.admin-user-grid{display:grid;grid-template-columns:1fr;gap:12px}
.admin-user-card{padding:15px !important}
.admin-user-summary{display:flex;align-items:center;gap:12px}
.admin-user-avatar{width:46px;height:46px;border-radius:14px;background:#eef7ef;color:#197c2c;border:1px solid #d7eadb;display:grid;place-items:center;font-weight:900}
.admin-user-meta{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.badge.amber{background:#fff0c9;color:#8c6200}
.admin-user-edit{border-top:1px solid #ececec;margin-top:14px;padding-top:14px}
.admin-switch{display:flex !important;align-items:center;gap:8px;margin:11px 0}.admin-switch input{width:auto !important;margin:0}
.admin-user-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
@media(max-width:760px){
 .admin-user-summary{align-items:flex-start;flex-wrap:wrap}.admin-user-summary>.secondary{width:100%}
 .admin-user-actions{display:grid;grid-template-columns:1fr}.admin-user-actions button{width:100%}
}

/* V12.13 – Passwort-Recovery */
#recoveryStatus{margin-top:12px}

/* V12.14 – eigenständiges Spielerportal */
.player-page{max-width:980px;padding-bottom:80px}
.player-welcome{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:22px 0 14px}
.player-welcome h1{margin:4px 0 4px;font-size:32px}.player-welcome p{margin:0;color:#707070}
.player-tabs{display:flex;gap:8px;margin-bottom:18px;position:sticky;top:76px;z-index:5;background:#f7f7f7;padding:7px 0}
.player-tabs button{border:1px solid #ddd;background:#fff;border-radius:999px;padding:9px 14px;font-weight:800}
.player-tabs button.active{background:#111;color:#fff;border-color:#111}.player-tabs button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;border-radius:999px;background:#d92323;color:#fff;font-size:11px}
.player-section{margin:18px 0 26px}.player-section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:10px}
.player-section-head h2{margin:0;font-size:21px}.player-section-head p{margin:3px 0 0;color:#777;font-size:12px}
.player-events{display:grid;gap:12px}.player-event-card{background:#fff;border:1px solid #ddd;border-radius:18px;overflow:hidden;box-shadow:0 4px 18px #00000008}
.player-event-card.training{border-left:5px solid #2b8d3d}.player-event-card.game{border-left:5px solid #111}
.player-training-only{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;font-size:18px}
.player-training-only .player-date{font-weight:800}.player-training-only strong{font-size:22px}
.player-game-details{padding:18px 20px}.player-game-opponent{display:flex;align-items:center;gap:10px;font-size:19px;margin-bottom:12px}
.player-game-side{font-size:10px;border-radius:999px;padding:6px 9px;font-weight:900;letter-spacing:.05em}.player-game-side.home{background:#e4f5e7;color:#18782b}.player-game-side.away{background:#fff0c8;color:#8b6000}
.player-game-meta{display:flex;gap:8px 18px;flex-wrap:wrap;color:#555;font-size:13px}
.player-rsvp{border-top:1px solid #eee;padding:14px 20px 18px;background:#fafafa}
.player-rsvp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.player-rsvp-status{font-size:11px;font-weight:900;border-radius:999px;padding:5px 9px}.player-rsvp-status.open{background:#fff0c8;color:#8b6000}.player-rsvp-status.accepted{background:#dff3e3;color:#16762a}.player-rsvp-status.maybe{background:#edf0f3;color:#50565d}.player-rsvp-status.declined{background:#f8dede;color:#9d2525}
.player-rsvp-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.player-rsvp-buttons button{border:1px solid #d6d6d6;background:#fff;border-radius:12px;padding:11px 8px;font-weight:900}.player-rsvp-buttons button.selected.accepted{background:#157b35;color:#fff;border-color:#157b35}.player-rsvp-buttons button.selected.maybe{background:#666;color:#fff;border-color:#666}.player-rsvp-buttons button.selected.declined{background:#a42a2a;color:#fff;border-color:#a42a2a}
.player-rsvp-reason{margin-top:10px}.player-rsvp-reason input{margin-top:5px;background:#fff}
.player-open-count,.player-done{font-weight:900;border-radius:999px;padding:7px 10px;font-size:11px}.player-open-count{background:#fff0c8;color:#8b6000}.player-done{background:#e4f5e7;color:#18782b}
.player-open-list{display:grid;gap:7px}.player-open-list button{display:grid;grid-template-columns:1fr 1.5fr auto;gap:10px;align-items:center;text-align:left;background:#fff;border:1px solid #ddd;border-radius:12px;padding:12px 14px}.player-open-list button span{font-size:12px;color:#666}.player-open-list button b{font-size:12px}
@media(max-width:700px){
 .player-page{padding-left:14px;padding-right:14px}.player-welcome{align-items:flex-start}.player-welcome h1{font-size:27px}.player-welcome .secondary{font-size:11px}
 .player-tabs{top:68px;overflow:auto}.player-tabs button{white-space:nowrap}
 .player-training-only{padding:16px;display:grid;gap:4px}.player-training-only strong{font-size:20px}
 .player-game-details,.player-rsvp{padding-left:15px;padding-right:15px}
 .player-rsvp-buttons{grid-template-columns:1fr}.player-open-list button{grid-template-columns:1fr}.player-open-list button b{color:#111}
}

/* V12.16 – kompakte Spieleroberfläche mit Navigation */
.player-page{max-width:980px;padding-bottom:110px}
.compact-welcome{margin-bottom:14px}
.compact-section{margin:14px 0 20px}
.player-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.player-mini-card{background:#fff;border:1px solid #ddd;border-radius:16px;overflow:hidden;box-shadow:0 3px 14px #00000008}
.player-mini-card.training{border-top:4px solid #2c8d3c}.player-mini-card.game{border-top:4px solid #111}
.player-mini-main{display:flex;gap:12px;padding:14px}
.player-mini-date{min-width:82px;font-weight:900;font-size:15px}.player-mini-date span{display:block;color:#666;font-size:12px;margin-top:3px}
.player-mini-info{min-width:0}.player-mini-info strong{font-size:15px;display:block}.player-mini-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:7px;color:#666;font-size:11px}
.player-rsvp.compact{padding:10px 12px 12px;background:#fafafa;border-top:1px solid #eee}
.player-rsvp-buttons.compact{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.player-rsvp-buttons.compact button{padding:9px 5px;border-radius:10px;font-size:11px;font-weight:900;border:1px solid #d7d7d7;background:#fff}
.player-rsvp-buttons.compact button.selected.accepted{background:#157b35!important;color:#fff!important;border-color:#157b35!important}
.player-rsvp-buttons.compact button.selected.maybe{background:#e5b72f!important;color:#332500!important;border-color:#e5b72f!important}
.player-rsvp-buttons.compact button.selected.declined{background:#b42c2c!important;color:#fff!important;border-color:#b42c2c!important}
.player-rsvp-status.accepted{background:#def2e3;color:#18752a}.player-rsvp-status.maybe{background:#fff0b8;color:#735800}.player-rsvp-status.declined{background:#f5dddd;color:#982525}.player-rsvp-status.open{background:#eee;color:#555}
.compact-open{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.compact-open button{grid-template-columns:1fr!important}
.player-bottom-nav{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:min(760px,calc(100% - 24px));z-index:30;background:#fff;border:1px solid #ddd;border-radius:18px;box-shadow:0 10px 35px #0002;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.player-bottom-nav button{position:relative;border:0;background:#fff;padding:10px 8px 9px;font-size:11px;display:grid;place-items:center;gap:3px}
.player-bottom-nav button span{font-size:17px}.player-bottom-nav button.active{font-weight:900;color:#17822d;background:#f1f8f2}
.player-bottom-nav button b{position:absolute;top:5px;right:22%;background:#c62828;color:#fff;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;font-size:9px}
@media(max-width:820px){.player-mini-grid{grid-template-columns:1fr}.compact-open{grid-template-columns:1fr}}

/* V12.17 – finaler Spielerbereich */
.player-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.player-dashboard-card{background:#fff;border:1px solid #ddd;border-radius:16px;overflow:hidden;box-shadow:0 3px 14px #00000008}
.player-dashboard-card.training{border-top:4px solid #157b35}.player-dashboard-card.game{border-top:4px solid #111}
.player-dashboard-top{display:flex;gap:12px;padding:14px}
.player-date-block{min-width:82px}.player-date-block strong{display:block;font-size:15px}.player-date-block span{display:block;margin-top:3px;color:#666;font-size:12px}
.player-dashboard-info{min-width:0}.player-dashboard-info>strong{display:block;font-size:15px;line-height:1.2}
.player-dashboard-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:7px;color:#666;font-size:11px}
.player-open-jump{width:100%;border:1px solid #ddd;background:#fff;border-radius:14px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;font-weight:900;text-align:left}
.player-response-list{display:grid;gap:10px}
.player-response-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(420px,1.4fr);align-items:center;background:#fff;border:1px solid #ddd;border-radius:16px;overflow:hidden;box-shadow:0 3px 14px #00000008}
.player-response-row.training{border-left:5px solid #157b35}.player-response-row.game{border-left:5px solid #111}
.player-response-info{display:flex;gap:14px;align-items:center;padding:14px 16px}
.player-response-date{min-width:90px}.player-response-date strong{display:block}.player-response-date span{display:block;color:#666;font-size:12px;margin-top:2px}
.player-response-title{min-width:0}.player-response-title>strong{display:block;font-size:16px}
.player-response-row .player-rsvp{border-top:0;border-left:1px solid #eee;background:#fafafa;padding:12px 14px}
.player-response-row .player-rsvp-buttons{grid-template-columns:repeat(3,1fr)}
.player-rsvp-buttons button.selected.accepted{background:#157b35!important;color:#fff!important;border-color:#157b35!important}
.player-rsvp-buttons button.selected.maybe{background:#e3b625!important;color:#2f2500!important;border-color:#e3b625!important}
.player-rsvp-buttons button.selected.declined{background:#bd2d2d!important;color:#fff!important;border-color:#bd2d2d!important}
.player-rsvp-status.accepted{background:#def2e3!important;color:#18752a!important}
.player-rsvp-status.maybe{background:#fff0b8!important;color:#735800!important}
.player-rsvp-status.declined{background:#f5dddd!important;color:#982525!important}
.player-rsvp-status.open{background:#eee!important;color:#555!important}

/* keine Gegnerlogos */
.player-opponent-logo,.opponent-logo{display:none!important}

@media(max-width:900px){
 .player-dashboard-grid{grid-template-columns:1fr}
 .player-response-row{grid-template-columns:1fr}
 .player-response-row .player-rsvp{border-left:0;border-top:1px solid #eee}
}

/* =========================================================
   V12.266 – FOOTER + RESPONSIVE SCHNELLNAVIGATION
   Web-Sidebar ab 761px, Bottom-Navigation nur bis 760px.
   ========================================================= */
html[data-resolved-appearance="light"] body,
html[data-resolved-appearance="light"] body #app{background:#f7f9f8!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer{
 background:#f7f9f8!important;color:#7a827d!important;border-top:1px solid #e3e7e5!important;box-shadow:none!important
}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer::before,
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer::after{background:#f7f9f8!important;box-shadow:none!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer button{background:transparent!important;color:#7a827d!important;-webkit-text-fill-color:#7a827d!important}

@media(min-width:761px){
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .page,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .page{max-width:1500px!important;margin:0 auto!important;padding:30px 34px 90px 292px!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock{position:fixed!important;z-index:25!important;left:0!important;right:auto!important;top:76px!important;bottom:0!important;width:258px!important;max-width:258px!important;height:auto!important;min-height:0!important;transform:none!important;margin:0!important;border:0!important;border-right:1px solid #e3e7e5!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;padding:24px 14px!important;display:flex!important;grid-template-columns:none!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:8px!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock{background:#0e151b!important;border-right-color:#26323b!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button{width:100%!important;max-width:none!important;min-height:48px!important;height:auto!important;display:flex!important;flex:none!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;margin:0!important;border:0!important;border-radius:11px!important;padding:11px 14px!important;background:transparent!important;color:#343b37!important;font-size:14px!important;line-height:1.2!important;transform:none!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button{color:#c4ccd2!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button.active{background:#e5f4e8!important;color:#147b35!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button.active{background:#102b19!important;color:#31d158!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-icon,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-icon{display:grid!important;place-items:center!important;width:22px!important;min-width:22px!important;height:22px!important;margin:0!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-label,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-label{display:inline!important;width:auto!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;font-size:14px!important;line-height:1.2!important;opacity:1!important;margin:0!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-brand,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-brand{display:none!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{box-sizing:border-box!important;width:calc(100% - 258px)!important;max-width:none!important;margin:24px 0 0 258px!important;padding:20px 24px 26px!important}
}

/* =========================================================
   V12.270 – TEAM-DASHBOARD FÜR SUPER-ADMIN
   Saubere, rollenstabile Karten in Hell und Dunkel.
   ========================================================= */
body.superadmin-user .dashboard-next-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important;margin-top:20px!important}
body.superadmin-user .dashboard-next-card{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:250px!important;height:100%!important;padding:0!important;overflow:hidden!important;border:1px solid #e1e6e3!important;border-top:4px solid #202722!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 24px rgba(19,35,25,.07)!important}
body.superadmin-user .dashboard-next-card.dashboard-training{border-top-color:#16863b!important}
body.superadmin-user .dashboard-next-head{display:flex!important;align-items:center!important;gap:13px!important;min-height:78px!important;padding:17px 18px 14px!important;background:#fff!important;border:0!important}
body.superadmin-user .dashboard-next-icon{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:13px!important;background:#f0f3f1!important;color:#202722!important;font-size:21px!important}
body.superadmin-user .dashboard-training .dashboard-next-icon{background:#e8f6eb!important;color:#16863b!important}
body.superadmin-user .dashboard-next-head>div{display:block!important;min-width:0!important;overflow:hidden!important}
body.superadmin-user .dashboard-next-head>div>span{display:block!important;margin:0!important;color:#68716c!important;font-size:10px!important;font-weight:850!important;letter-spacing:.08em!important;line-height:1.2!important}
body.superadmin-user .dashboard-next-head h2{display:block!important;margin:4px 0 0!important;color:#141816!important;-webkit-text-fill-color:#141816!important;font-size:20px!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere!important}
body.superadmin-user .dashboard-next-date{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:4px 10px!important;align-items:center!important;width:100%!important;min-height:68px!important;margin:0!important;padding:13px 18px!important;border:0!important;border-top:1px solid #e7ebe8!important;border-radius:0!important;background:#f7f9f8!important;color:#141816!important;text-align:left!important}
body.superadmin-user .dashboard-next-date strong{grid-column:1!important;grid-row:1!important;color:#141816!important;-webkit-text-fill-color:#141816!important;font-size:13px!important;line-height:1.25!important}
body.superadmin-user .dashboard-next-date span{grid-column:1!important;grid-row:2!important;color:#68716c!important;-webkit-text-fill-color:#68716c!important;font-size:11px!important;line-height:1.3!important}
body.superadmin-user .dashboard-next-date b{grid-column:2!important;grid-row:1 / span 2!important;align-self:center!important;color:#89938d!important;-webkit-text-fill-color:#89938d!important;font-size:22px!important}
body.superadmin-user .dashboard-response-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;margin:auto 0 0!important;padding:0!important;border:0!important;border-top:1px solid #e7ebe8!important;border-radius:0!important;background:#fff!important;overflow:hidden!important}
body.superadmin-user .dashboard-response-summary>div{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:66px!important;padding:10px 6px!important;border:0!important;border-left:1px solid #e7ebe8!important;background:#fff!important}
body.superadmin-user .dashboard-response-summary>div:first-child{border-left:0!important}
body.superadmin-user .dashboard-response-summary span{display:block!important;color:#748079!important;-webkit-text-fill-color:#748079!important;font-size:9px!important;line-height:1.15!important;white-space:nowrap!important}
body.superadmin-user .dashboard-response-summary strong{display:block!important;margin-top:4px!important;font-size:20px!important;line-height:1!important}
body.superadmin-user .dashboard-no-response{margin-top:auto!important;padding:14px 18px!important;border-top:1px solid #e7ebe8!important;background:#f7f9f8!important;color:#68716c!important}
html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-next-card,html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-next-head,html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-response-summary,html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-response-summary>div{background:#121a21!important;border-color:#26323b!important}
html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-next-card{box-shadow:none!important}
html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-next-head h2,html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-next-date strong{color:#f5f7f8!important;-webkit-text-fill-color:#f5f7f8!important}
html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-next-date,html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-no-response{background:#0e151b!important;border-color:#26323b!important;color:#a3adb5!important}
html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-next-date span,html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-next-head>div>span,html[data-resolved-appearance="dark"] body.superadmin-user .dashboard-response-summary span{color:#a3adb5!important;-webkit-text-fill-color:#a3adb5!important}
@media(max-width:760px){body.superadmin-user .dashboard-next-grid{grid-template-columns:1fr!important;gap:12px!important;margin-top:16px!important}body.superadmin-user .dashboard-next-card{min-height:0!important;border-radius:16px!important}body.superadmin-user .dashboard-next-head{min-height:70px!important;padding:14px!important}body.superadmin-user .dashboard-next-date{padding:12px 14px!important}body.superadmin-user .dashboard-response-summary>div{min-height:60px!important;padding:9px 4px!important}}

/* V12.269 – KARALIO-Homebutton wieder mittig in der Web-Schnellwahl */
@media(min-width:761px){
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;inset:auto!important;width:100%!important;min-width:0!important;max-width:none!important;height:60px!important;min-height:60px!important;margin:0!important;padding:6px!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;justify-self:stretch!important;border:0!important;border-radius:14px!important;background:transparent!important;box-shadow:none!important;transform:none!important;pointer-events:auto!important;cursor:pointer!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand:hover,
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand:focus-visible{background:#e8f6eb!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand:hover,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand:focus-visible{background:#102b19!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand img,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand img{display:block!important;visibility:visible!important;opacity:1!important;width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;object-fit:contain!important;margin:0!important;filter:none!important}
}
@media(max-width:760px){
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .page,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .page{padding:20px 16px 96px!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{width:100%!important;max-width:none!important;margin:18px 0 118px!important;padding:18px 14px 0!important}
}

/* =========================================================
   KARALIO V12.264 – MODERN GRÜN + OPTIONALER DARKMODE
   Helles Layout ist Standard, Dark entspricht Farbwelt 4.
   Linear Outline gilt für Navigation und Modulkacheln.
   ========================================================= */
.qicon svg,.menu-module-icon svg,.activity-icon svg,.player-menu-icon svg,.scope-icon svg,.player-bottom-icon svg,.performance-test-icon svg{
 width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.setting-select-row select{width:auto;min-width:132px;margin:0}

/* Alte Dark-only Einzelregeln dürfen das helle Standardlayout nicht überstimmen. */
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(
 .menu-module,.account-menu-section,.pending-user,.super-style-pending,.trainer-assignment-card,.access-empty-card,
 .team-role-row,.team-role-btn,.team-choice,.performance-player-picker label,.entry-date,.attempt-grid>div,
 .attempt-grid>label,.best-preview,.material-line,.compare-row,.compare-row.header,.test-svg
){background:#fff!important;color:#141816!important;border-color:#e1e6e3!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(.menu-module,.account-menu-section,.pending-user,.trainer-assignment-card,.team-role-row) :is(strong,b,label){color:#141816!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(.menu-module,.account-menu-section,.pending-user,.trainer-assignment-card,.team-role-row) :is(span,small,.sub){color:#68716c!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(.team-role-btn,.team-choice){background:#f7f9f8!important;color:#343b37!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .team-role-btn.active{background:#16863b!important;color:#fff!important;border-color:#16863b!important}

/* Farbwelt 4: fast schwarze Flächen, helle Typografie, klares Karalio-Grün. */
html[data-resolved-appearance="dark"]{
 --bg:#0b1117;--card:#121a21;--line:#26323b;--text:#f5f7f8;--muted:#a3adb5;--green:#31d158;--green2:#102b19;--nav-surface:#0e151b
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode)::before{display:none!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-top{background:rgba(10,16,21,.97)!important;color:#f5f7f8!important;border-bottom:1px solid #26323b!important;box-shadow:none!important;backdrop-filter:blur(12px)}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .topin{max-width:none!important;height:76px!important;padding:0 28px!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-logo{content:url('assets/karalio-logo-white-green-uhd.png');width:150px!important;max-height:42px!important;object-fit:contain!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .page{max-width:1500px!important;margin:0 auto!important;padding:30px 34px 90px 292px!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .card,.q,.row,.game,.event,.menu-module,.account-menu-section,.pending-user,.super-style-pending,
 .trainer-assignment-card,.access-empty-card,.team-role-row,.team-choice,.performance-hero,.performance-test-card,
 .performance-standard-note,.performance-setup,.performance-instructions,.performance-session-form,.performance-entry,
 .performance-player-picker label,.analytics-kpis>div,.performance-kpis>div,.entry-date,.attempt-grid>div,
 .attempt-grid>label,.material-line,.compare-row,.compare-row.header,.test-svg
){background:#121a21!important;color:#f5f7f8!important;border-color:#26323b!important;box-shadow:none!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(.qicon,.menu-module-icon,.activity-icon,.player-menu-icon,.scope-icon,.performance-test-icon){background:#102b19!important;color:#31d158!important;border:0!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(.primary,.team-role-btn.active){background:#168f3c!important;color:#fff!important;border-color:#168f3c!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .secondary{background:#182129!important;color:#f1f4f6!important;border-color:#33414c!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(input,select,textarea,.team-role-btn){background:#0d141a!important;color:#f5f7f8!important;border-color:#34424d!important;color-scheme:dark!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .section{background:transparent!important;border-bottom:1px solid #26323b!important;margin:0 0 20px!important;padding:0 0 16px!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{margin-left:258px!important;background:transparent!important;border-top:1px solid #26323b!important;color:#8f9aa3!important}

@media(min-width:901px){
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock{position:fixed!important;z-index:25!important;left:0!important;top:76px!important;bottom:0!important;width:258px!important;height:auto!important;transform:none!important;border:0!important;border-right:1px solid #26323b!important;border-radius:0!important;background:#0e151b!important;box-shadow:none!important;padding:24px 14px!important;display:flex!important;flex-direction:column!important;gap:8px!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock button{width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;border:0!important;border-radius:11px!important;padding:11px 14px!important;background:transparent!important;color:#c4ccd2!important;font-size:14px!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock button.active{background:#102b19!important;color:#31d158!important;font-weight:800!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock .dock-label{display:inline!important;font-size:14px!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock .dock-brand{display:none!important}
}
@media(max-width:900px){
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .page{padding:20px 16px 96px!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .topin{height:68px!important;padding:0 16px!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-logo{width:124px!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock{background:#0e151b!important;border-color:#26323b!important;box-shadow:0 -6px 24px rgba(0,0,0,.3)!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock button{color:#aeb8c0!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock button.active{color:#31d158!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{margin-left:0!important}
 .setting-select-row{align-items:flex-start!important;gap:14px!important}.setting-select-row select{width:100%!important}
}
@media(max-width:560px){
 .player-rsvp-buttons,.player-response-row .player-rsvp-buttons{grid-template-columns:1fr}
 .player-response-info{align-items:flex-start}
}

/* V12.18 – robuste Termin-Kacheln für lange Vereinsnamen */
.player-dashboard-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch;
}
.player-dashboard-card{
  min-width:0 !important;
  display:flex;
  flex-direction:column;
}
.player-dashboard-content{
  padding:14px 14px 10px;
  min-width:0;
  flex:1;
}
.player-dashboard-date-line{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:9px;
}
.player-dashboard-date-line strong{
  font-size:15px;
  white-space:nowrap;
}
.player-dashboard-date-line span{
  font-size:12px;
  color:#666;
  white-space:nowrap;
}
.player-dashboard-title{
  min-width:0;
}
.player-dashboard-title strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  font-size:16px;
  line-height:1.18;
  min-height:2.36em;
}
.player-dashboard-card.training .player-dashboard-title strong{
  min-height:auto;
}
.player-dashboard-meta{
  margin-top:10px !important;
  min-width:0;
}
.player-location{
  min-width:0;
  overflow-wrap:anywhere;
}
.player-dashboard-card .player-rsvp.compact{
  margin-top:auto;
  width:100%;
  box-sizing:border-box;
}
.player-dashboard-card .player-rsvp-buttons.compact{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.player-dashboard-card .player-rsvp-buttons.compact button{
  min-width:0;
  white-space:normal;
  line-height:1.1;
  overflow-wrap:anywhere;
}

/* ältere horizontale Layout-Regeln innerhalb der Startkarten neutralisieren */
.player-dashboard-card .player-dashboard-top,
.player-dashboard-card .player-date-block,
.player-dashboard-card .player-dashboard-info{
  display:contents !important;
}

@media(max-width:980px){
  .player-dashboard-grid{grid-template-columns:1fr !important}
  .player-dashboard-title strong{-webkit-line-clamp:3}
}

/* V12.19 – symmetrische Spieler-Karten + Spielart */
.player-dashboard-card{
  height:100%;
}
.player-dashboard-content{
  display:flex;
  flex-direction:column;
}
.player-dashboard-title{
  min-height:48px;
}
.player-dashboard-card.training .player-dashboard-title{
  min-height:48px;
}
.player-dashboard-meta{
  min-height:30px;
  align-content:flex-start;
}
.player-event-kind{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  background:#ececec;
  color:#222;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  white-space:nowrap;
}
.player-event-kind.training-kind{
  background:#e5f4e8;
  color:#1b7d2d;
}
.player-game-side{
  min-height:24px;
  display:inline-flex;
  align-items:center;
  box-sizing:border-box;
}
.player-dashboard-card .player-rsvp.compact{
  min-height:94px;
}
@media(max-width:980px){
  .player-dashboard-title,
  .player-dashboard-card.training .player-dashboard-title{
    min-height:auto;
  }
}

/* V12.20 – Training und Spiel exakt gleiches Kartenlayout */
.player-dashboard-card.training,
.player-dashboard-card.game{
  border:1px solid #dddddd !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:#ffffff !important;
  box-shadow:0 3px 14px #00000008 !important;
}

/* Nur die obere Akzentlinie unterscheidet sich */
.player-dashboard-card.training{
  border-top:4px solid #157b35 !important;
}
.player-dashboard-card.game{
  border-top:4px solid #e4b72a !important;
}

/* Inhalt in beiden Kartentypen identisch */
.player-dashboard-card .player-dashboard-content{
  flex:1 1 auto !important;
  padding:14px 14px 10px !important;
  background:#ffffff !important;
  box-sizing:border-box !important;
}

/* Teilnahmebereich in beiden Kartentypen identisch */
.player-dashboard-card .player-rsvp.compact{
  margin-top:auto !important;
  min-height:94px !important;
  padding:12px 14px 14px !important;
  background:#f7f7f7 !important;
  border-top:1px solid #e6e6e6 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  box-sizing:border-box !important;
}

/* Gleiche Höhe und Ausrichtung aller drei Startkarten */
.player-dashboard-grid{
  align-items:stretch !important;
}
.player-dashboard-card{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}

/* Spielmetadaten dürfen die Kartenhöhe nicht verändern */
.player-dashboard-meta{
  min-height:30px !important;
  margin-top:10px !important;
}
.player-dashboard-title{
  min-height:48px !important;
}
.player-dashboard-card.training .player-dashboard-title{
  min-height:48px !important;
}

/* V12.21 – finale identische Termin-Karten gemäß freigegebenem Layout */
.player-dashboard-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}

.player-dashboard-card,
.player-dashboard-card.training,
.player-dashboard-card.game{
  position:relative !important;
  display:grid !important;
  grid-template-rows:minmax(190px,1fr) 134px !important;
  height:324px !important;
  min-height:324px !important;
  max-height:324px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #d9d9d9 !important;
  border-radius:17px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 3px 14px rgba(0,0,0,.035) !important;
  box-sizing:border-box !important;
}

.player-dashboard-card.training{
  border-top:4px solid #24923b !important;
}
.player-dashboard-card.game{
  border-top:4px solid #e9b817 !important;
}

.player-dashboard-card .player-dashboard-content{
  grid-row:1 !important;
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  padding:20px 24px 16px !important;
  margin:0 !important;
  background:#fff !important;
  border:0 !important;
  box-sizing:border-box !important;
}

.player-dashboard-date-line{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin:0 0 13px !important;
  padding:0 !important;
}
.player-dashboard-date-line strong{
  font-size:17px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}
.player-dashboard-date-line span{
  font-size:14px !important;
  line-height:1.15 !important;
  color:#555 !important;
  white-space:nowrap !important;
}

.player-dashboard-title,
.player-dashboard-card.training .player-dashboard-title{
  min-height:48px !important;
  height:48px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.player-dashboard-title strong{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  font-size:18px !important;
  line-height:1.22 !important;
  min-height:0 !important;
  overflow-wrap:anywhere !important;
}

.player-dashboard-meta{
  display:flex !important;
  align-items:center !important;
  align-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  min-height:56px !important;
  margin:16px 0 0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
.player-event-kind,
.player-game-side{
  min-height:25px !important;
  height:25px !important;
  padding:4px 10px !important;
  box-sizing:border-box !important;
}
.player-location{
  flex-basis:100% !important;
  display:block !important;
  min-width:0 !important;
  margin-top:2px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  color:#666 !important;
  overflow-wrap:anywhere !important;
}

/* Unterer Bereich ist für Training UND Spiel exakt derselbe Block */
.player-dashboard-card .player-rsvp.compact,
.player-dashboard-card.training .player-rsvp.compact,
.player-dashboard-card.game .player-rsvp.compact{
  grid-row:2 !important;
  align-self:stretch !important;
  width:100% !important;
  height:134px !important;
  min-height:134px !important;
  max-height:134px !important;
  margin:0 !important;
  padding:20px 24px 18px !important;
  border:0 !important;
  border-top:1px solid #dedede !important;
  border-radius:0 !important;
  background:#f6f6f6 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.player-dashboard-card .player-rsvp-head{
  height:30px !important;
  min-height:30px !important;
  margin:0 0 14px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}
.player-dashboard-card .player-rsvp-head strong{
  font-size:16px !important;
}
.player-dashboard-card .player-rsvp-status{
  flex:none !important;
}

.player-dashboard-card .player-rsvp-buttons.compact{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  height:43px !important;
  margin:0 !important;
  padding:0 !important;
}
.player-dashboard-card .player-rsvp-buttons.compact button{
  min-width:0 !important;
  height:43px !important;
  padding:0 8px !important;
  margin:0 !important;
  border-radius:10px !important;
  font-size:12px !important;
  line-height:1.05 !important;
  white-space:normal !important;
  box-sizing:border-box !important;
}

/* Auswahlfarben */
.player-dashboard-card .player-rsvp-buttons button.selected.accepted{
  background:#159735 !important;
  border-color:#159735 !important;
  color:#fff !important;
}
.player-dashboard-card .player-rsvp-buttons button.selected.maybe{
  background:#e6b91f !important;
  border-color:#e6b91f !important;
  color:#332600 !important;
}
.player-dashboard-card .player-rsvp-buttons button.selected.declined{
  background:#d52626 !important;
  border-color:#d52626 !important;
  color:#fff !important;
}

/* Event badges */
.player-dashboard-card .player-event-kind.training-kind{
  background:#e2f4e6 !important;
  color:#16802d !important;
}
.player-dashboard-card.game .player-event-kind{
  background:#ededed !important;
  color:#222 !important;
}
.player-dashboard-card .player-game-side.home{
  background:#e2f4e6 !important;
  color:#16802d !important;
}
.player-dashboard-card .player-game-side.away{
  background:#fff0c1 !important;
  color:#896000 !important;
}

/* Mobile: cards remain consistent but become single column */
@media(max-width:980px){
  .player-dashboard-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .player-dashboard-card,
  .player-dashboard-card.training,
  .player-dashboard-card.game{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    grid-template-rows:auto 134px !important;
  }
  .player-dashboard-title,
  .player-dashboard-card.training .player-dashboard-title{
    height:auto !important;
    min-height:48px !important;
  }
}

/* V12.22 – exakte Symmetrie der drei Start-Kacheln */
.player-dashboard-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}

/* Jede Karte bekommt exakt dieselbe Gesamthöhe und dieselbe Aufteilung */
.player-dashboard-card,
.player-dashboard-card.training,
.player-dashboard-card.game{
  display:grid !important;
  grid-template-rows:200px 126px !important;
  height:326px !important;
  min-height:326px !important;
  max-height:326px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #d9d9d9 !important;
  border-radius:17px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-sizing:border-box !important;
  box-shadow:0 3px 14px rgba(0,0,0,.035) !important;
}

.player-dashboard-card.training{
  border-top:4px solid #24923b !important;
}
.player-dashboard-card.game{
  border-top:4px solid #e8b619 !important;
}

/* Weißer oberer Kartenbereich: exakt gleich groß */
.player-dashboard-card .player-dashboard-content{
  grid-row:1 !important;
  height:200px !important;
  min-height:200px !important;
  max-height:200px !important;
  margin:0 !important;
  padding:20px 24px 16px !important;
  background:#fff !important;
  border:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

/* Datum + Uhrzeit immer auf identischer Höhe */
.player-dashboard-date-line{
  height:24px !important;
  min-height:24px !important;
  max-height:24px !important;
  margin:0 0 12px !important;
  padding:0 !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:18px !important;
  overflow:hidden !important;
}
.player-dashboard-date-line strong{
  font-size:17px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}
.player-dashboard-date-line span{
  font-size:14px !important;
  line-height:1.15 !important;
  color:#555 !important;
  white-space:nowrap !important;
}

/* Titelbereich für Training und Spiel exakt gleich hoch */
.player-dashboard-title,
.player-dashboard-card.training .player-dashboard-title,
.player-dashboard-card.game .player-dashboard-title{
  height:50px !important;
  min-height:50px !important;
  max-height:50px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.player-dashboard-title strong{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  margin:0 !important;
  font-size:18px !important;
  line-height:1.22 !important;
  overflow-wrap:anywhere !important;
}

/* Badge-/Info-Bereich beginnt bei jeder Karte exakt gleich */
.player-dashboard-meta{
  height:72px !important;
  min-height:72px !important;
  max-height:72px !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  display:flex !important;
  align-content:flex-start !important;
  align-items:flex-start !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.player-event-kind,
.player-game-side{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:25px !important;
  min-height:25px !important;
  max-height:25px !important;
  padding:4px 10px !important;
  box-sizing:border-box !important;
  margin:0 !important;
}
.player-location{
  flex:0 0 100% !important;
  display:block !important;
  height:22px !important;
  min-height:22px !important;
  max-height:22px !important;
  margin:1px 0 0 !important;
  padding:0 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:#666 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* Unterer grauer Bereich – auf allen Karten absolut identisch */
.player-dashboard-card .player-rsvp.compact,
.player-dashboard-card.training .player-rsvp.compact,
.player-dashboard-card.game .player-rsvp.compact{
  grid-row:2 !important;
  width:100% !important;
  height:126px !important;
  min-height:126px !important;
  max-height:126px !important;
  margin:0 !important;
  padding:18px 24px 16px !important;
  border:0 !important;
  border-top:1px solid #dedede !important;
  border-radius:0 !important;
  background:#f6f6f6 !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.player-dashboard-card .player-rsvp-head{
  height:30px !important;
  min-height:30px !important;
  max-height:30px !important;
  margin:0 0 14px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}

.player-dashboard-card .player-rsvp-buttons.compact{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  margin:0 !important;
  padding:0 !important;
}
.player-dashboard-card .player-rsvp-buttons.compact button{
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 8px !important;
  border-radius:10px !important;
  box-sizing:border-box !important;
  font-size:12px !important;
  line-height:1.05 !important;
}

/* Mobile bleibt einspaltig, aber die Kartenaufteilung bleibt gleich */
@media(max-width:980px){
  .player-dashboard-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .player-dashboard-card,
  .player-dashboard-card.training,
  .player-dashboard-card.game{
    grid-template-rows:200px 126px !important;
    height:326px !important;
    min-height:326px !important;
    max-height:326px !important;
  }
}

/* V12.23 – Standortzeile bei Training und Spiel identisch */
.player-dashboard-card.training .player-location,
.player-dashboard-card.game .player-location{
  flex:0 0 100% !important;
  display:block !important;
  height:22px !important;
  min-height:22px !important;
  max-height:22px !important;
  margin-top:1px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* V12.24 – Spiel-Kacheln in „Meine Rückmeldungen“ gelb markieren */
.player-response-row.training{
  border-left:5px solid #157b35 !important;
}
.player-response-row.game{
  border-left:5px solid #e8b619 !important;
}

/* V12.25 – Alters- und Datenschutzprüfung für Einladungsregistrierung */
.registration-page{max-width:620px;padding-top:34px;padding-bottom:70px}
.registration-card{background:#fff;border:1px solid #ddd;border-radius:20px;padding:26px;box-shadow:0 8px 30px #0000000c}
.registration-card h1{margin:5px 0 5px}.registration-intro{margin:0 0 22px;color:#666}
.registration-label{display:grid;gap:7px;font-weight:800}
.registration-label input{background:#fff}
.registration-age-notice{margin-top:14px;padding:14px 16px;border:1px solid #e3b72d;background:#fff7d9;border-radius:13px}
.registration-age-notice strong{display:block;margin-bottom:4px;color:#765900}
.registration-age-notice p{margin:0;color:#5f4c0c;font-size:13px;line-height:1.45}
.registration-privacy{margin-top:18px;padding:15px 16px;background:#f5f5f5;border-radius:13px}
.registration-privacy strong{display:block;margin-bottom:6px}.registration-privacy p{margin:0;font-size:13px;line-height:1.5;color:#555}
.registration-check{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:13px;line-height:1.4;cursor:pointer}
.registration-check input{width:18px;height:18px;flex:none;margin-top:1px}
.registration-submit{width:100%}.registration-submit:disabled{opacity:.45;cursor:not-allowed}
.public-registration-header{height:58px;display:flex;align-items:center;padding:0 18px;background:#fff;border-bottom:1px solid #e4e9ef;position:relative;z-index:2}
.public-registration-header a{display:inline-flex;align-items:center}.public-registration-header img{display:block;width:auto;height:25px}
.registration-inline-error{margin:10px 0 0}
.registration-error ul{margin:8px 0 0;padding-left:20px}.registration-error li+li{margin-top:5px}

/* V12.26 – zeitlich begrenzter Team-Einladungslink */
.invite-admin-card{border-top:4px solid #111}
.invite-link-box{display:grid;grid-template-columns:1fr auto;gap:8px;margin:13px 0 7px}
.invite-link-box input{margin:0;background:#f7f7f7;font-size:12px}
.invite-expiry{font-size:11px;color:#666;line-height:1.4}
.invite-actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
.invite-share-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.invite-share-actions .secondary{margin:0;white-space:nowrap}
@media(max-width:650px){.invite-link-box{grid-template-columns:1fr}.invite-actions{display:grid;grid-template-columns:1fr}.invite-actions button{width:100%}}
@media(max-width:650px){.invite-share-actions{display:grid;grid-template-columns:1fr 1fr}.invite-share-actions .secondary{width:100%}}

/* V12.27 – vollständige Pflichtfeld-Registrierung */
.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.registration-label{margin-bottom:14px}
.registration-privacy.accepted{border:1px solid #cfe7d4;background:#f1f9f3}
.registration-error{margin:12px 0;padding:12px 14px;border:1px solid #e6bcbc;background:#fff1f1;color:#8f2727;border-radius:12px;font-size:13px}
.registration-success{text-align:center}
.registration-success .success-icon{width:54px;height:54px;border-radius:999px;margin:0 auto 12px;display:grid;place-items:center;background:#dff3e4;color:#197c2e;font-size:28px;font-weight:900}
.registration-success .sub{color:#666;font-size:13px;line-height:1.5}
@media(max-width:620px){.registration-grid{grid-template-columns:1fr}}

/* V12.28 – getrennte Einladungswege + Freigabecenter */
.invite-types{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.invite-type-box{border:1px solid #e2e2e2;border-radius:14px;padding:14px;background:#fafafa}
.invite-type-box .head{align-items:flex-start}
.pending-registrations{border-top:4px solid #e3b626;margin-bottom:16px}
.pending-list{display:grid;gap:10px;margin-top:12px}
.pending-user{border:1px solid #e2e2e2;border-radius:14px;padding:14px;background:#fff}
.pending-user-main{display:flex;align-items:flex-start;gap:12px}
.pending-user>label{display:grid;gap:5px;margin:12px 0 0}
.pending-actions{display:flex;gap:8px;margin-top:12px}
@media(max-width:760px){.invite-types{grid-template-columns:1fr}.pending-actions{display:grid;grid-template-columns:1fr}.pending-actions button{width:100%}}

/* V12.29 – Spielerakte erst nach Super-Admin-Freigabe */
.pending-user [data-approve-registration][data-kind="player"]{
  white-space:normal;
  line-height:1.2;
  min-height:42px;
}
.pending-user .sub{
  line-height:1.35;
}

/* V12.30 – Spielerakten direkt aus der Benutzerverwaltung */
.user-playerfile-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.small-action{padding:7px 9px!important;font-size:11px!important}
@media(max-width:700px){
 .user-playerfile-actions{display:grid;grid-template-columns:1fr}
 .user-playerfile-actions button{width:100%}
}

/* V12.31 – Multi-Team */
.team-switch{max-width:245px;background:#222;color:#fff;border:1px solid #444;border-radius:10px;padding:8px 10px;font-weight:800}
.super-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.super-team-card{text-align:left;width:100%}
.team-create-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.super-teams-head{margin:18px 0 10px}
.team-player-invite-card{margin-bottom:16px;border-top:4px solid #157b35}
@media(max-width:780px){
 .team-switch{max-width:145px;font-size:11px}
 .super-team-grid{grid-template-columns:1fr}
 .team-create-row{grid-template-columns:1fr}
}

/* V12.32 – Super-Admin-Einladungslink für Trainer/Verantwortliche */
.staff-invite-card{margin-bottom:16px;border-top:4px solid #111}
.pending-staff-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.pending-staff-fields label{display:grid;gap:5px}
@media(max-width:700px){.pending-staff-fields{grid-template-columns:1fr}}

/* V12.33 – Plattform → Verein → Mannschaft */
:root{--club-watermark:url("logo.png")}
body::before{background-image:var(--club-watermark)!important}
.club-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.club-logo-editor{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center}
.club-logo-editor img{width:78px;height:78px;object-fit:contain;background:#fff;border:1px solid #ddd;border-radius:14px;padding:5px}
.team-access-checks{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.team-access-checks label{display:flex;align-items:center;gap:5px;background:#f5f5f5;border-radius:9px;padding:7px 9px;font-size:12px}
.club-welcome{position:relative}
@media(max-width:760px){.club-admin-grid{grid-template-columns:1fr}.club-logo-editor{grid-template-columns:72px 1fr}.club-logo-editor button{grid-column:1/-1}.team-access-checks{display:grid;grid-template-columns:1fr 1fr}}

/* V12.34 – neutrale Vereinsmarke + serverseitige Mandantentrennung */
:root{
  --club-watermark:none;
}
body::before{
  background-image:var(--club-watermark) !important;
}
.neutral-club-mark,
.neutral-section-mark,
.platform-login-mark{
  display:grid;
  place-items:center;
  flex:none;
  border-radius:12px;
  background:#eeeeee;
  border:1px solid #d8d8d8;
  color:#333;
  font-weight:900;
}
.neutral-club-mark{width:44px;height:44px;font-size:18px}
.neutral-section-mark{width:42px;height:42px;font-size:17px}
.platform-login-mark{width:70px;height:70px;margin:0 auto 10px;border-radius:18px;font-size:28px}
.club-logo-empty{
  width:78px;height:78px;
  display:grid;place-items:center;
  text-align:center;
  border:1px dashed #bbb;
  border-radius:14px;
  background:#fafafa;
  color:#777;
  font-size:11px;
  line-height:1.2;
}
.club-logo-actions{display:flex;gap:8px;flex-wrap:wrap}
.tenant-security-card{border-top:4px solid #157b35;margin-bottom:16px}
body.club-no-logo::before{background-image:none!important}
@media(max-width:760px){
  .club-logo-actions{grid-column:1/-1}
}

/* V12.35 – verpflichtende MFA + Sicherheitsstatus */
.mfa-card{max-width:460px}
.mfa-card h2{margin-bottom:8px}
.mfa-loading{padding:18px 0;color:#666}
.mfa-steps{display:grid;gap:11px}
.mfa-steps p{margin:0;line-height:1.4}
.mfa-qr{width:min(240px,80%);margin:2px auto;background:#fff;border:1px solid #ddd;border-radius:12px;padding:8px}
.mfa-secret{display:grid;gap:4px;padding:10px;background:#f5f5f5;border-radius:10px}
.mfa-secret span{font-size:11px;color:#666}
.mfa-secret code{font-size:12px;overflow-wrap:anywhere;user-select:all}
.security-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.security-status-grid>div{display:grid;gap:3px;background:#f6f6f6;border-radius:10px;padding:10px}
.security-status-grid b{font-size:12px}
.security-status-grid span{font-size:11px;color:#666;line-height:1.35}
@media(max-width:760px){.security-status-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.security-status-grid{grid-template-columns:1fr}}

/* V12.38 – Super-Admin TOTP, Vereinsverantwortliche E-Mail-Code */
.email-mfa-card{max-width:430px}
.email-mfa-card input{font-size:22px;letter-spacing:.25em;text-align:center;font-weight:800}
.email-mfa-card .mfa-loading{line-height:1.45}

/* V12.39 – Safari-stabile MFA-QR-Darstellung */
.mfa-qr-inline{
  width:min(240px,80%);
  margin:2px auto;
  background:#fff;
  border:1px solid #ddd;
  border-radius:12px;
  padding:8px;
  display:grid;
  place-items:center;
}
.mfa-qr-inline svg{
  width:100%!important;
  height:auto!important;
  display:block;
}

/* V12.40 – sauberer Übergang von AAL1 auf AAL2 */
.mfa-card .credential.error{line-height:1.4}

/* V12.41 – verhindert parallelen App-Start während MFA-Session-Upgrade */

/* V12.42 – Enter-Submit + zuverlässige Login/MFA Buttons */
button[disabled]{cursor:wait;opacity:.7}

/* V12.43 – aussagekräftige Edge-Function-Fehler */
.credential.error{overflow-wrap:anywhere}

/* V12.44 – KARALIO Brand System */
:root{
  --karalio-navy:#111111;
  --karalio-navy-2:#0d3f86;
  --karalio-green:#157b35;
  --karalio-green-dark:#157b35;
  --karalio-bg:#f6f8fb;
  --karalio-card:#ffffff;
  --karalio-border:#dfe5ed;
  --karalio-text:#132033;
  --karalio-muted:#697386;
}
body{
  background:var(--karalio-bg);
  color:var(--karalio-text);
}
body::before{
  opacity:.055 !important;
  filter:grayscale(1);
}
.karalio-top{
  background:#fff !important;
  color:var(--karalio-text) !important;
  border-bottom:1px solid var(--karalio-border);
  box-shadow:0 4px 22px rgba(8,47,109,.06);
}
.karalio-top .topin{
  min-height:76px;
}
.karalio-brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.karalio-logo{
  width:170px;
  max-width:23vw;
  height:auto;
  object-fit:contain;
}
.brand-context{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding-left:14px;
  border-left:1px solid var(--karalio-border);
}
.brand-context>span{
  font-size:12px;
  color:var(--karalio-muted);
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:280px;
}
.club-context-logo{
  width:34px;height:34px;
  border-radius:10px;
  border:1px solid var(--karalio-border);
  background:#fff;
  display:grid;place-items:center;
  overflow:hidden;
  flex:none;
}
.club-context-logo img{width:90%;height:90%;object-fit:contain}
.karalio-top .user b{color:var(--karalio-navy)}
.karalio-top .user span{color:var(--karalio-muted)}
.team-switch{
  background:#f3f6fa !important;
  color:var(--karalio-navy) !important;
  border:1px solid var(--karalio-border) !important;
}
.hamburger{background:var(--karalio-navy)!important;border-color:var(--karalio-navy)!important}
.hamburger span{background:#fff!important}
.logout{
  background:#fff!important;
  border-color:var(--karalio-border)!important;
  color:var(--karalio-navy)!important;
}
.primary{
  background:var(--karalio-navy)!important;
  border-color:var(--karalio-navy)!important;
  color:#fff!important;
}
.primary:hover{background:var(--karalio-navy-2)!important}
.secondary{
  background:#fff!important;
  color:var(--karalio-navy)!important;
  border-color:var(--karalio-border)!important;
}
.card{
  background:var(--karalio-card);
  border-color:var(--karalio-border)!important;
  box-shadow:0 10px 28px rgba(8,47,109,.055);
}
.welcome .eyebrow,
.eyebrow{
  color:var(--karalio-green-dark)!important;
  font-weight:900!important;
  letter-spacing:.09em;
}
.welcome h1,h1,h2{color:var(--karalio-navy)}
.subtitle,.sub{color:var(--karalio-muted)!important}
.badge.green{
  background:#e7f9ec!important;
  color:var(--karalio-green-dark)!important;
}
.tenant-security-card,
.team-player-invite-card{
  border-top-color:var(--karalio-green)!important;
}
.super-team-card:hover,
.admin-user-card:hover{
  border-color:#b9c8db!important;
  box-shadow:0 12px 30px rgba(8,47,109,.09);
}
.karalio-section{
  background:#fff;
  border:1px solid var(--karalio-border);
  border-radius:16px;
  padding:10px 14px;
  box-shadow:0 8px 24px rgba(8,47,109,.05);
  margin-bottom:16px;
}
.section-karalio{
  width:108px!important;
  height:auto!important;
  object-fit:contain!important;
}
.section-club-logo{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid var(--karalio-border);
  border-radius:10px;
  background:#fff;
}
.section-club-logo img{width:90%;height:90%;object-fit:contain}
.karalio-section .back{
  color:var(--karalio-navy)!important;
  border-color:var(--karalio-border)!important;
  background:#f6f8fb!important;
}
.karalio-loginbrand{
  text-align:center;
  margin-bottom:18px;
}
.karalio-loginbrand img{
  width:min(280px,78%);
  height:auto;
  margin:0 auto 12px;
}
.karalio-loginbrand h1{
  margin:4px 0 3px;
  color:var(--karalio-navy);
}
.karalio-loginbrand p{color:var(--karalio-muted)}
.login{
  background:
    radial-gradient(circle at 18% 20%, rgba(21,123,53,.08), transparent 26%),
    radial-gradient(circle at 82% 76%, rgba(8,47,109,.08), transparent 30%),
    var(--karalio-bg)!important;
}
.logincard{
  border:1px solid var(--karalio-border)!important;
  box-shadow:0 24px 70px rgba(8,47,109,.12)!important;
}
.mfa-brand-logo{
  width:min(220px,72%);
  height:auto;
  display:block;
  margin:0 auto 18px;
}
.mfa-card h2,.email-mfa-card h2{color:var(--karalio-navy)}
input:focus,select:focus,textarea:focus{
  outline:2px solid rgba(21,123,53,.25)!important;
  border-color:var(--karalio-green)!important;
}
.player-dashboard-card.training{border-top-color:var(--karalio-green)!important}
.player-dashboard-card.game{border-top-color:var(--karalio-navy)!important}
.player-rsvp-buttons button.selected.accepted{background:var(--karalio-green)!important}
.player-rsvp-buttons button.selected.maybe{background:#f4c83f!important}
.player-rsvp-buttons button.selected.declined{background:#d93434!important}
.player-event-kind.training-kind,
.player-game-side.home{
  background:#e8f9ec!important;
  color:var(--karalio-green-dark)!important;
}
.player-game-side.away,
.player-event-kind{
  background:#eaf0f9!important;
  color:var(--karalio-navy)!important;
}
@media(max-width:820px){
  .karalio-logo{width:135px;max-width:34vw}
  .brand-context{display:none}
}
@media(max-width:560px){
  .karalio-logo{width:116px;max-width:42vw}
  .karalio-top .user{display:none}
  .section-karalio{width:88px!important}
}

/* V12.45 – Super-Admin eindeutig in Grau */
body.superadmin-theme{--super-bg:#eceff2;--super-card:#fff;--super-border:#cfd4da;--super-text:#2f343a;--super-muted:#6d737a;background:var(--super-bg)!important;color:var(--super-text)!important}
body.superadmin-theme::before{opacity:0!important}
body.superadmin-theme .karalio-top{background:#34383d!important;color:#fff!important;border-bottom-color:#4b5056!important;box-shadow:0 4px 20px rgba(0,0,0,.12)!important}
body.superadmin-theme .karalio-top .karalio-logo{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
body.superadmin-theme .karalio-top .brand-context{border-left-color:#5b6066!important}
body.superadmin-theme .karalio-top .brand-context>span,body.superadmin-theme .karalio-top .user span{color:#c9cdd1!important}
body.superadmin-theme .karalio-top .user b{color:#fff!important}
body.superadmin-theme .team-switch{background:#4a4f55!important;color:#fff!important;border-color:#62676d!important}
body.superadmin-theme .hamburger{background:#565b61!important;border-color:#696e74!important}
body.superadmin-theme main,body.superadmin-theme .main{background:transparent!important}
body.superadmin-theme .welcome .eyebrow,body.superadmin-theme .eyebrow{color:#666c72!important}
body.superadmin-theme .welcome h1,body.superadmin-theme h1,body.superadmin-theme h2{color:#292d31!important}
body.superadmin-theme .subtitle,body.superadmin-theme .sub{color:var(--super-muted)!important}
body.superadmin-theme .card,body.superadmin-theme .super-team-card,body.superadmin-theme .admin-user-card,body.superadmin-theme .tenant-security-card{background:var(--super-card)!important;border-color:var(--super-border)!important;box-shadow:0 8px 22px rgba(36,40,44,.07)!important}
body.superadmin-theme .karalio-section{background:#e1e4e7!important;border-color:#c7ccd1!important;box-shadow:none!important}
body.superadmin-theme .karalio-section .back{background:#f4f5f6!important;border-color:#c5cbd0!important;color:#34383d!important}
body.superadmin-theme .section-club-logo{display:none!important}
body.superadmin-theme .primary{background:#3f4449!important;border-color:#3f4449!important;color:#fff!important}
body.superadmin-theme .primary:hover{background:#292d31!important}
body.superadmin-theme .secondary{background:#fff!important;border-color:#c7ccd1!important;color:#3c4146!important}
body.superadmin-theme input:focus,body.superadmin-theme select:focus,body.superadmin-theme textarea:focus{outline:2px solid rgba(76,82,88,.18)!important;border-color:#777d83!important}
body.superadmin-theme .badge.green{background:#e5e7e9!important;color:#3f4449!important}
body.superadmin-theme .tenant-security-card,body.superadmin-theme .team-player-invite-card{border-top-color:#777d83!important}
body.superadmin-theme .super-team-card:hover,body.superadmin-theme .admin-user-card:hover{border-color:#9da3a9!important;box-shadow:0 10px 26px rgba(36,40,44,.11)!important}

/* V12.47 – Vereinsverantwortlichen-Link direkt im Super-Admin-Dashboard */
.super-club-card{padding:0!important;overflow:hidden}
.club-open-area{display:block;width:100%;padding:18px;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}
.club-open-area:hover{background:rgba(255,255,255,.35)}
.super-club-invite-zone{border-top:1px solid var(--super-border,#d5d8dc);background:rgba(255,255,255,.45);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.super-club-invite-zone .primary{flex:none}
@media(max-width:700px){.super-club-invite-zone{align-items:stretch;flex-direction:column}.super-club-invite-zone .primary{width:100%}}

/* V12.49 – verständliche Registrierungsfehler */
.registration-error{line-height:1.45}
.registration-error strong{display:inline-block;margin-bottom:4px}

/* V12.51 – neue Karalio Login-/Startseite + öffentliche Rechtstexte */
.karalio-public-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:#f4f7fb}
.karalio-login-hero{position:relative;overflow:hidden;display:flex;align-items:center;background:radial-gradient(circle at 16% 18%,rgba(21,123,53,.18),transparent 24%),radial-gradient(circle at 86% 84%,rgba(21,123,53,.10),transparent 24%),linear-gradient(145deg,#062a61 0%,#0a3f86 58%,#111111 100%);color:#fff}
.karalio-login-hero::after{content:"";position:absolute;width:520px;height:520px;right:-210px;top:-140px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.karalio-login-hero-inner{position:relative;z-index:1;width:min(720px,82%);margin:0 auto;padding:64px 0}
.karalio-public-logo{width:210px;max-width:55%;background:#fff;border-radius:16px;padding:9px 14px;margin-bottom:46px}
.karalio-public-kicker{font-size:12px;font-weight:900;letter-spacing:.16em;color:#157b35;margin-bottom:12px}
.karalio-login-hero h1{margin:0;color:#fff;font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.04em;max-width:680px}
.karalio-login-hero h1 span{color:#157b35}
.karalio-login-hero>div>p{margin:26px 0 34px;max-width:620px;font-size:18px;line-height:1.6;color:rgba(255,255,255,.82)}
.karalio-hero-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.karalio-hero-points>div{padding:16px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:15px;backdrop-filter:blur(8px)}
.karalio-hero-points strong{display:block;font-size:13px;margin-bottom:6px}.karalio-hero-points span{display:block;font-size:12px;line-height:1.45;color:rgba(255,255,255,.68)}
.karalio-login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:#f7f9fc}
.karalio-login-card{width:min(430px,100%);background:#fff;border:1px solid #dde4ec;border-radius:24px;padding:34px;box-shadow:0 24px 70px rgba(8,47,109,.12)}
.karalio-login-card-brand{display:flex;align-items:center;gap:16px;margin-bottom:22px}.karalio-login-card-brand img{width:128px;height:auto}
.karalio-login-card-kicker{font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#157b35}
.karalio-login-card h2{margin:3px 0 0;font-size:30px;color:#111111}.karalio-login-copy{color:#657286;line-height:1.5;margin:0 0 22px}
.karalio-login-card label{display:block;font-size:13px;font-weight:800;color:#2f3d50;margin-bottom:15px}.karalio-login-card input{margin-top:7px;width:100%;min-height:48px;border-radius:12px;border:1px solid #d7dee8;background:#fbfcfe}
.karalio-login-submit{min-height:50px;margin-top:5px;font-size:15px;border-radius:12px!important}
.karalio-text-button{display:block;width:100%;border:0;background:transparent;color:#526173;padding:12px 4px 5px;font-size:12px;cursor:pointer}.karalio-text-button:hover{color:#111111}
.karalio-login-message{margin-top:14px;box-shadow:none!important;font-size:13px}.karalio-login-message.is-error{color:#8e2424}.karalio-login-message.is-success{color:#157b35}
.karalio-login-security{margin-top:22px;padding:13px 0;border-top:1px solid #e8edf3;border-bottom:1px solid #e8edf3;display:flex;align-items:center;gap:9px;color:#7a8491;font-size:11px;line-height:1.4}
.karalio-security-dot{width:8px;height:8px;background:#157b35;border-radius:50%;box-shadow:0 0 0 4px rgba(21,123,53,.12);flex:none}
.karalio-public-links{display:flex;justify-content:center;gap:18px;margin-top:16px}.karalio-public-links button{border:0;background:transparent;color:#607086;font-size:11px;cursor:pointer;padding:3px}.karalio-public-links button:hover{color:#111111;text-decoration:underline}
.karalio-legal-page{min-height:100vh;background:#f4f7fb}.karalio-legal-top{min-height:72px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dfe5ed}.karalio-legal-top img{width:150px;height:auto}
.karalio-legal-top button{border:1px solid #d4dbe5;background:#fff;color:#111111;border-radius:10px;padding:9px 13px;font-weight:800;cursor:pointer}
.karalio-legal-main{width:min(880px,90vw);margin:44px auto}.karalio-legal-card{background:#fff;border:1px solid #dfe5ed;border-radius:22px;padding:clamp(28px,5vw,54px);box-shadow:0 18px 55px rgba(8,47,109,.07)}
.karalio-legal-card h1{font-size:40px;margin:5px 0 30px;color:#111111}.karalio-legal-card section{padding:18px 0;border-top:1px solid #edf0f4}.karalio-legal-card section:first-of-type{border-top:0}.karalio-legal-card h2{font-size:18px;margin:0 0 8px}.karalio-legal-card p{margin:0;color:#566579;line-height:1.65}.karalio-legal-card a{color:#111111;font-weight:700}
@media(max-width:980px){.karalio-public-shell{grid-template-columns:1fr}.karalio-login-hero-inner{padding:44px 0}.karalio-public-logo{margin-bottom:28px}.karalio-login-hero h1{font-size:46px}.karalio-hero-points{grid-template-columns:1fr}.karalio-login-panel{padding:28px 18px 42px}}
@media(max-width:600px){.karalio-login-hero-inner{width:88%}.karalio-login-hero h1{font-size:38px}.karalio-login-hero>div>p{font-size:15px}.karalio-login-card{padding:24px;border-radius:18px}.karalio-login-card-brand{display:block}.karalio-login-card-brand img{margin-bottom:12px}.karalio-legal-top{padding:0 18px}.karalio-legal-main{margin:24px auto}.karalio-legal-card h1{font-size:32px}}

/* V12.52 – Passwort-Reset */
.karalio-reset-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px;
  background:
    radial-gradient(circle at 15% 20%,rgba(21,123,53,.10),transparent 25%),
    radial-gradient(circle at 85% 80%,rgba(8,47,109,.09),transparent 30%),
    #f4f7fb;
}
.karalio-reset-card{
  width:min(460px,100%);
  background:#fff;
  border:1px solid #dfe5ed;
  border-radius:24px;
  padding:34px;
  box-shadow:0 24px 70px rgba(8,47,109,.12);
}
.karalio-reset-logo{
  width:160px;
  height:auto;
  margin-bottom:24px;
}
.karalio-reset-card h1{
  margin:4px 0 12px;
  color:#111111;
  font-size:30px;
}
.karalio-reset-card>p{
  color:#657286;
  line-height:1.55;
  margin:0 0 22px;
}
.karalio-reset-card label{
  display:block;
  margin-bottom:15px;
  font-size:13px;
  font-weight:800;
  color:#2f3d50;
}
.karalio-reset-card input{
  width:100%;
  min-height:48px;
  margin-top:7px;
  border:1px solid #d7dee8;
  border-radius:12px;
  background:#fbfcfe;
}
.karalio-reset-card .primary{
  min-height:50px;
  border-radius:12px!important;
  margin-top:5px;
}
.credential.success{
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  background:#e9f8ed;
  color:#157b35;
  border:1px solid #c9ebd2;
}

/* V12.53 – Avatar, Profil, Einstellungen, Rechte & Lifecycle */
.account-avatar-wrap{position:relative;flex:none}
.account-avatar{width:42px;height:42px;border-radius:50%;border:1px solid #d7dee8;background:#eef3f9;color:#111111;font-weight:900;cursor:pointer;display:grid;place-items:center}
.superadmin-theme .account-avatar{background:#fff;color:#34383d;border-color:#696e74}
.account-popover{position:absolute;right:0;top:52px;width:240px;background:#fff;border:1px solid #dfe5ed;border-radius:16px;box-shadow:0 18px 50px rgba(8,47,109,.16);padding:8px;z-index:1000}
.account-popover-head{padding:10px 11px 12px;border-bottom:1px solid #edf0f4;margin-bottom:5px}.account-popover-head strong,.account-popover-head span{display:block}.account-popover-head span{font-size:11px;color:#758194;margin-top:3px}
.account-popover button{width:100%;border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:9px;cursor:pointer;color:#243449;font-weight:700}.account-popover button:hover{background:#f1f5f9}.account-popover .account-logout{color:#a52d2d}
.profile-page-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(340px,1.3fr);gap:16px}.profile-identity-card{grid-row:span 2;align-content:start}.profile-large-avatar{width:92px;height:92px;border-radius:50%;background:#eaf0f8;color:#111111;display:grid;place-items:center;font-size:30px;font-weight:900;margin-bottom:16px}.profile-context{margin-top:24px;padding-top:16px;border-top:1px solid #e5e9ef}.profile-context span,.profile-context strong{display:block}.profile-context span{font-size:11px;color:#778396;margin-bottom:5px}
.profile-security-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid #edf0f4}.profile-security-row:first-of-type{border-top:0}
.settings-card{margin-bottom:14px}.setting-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:18px}.setting-toggle div{flex:1}.setting-toggle strong,.setting-toggle span{display:block}.setting-toggle span{font-size:12px;color:#758194;margin-top:4px}.setting-toggle input{width:auto!important}
.compact-ui .card{padding-top:12px!important;padding-bottom:12px!important}.compact-ui .row{min-height:46px!important}
.club-lifecycle-actions,.team-lifecycle-actions,.staff-lifecycle-actions{display:flex;gap:8px;padding:10px 14px;border-top:1px solid #e4e8ed;background:#f8f9fb}
.team-lifecycle-card{padding:0!important;overflow:hidden}.team-open-button{width:100%;border:0;background:transparent;padding:16px;text-align:left;color:inherit;cursor:pointer}.team-open-button:disabled{cursor:default;opacity:.75}
.permission-team-card{border:1px solid #e1e6ec;border-radius:12px;margin-top:10px;overflow:hidden}.permission-team-card summary{cursor:pointer;padding:12px;display:flex;justify-content:space-between;align-items:center;font-weight:800;background:#f8fafc}.permission-team-card>label,.permission-team-card>.permission-grid,.permission-team-card>button{margin:10px 12px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-grid label,.team-assignment{font-size:12px;font-weight:700}.archived-card{opacity:.78;background:#f4f5f6!important}
@media(max-width:760px){.profile-page-grid{grid-template-columns:1fr}.profile-identity-card{grid-row:auto}.permission-grid{grid-template-columns:1fr}.account-popover{right:-8px}}

/* V12.55 – Vereinskonto */
.club-account-logo-preview{min-height:150px;display:grid;place-items:center;padding:20px;background:#f7f9fc;border:1px solid #e1e6ed;border-radius:16px;margin-bottom:18px}
.club-account-logo-preview img{max-width:220px;max-height:130px;object-fit:contain}
.club-account-logo-placeholder{min-height:150px;display:grid;place-items:center;background:#f3f5f8;border:1px dashed #cbd3dd;border-radius:16px;color:#7b8797;font-weight:800;margin-bottom:18px}
.club-logo-upload-account{margin-top:18px}.club-logo-upload-account input[type=file]{width:100%;padding:12px;border:1px dashed #cbd3dd;border-radius:12px;background:#fafbfd}
.club-logo-upload-account .club-logo-actions{display:flex;gap:10px;margin-top:14px}

/* V12.56 – Navigation nach Plattform / Verein / Mannschaft */
.context-bottom button{min-width:0}
.scope-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.club-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.scope-summary-card{border:1px solid #dfe5ed;display:flex;align-items:center;gap:16px;text-align:left;cursor:pointer;padding:20px!important}
.scope-summary-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(8,47,109,.09)!important}
.scope-summary-card .scope-icon{width:48px;height:48px;border-radius:14px;background:#eef3fa;color:#111111;display:grid;place-items:center;font-size:22px;flex:none}
.scope-summary-card strong,.scope-summary-card b,.scope-summary-card small{display:block}
.scope-summary-card strong{font-size:13px;color:#617085;margin-bottom:3px}
.scope-summary-card b{font-size:22px;color:#172337}
.scope-summary-card small{font-size:11px;color:#8792a1;margin-top:3px}
.scope-explainer{border-left:4px solid #157b35!important}
.calendar-scope-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.calendar-scope-head h1{margin:0}.calendar-scope-head p{margin:5px 0 0;color:#718096}
.scope-calendar-list{display:grid;gap:10px}
.scope-event-row{display:flex;align-items:center;gap:16px}
.scope-event-date{min-width:125px;padding-right:14px;border-right:1px solid #e4e8ee}
.scope-event-date b,.scope-event-date span{display:block}.scope-event-date span{font-size:11px;color:#7a8797;margin-top:4px}
.danger-button.small{padding:7px 9px;font-size:11px}
@media(max-width:800px){
 .scope-summary-grid,.club-scope-grid{grid-template-columns:1fr}
 .scope-event-row{align-items:flex-start;flex-wrap:wrap}
 .scope-event-date{min-width:100%;border-right:0;border-bottom:1px solid #edf0f4;padding-bottom:8px}
}

/* V12.57 – Mannschaftsspiele im Vereinskalender */
.calendar-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:14px}
.calendar-legend>div{display:flex;align-items:center;gap:7px}
.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.club-event-dot{background:#111111}
.team-game-dot{background:#e5b800}
.calendar-row-topline{display:flex;gap:7px;align-items:center;margin-bottom:6px}
.club-event-badge{background:#eaf0f9!important;color:#111111!important}
.game-badge{background:#fff5cc!important;color:#7a5a00!important;border:1px solid #ecd566}
.team-game-calendar-row{border-left:4px solid #e5b800!important;text-align:left;width:100%;cursor:pointer}
.club-calendar-row{border-left:4px solid #111111!important}
.team-game-calendar-row:hover{box-shadow:0 12px 28px rgba(8,47,109,.09)!important}

/* V12.58 – Spielerfreigabe + E-Mail-2FA */
.player-page{padding-bottom:95px}
.player-next-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.player-dashboard-card{overflow:hidden;padding:0!important;border-top:4px solid #157b35!important}
.player-dashboard-card.game{border-top-color:#e0b400!important}
.player-event-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px 10px;font-size:12px;color:#687589}
.player-event-kind{font-weight:900;font-size:10px;letter-spacing:.06em;padding:5px 8px;border-radius:999px;background:#e8f9ec;color:#157b35}
.player-event-kind.game-kind{background:#fff4c9;color:#765900}
.player-dashboard-card h2{padding:0 16px;margin:4px 0 14px;font-size:20px}
.player-game-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 16px}
.player-game-info div{background:#f5f7fa;border-radius:10px;padding:10px}.player-game-info span,.player-game-info strong{display:block}.player-game-info span{font-size:10px;color:#7b8797;margin-bottom:4px}
.player-training-location{padding:0 16px 16px;color:#657286;font-size:13px}
.player-rsvp-area{background:#f1f3f5;padding:12px 16px 16px;border-top:1px solid #e0e4e8}
.player-rsvp-title{font-size:11px;font-weight:900;margin-bottom:9px;color:#586474}
.player-rsvp-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.player-rsvp-buttons button{min-height:38px;border:1px solid #d1d7df;border-radius:9px;background:#fff;font-weight:800;cursor:pointer}
.player-rsvp-buttons button.selected.accepted{background:#157b35!important;color:#fff;border-color:#157b35!important}
.player-rsvp-buttons button.selected.maybe{background:#f0c52f!important;color:#342800;border-color:#f0c52f!important}
.player-rsvp-buttons button.selected.declined{background:#d83b3b!important;color:#fff;border-color:#d83b3b!important}
.player-bottom{grid-template-columns:repeat(2,1fr)!important}
@media(max-width:900px){.player-next-events{grid-template-columns:1fr}}

/* V12.59 – Spielerprofil Selbstverwaltung */
.player-profile-page{padding-bottom:100px}
.player-profile-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.player-profile-intro h1{margin:0 0 7px;color:#111111}
.player-profile-intro p{margin:0;color:#657286;max-width:720px;line-height:1.5}
.player-profile-sections{display:grid;gap:14px}
.player-profile-sections h2{margin-top:0}
.parent-data-card h3{font-size:13px;color:#667488;margin:18px 0 8px}
.guardian-management-card .head{align-items:flex-start}.guardian-list{display:grid;gap:9px;margin:14px 0}.guardian-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line,#e3e8e5);border-radius:12px}.guardian-row>div:first-child{display:grid;gap:3px}.guardian-row>div:first-child span{font-size:12px;color:var(--muted,#68736d)}.guardian-row>div:last-child{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.guardian-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line,#e3e8e5)}.guardian-form h3{margin:0 0 12px}.guardian-actions{display:flex;gap:8px;margin-top:12px}.guardian-registration-block{border-left:3px solid #31d158}@media(max-width:700px){.guardian-row{align-items:flex-start;flex-direction:column}.guardian-row>div:last-child{justify-content:flex-start}.guardian-actions>*{flex:1}}
.player-profile-actions{display:flex;gap:10px;justify-content:flex-end}
.player-profile-sections input,.player-profile-sections select{background:#fbfcfe}
@media(max-width:760px){
 .player-profile-intro{display:block}
 .player-profile-intro .badge{display:inline-block;margin-top:12px}
 .player-profile-actions{flex-direction:column}
}

/* V12.60 – Spieler strikt Informationsempfänger */
.player-readonly-note{display:flex;align-items:flex-start;gap:12px;margin:14px 0 18px;background:#f5f8fc!important;border-left:4px solid #111111!important}
.player-readonly-icon{width:30px;height:30px;border-radius:50%;background:#111111;color:#fff;display:grid;place-items:center;font-weight:900;flex:none}
.player-readonly-note strong,.player-readonly-note span{display:block}
.player-readonly-note strong{color:#172337;margin-bottom:4px}
.player-readonly-note span{color:#687589;font-size:12px;line-height:1.5}

/* V12.61 – Pflicht-Onboarding & Teilnahme */
.player-onboarding-page{padding-bottom:38px}
.player-onboarding-page .account-avatar-wrap{display:none}
.mandatory-onboarding{border-left:5px solid #e3ad00!important;background:#fffaf0!important}
.contact-persons-card .head{margin-bottom:4px}
.contact-person-block{padding:16px 0;border-top:1px solid #e7ebf0}
.contact-person-block:first-of-type{border-top:0}
.contact-person-block h3{margin:0 0 10px;font-size:14px;color:#334257}
.player-status-strip{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:10px;margin:15px 0}
.player-status-strip>div{background:#fff;border:1px solid #dfe5ec;border-radius:13px;padding:12px 15px}
.player-status-strip span,.player-status-strip strong{display:block}
.player-status-strip span{font-size:11px;color:#788596}
.player-status-strip strong{font-size:23px;margin-top:3px;color:#172337}
.player-status-strip .needs-action{border-color:#e7c253;background:#fffaeb}
.player-status-strip .needs-action strong{color:#8c6600}
.player-events-heading{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:22px 0 10px}
.player-events-heading h2{margin:0}.player-events-heading span{font-size:12px;color:#758194}
.player-rsvp-title{display:flex;justify-content:space-between;gap:8px;align-items:center}
.player-rsvp-state{font-size:10px;color:#237333;font-weight:800}
.player-rsvp-open{font-size:10px;color:#9b6800;font-weight:900}
.player-profile-sections label{position:relative}
.player-profile-sections input:required:invalid,.player-profile-sections select:required:invalid{border-color:#e0b4b4}
@media(max-width:650px){
 .player-status-strip{grid-template-columns:1fr 1fr}
 .player-events-heading{display:block}
 .player-events-heading span{display:block;margin-top:4px}
}

/* V12.62 – Vereins-Benutzerverwaltung zuverlässig erreichbar */
.club-users-entry{position:relative!important;z-index:3!important;pointer-events:auto!important;cursor:pointer!important}
.club-users-entry>*{pointer-events:none}
.scope-entry-arrow{margin-left:auto;font-size:28px;line-height:1;color:#7b8794}
.context-bottom button[data-open-club-users]{position:relative;z-index:45;pointer-events:auto!important;cursor:pointer!important}
.club-theme .scope-summary-grid,.club-theme .scope-summary-card,.club-theme .bottom{pointer-events:auto!important}
.club-approval-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;border-left:4px solid #e3ad00!important;background:#fffaf0!important;margin-bottom:14px}
.club-approval-banner strong,.club-approval-banner span{display:block}
.club-approval-banner span{font-size:12px;color:#6f7782;margin-top:4px}

/* V12.64 – E-Mail-Bestätigung vor Freigabe */
.registration-email-state{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:10px}
.registration-email-state .email-state-dot{width:9px;height:9px;border-radius:50%;flex:none}
.registration-email-state strong,.registration-email-state small{display:block}
.registration-email-state strong{font-size:11px}
.registration-email-state small{font-size:10px;margin-top:2px;color:#6e7885}
.registration-email-state.confirmed{background:#edf8ef;color:#176f2a}
.registration-email-state.confirmed .email-state-dot{background:#157b35}
.registration-email-state.waiting{background:#fff8e5;color:#815f00}
.registration-email-state.waiting .email-state-dot{background:#e3ad00}
.pending-actions .primary:disabled{opacity:.55;cursor:not-allowed;background:#8b929c!important}
.registration-confirmation-flow{max-width:640px!important}
.registration-flow-steps{display:grid;gap:10px;margin:24px 0}
.registration-flow-steps>div{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0e5eb;border-radius:13px;background:#fafbfd}
.registration-flow-steps>div>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8edf3;color:#596879;font-weight:900;flex:none}
.registration-flow-steps strong,.registration-flow-steps small{display:block}
.registration-flow-steps small{font-size:11px;color:#738092;margin-top:3px}
.registration-flow-steps .done{border-color:#c9ead0;background:#f1faf3}
.registration-flow-steps .done>span{background:#157b35;color:white}
.registration-flow-steps .current{border-color:#e8ca62;background:#fffbec}
.registration-flow-steps .current>span{background:#e3ad00;color:#fff}
.registration-confirm-note{margin:18px 0;padding:13px 15px;border-left:4px solid #e3ad00;background:#fff8e5;border-radius:10px}
.registration-confirm-note strong,.registration-confirm-note p{display:block}
.registration-confirm-note p{margin:4px 0 0;color:#665d43;font-size:12px}

/* V12.66 – Filterbare Super-Admin-Benutzerverwaltung */
.admin-users-filter-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:22px}
.admin-user-filterbar{
  display:grid;
  grid-template-columns:minmax(220px,1.6fr) repeat(6,minmax(135px,1fr));
  gap:10px;
  padding:14px!important;
  position:sticky;
  top:82px;
  z-index:8;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(10px);
}
.admin-user-filterbar label{margin:0}
.admin-user-filterbar label>span{display:block;font-size:10px;font-weight:900;letter-spacing:.04em;color:#667488;margin:0 0 5px}
.admin-user-filterbar input,.admin-user-filterbar select{width:100%;min-height:40px}
.admin-user-search{min-width:0}
.admin-user-orgmeta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px;font-size:11px;color:#657286}
.admin-user-orgmeta span{display:inline-block}
.admin-user-orgmeta b{color:#39475a}
.admin-user-card.hidden{display:none!important}
#adminUserNoResults{margin-top:10px}
@media(max-width:1200px){
 .admin-user-filterbar{grid-template-columns:repeat(3,minmax(160px,1fr));position:static}
 .admin-user-search{grid-column:span 2}
}
@media(max-width:720px){
 .admin-users-filter-head{display:block}
 .admin-users-filter-head button{margin-top:10px}
 .admin-user-filterbar{grid-template-columns:1fr 1fr}
 .admin-user-search{grid-column:1/-1}
}

/* V12.67 – eindeutige Vereinszuordnung im Super-Admin */
.admin-user-orgmeta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid #eef1f4;
}
.admin-user-orgmeta.missing-club-assignment{
  border-top-color:#efd2a8;
}
.assignment-warning{
  color:#9a5a00!important;
  background:#fff7e8;
  border:1px solid #f0d39c;
  border-radius:8px;
  padding:4px 7px;
}

/* V12.68 – direkte Navigation aus Super-Admin-Benutzern */
.admin-user-quicklinks{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.quicklink-button{
  border:1px solid #d4dbe4;
  background:#f7f9fc;
  color:#26374d;
  border-radius:9px;
  padding:7px 10px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.quicklink-button:hover{background:#edf3f9}
.quicklink-button.permissions{border-color:#b8c8df;color:#111111;background:#eef4fb}
.quicklink-button.profile{background:#fff}
.permission-focus-card{
  outline:3px solid rgba(21,123,53,.35);
  box-shadow:0 0 0 7px rgba(21,123,53,.08)!important;
}

/* V12.69 – echte Browser-/App-Navigation */
.karalio-section .back[data-karalio-back]{
  cursor:pointer;
  transition:background .15s ease,transform .15s ease;
}
.karalio-section .back[data-karalio-back]:hover{
  background:#eef3f9;
  transform:translateX(-1px);
}

/* V12.70 – Logo ohne weiße Trägerfläche: direkt in die jeweilige Ebene eingebettet */
.logo,
.brand-logo,
.login-logo,
.auth-logo,
.header-logo,
.top-logo,
.logo-wrap,
.logo-box,
.brand-mark,
.brand-logo-wrap,
[class*="logoBox"],
[class*="logo-box"]{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.logo img,
.brand-logo img,
.login-logo img,
.auth-logo img,
.header-logo img,
.top-logo img,
.logo-wrap img,
.logo-box img,
.brand-mark img,
img[src*="logo.png"]{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  border-radius:0 !important;
  object-fit:contain;
}

/* V12.71 – KARALIO-Logo vollständig in den Header eingebettet */
header .brand,
header .brand-wrap,
header .brand-area,
header .brandbox,
header .brand-box,
header .logo-area,
header .logo-panel,
header .logo-container,
header .header-brand,
header .header-logo-wrap,
header .karalio-brand,
header .karalio-logo-wrap,
.topbar .brand,
.topbar .brand-wrap,
.topbar .brand-area,
.topbar .brandbox,
.topbar .brand-box,
.topbar .logo-area,
.topbar .logo-panel,
.topbar .logo-container,
.topbar .header-brand,
.topbar .header-logo-wrap,
.topbar .karalio-brand,
.topbar .karalio-logo-wrap,
.app-header .brand,
.app-header .brand-wrap,
.app-header .logo-area,
.app-header .logo-panel,
.app-header .header-brand,
.app-header .karalio-brand,
.app-header .karalio-logo-wrap{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* Manche ältere Layout-Regeln geben dem ersten Header-Block selbst Weiß. */
header > div:first-child,
.topbar > div:first-child,
.app-header > div:first-child{
  background:transparent !important;
  box-shadow:none !important;
}

/* Logo selbst: keine weiße Kachel, keine künstliche Innenfläche */
header img[src*="logo"],
.topbar img[src*="logo"],
.app-header img[src*="logo"],
header .logo,
.topbar .logo,
.app-header .logo{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
}

/* KARALIO auf dunklem Header etwas Luft geben, aber keine eigene Fläche */
header .brand,
.topbar .brand,
.app-header .brand{
  padding-left:18px !important;
  padding-right:18px !important;
}

/* Falls die alte weiße Fläche über ein Pseudo-Element erzeugt wird */
header .brand::before,
header .brand::after,
.topbar .brand::before,
.topbar .brand::after,
.app-header .brand::before,
.app-header .brand::after{
  content:none !important;
  display:none !important;
}

/* V12.72 – exakter Fix der weißen KARALIO-Headerfläche */
.karalio-top .karalio-logo,
body.superadmin-theme .karalio-top .karalio-logo,
body.club-theme .karalio-top .karalio-logo,
body.team-theme .karalio-top .karalio-logo,
body.player-theme .karalio-top .karalio-logo{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
}

.karalio-top .karalio-logo img,
.karalio-top img.karalio-logo{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* Der linke Markenbereich selbst darf keine separate Platte mehr bilden. */
.karalio-top .brand-shell,
.karalio-top .brand-home,
.karalio-top .karalio-brand,
.karalio-top .brand-zone{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* V12.73 – tatsächlich verwendetes KARALIO-Asset ist transparent */
.karalio-top .karalio-brand{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.karalio-top .karalio-logo{
  display:block;
  background:transparent !important;
  mix-blend-mode:normal;
}

/* Grundsätzlich keine Trägerfläche mehr */
.karalio-logo,
.section-karalio,
.karalio-public-logo,
.loginbrand img,
img[src*="karalio-logo"]{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
  object-fit:contain !important;
}

/* Neutraler / heller Hintergrund: Markenfarben */
.karalio-logo,
.section-karalio,
.karalio-public-logo{
  content:var(--karalio-logo-color);
}

/* Dunkler Super-Admin-Header ist neutral genug für die Farbversion */
body.superadmin-theme .karalio-top .karalio-logo{
  content:var(--karalio-logo-color) !important;
}

/* Auf blau/grün geprägten Bereichen konsequent weiß */
body.club-theme .karalio-top .karalio-logo,
body.team-theme .karalio-top .karalio-logo,
body.player-theme .karalio-top .karalio-logo,
.login-hero .karalio-public-logo,
.login-left .karalio-public-logo,
.auth-hero .karalio-public-logo,
.brand-blue .karalio-logo,
.brand-green .karalio-logo{
  content:var(--karalio-logo-white) !important;
}

/* Wird ein Abschnitt bewusst blau/grün eingefärbt, ebenfalls weiß */
[style*="background:#111111"] .karalio-logo,
[style*="background: #111111"] .karalio-logo,
[style*="background:#157b35"] .karalio-logo,
[style*="background: #157b35"] .karalio-logo{
  content:var(--karalio-logo-white) !important;
}

/* Headerlogo sauber und kompakt – keine riesige unsichtbare Canvasfläche */
.karalio-top .karalio-logo{
  width:148px !important;
  height:auto !important;
  max-height:44px !important;
  display:block !important;
}

/* Abschnittslogo etwas zurückhaltender */
.section-karalio{
  width:104px !important;
  height:auto !important;
  max-height:30px !important;
}

/* V12.75 – finales adaptives KARALIO-Logo-System
   COLOR auf neutralen/hellen Hintergründen.
   WHITE nur bei blau/grün/dunkel eingefärbten Flächen mit zu geringem Kontrast. */

:root{
  --karalio-logo-color:url("assets/karalio-logo-color-uhd.png");
  --karalio-logo-white:url("assets/karalio-logo-white-uhd.png");
}

/* Jede Logo-Trägerfläche ist transparent. */
.karalio-brand,
.karalio-logo,
.section-karalio,
.karalio-public-logo,
.loginbrand,
.loginbrand img,
img[src*="karalio-logo"]{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* Standard: Markenfarben. Das gilt ausdrücklich für helle Vereins-/Teamseiten. */
.karalio-logo,
.section-karalio,
.karalio-public-logo,
body.club-theme .karalio-top .karalio-logo,
body.team-theme .karalio-top .karalio-logo,
body.player-theme .karalio-top .karalio-logo,
body.superadmin-theme .karalio-top .karalio-logo{
  content:var(--karalio-logo-color) !important;
}

/* Nur auf tatsächlich blau/grün oder sehr dunkel eingefärbten Markenflächen weiß. */
.login-hero .karalio-public-logo,
.login-left .karalio-public-logo,
.auth-hero .karalio-public-logo,
.brand-blue .karalio-logo,
.brand-green .karalio-logo,
.logo-on-blue,
.logo-on-green{
  content:var(--karalio-logo-white) !important;
}

/* Header-Maße ohne unsichtbare Canvas-Ränder. */
.karalio-top .karalio-logo{
  width:150px !important;
  height:auto !important;
  max-height:42px !important;
  padding:0 !important;
  display:block !important;
  object-fit:contain !important;
}

.section-karalio{
  width:104px !important;
  height:auto !important;
  max-height:30px !important;
  padding:0 !important;
  object-fit:contain !important;
}

/* Vereins-/Mannschaftsheader bleiben hell und zeigen daher immer das Farblogo. */
body.club-theme .karalio-top,
body.team-theme .karalio-top,
body.player-theme .karalio-top{
  --active-karalio-logo:var(--karalio-logo-color);
}

/* Super-Admin: dunkles neutrales Grau, Farbversion bleibt kontrastreich. */
body.superadmin-theme .karalio-top{
  --active-karalio-logo:var(--karalio-logo-color);
}

/* V12.76 – Logo-Kontrastkorrektur
   Dunkler Super-Admin-Header: weiße Logo-Variante.
   Helle Vereins-/Team-/Spielerflächen: farbige Logo-Variante. */
body.superadmin-theme .karalio-top .karalio-logo,
body.superadmin-theme .karalio-top img.karalio-logo,
body.superadmin-theme .karalio-top .section-karalio {
  content: var(--karalio-logo-white) !important;
}

body.club-theme .karalio-top .karalio-logo,
body.team-theme .karalio-top .karalio-logo,
body.player-theme .karalio-top .karalio-logo {
  content: var(--karalio-logo-color) !important;
}

/* V12.77 – Super-Admin in KARALIO-Grün */
body.superadmin-theme{
  --super-green:#157b35;
  --super-green-dark:#157b35;
  --super-green-deep:#0f7420;
  --super-bg:#edf9ef;
  --super-card:#ffffff;
  --super-border:#bfe8c6;
  --super-text:#17331d;
  --super-muted:#5e7463;
  background:linear-gradient(180deg,#e7f8ea 0%,#f5fbf6 52%,#edf9ef 100%)!important;
  color:var(--super-text)!important;
}
body.superadmin-theme .karalio-top{
  background:var(--super-green)!important;
  color:#fff!important;
  border-bottom-color:var(--super-green-dark)!important;
  box-shadow:0 4px 22px rgba(21,155,43,.22)!important;
}
body.superadmin-theme .karalio-top .karalio-logo,
body.superadmin-theme .karalio-top img.karalio-logo,
body.superadmin-theme .karalio-top .section-karalio{
  content:var(--karalio-logo-white)!important;
}
body.superadmin-theme .karalio-top .brand-context{
  border-left-color:rgba(255,255,255,.35)!important;
}
body.superadmin-theme .karalio-top .brand-context>span,
body.superadmin-theme .karalio-top .user span{color:rgba(255,255,255,.82)!important}
body.superadmin-theme .karalio-top .user b{color:#fff!important}
body.superadmin-theme .team-switch{
  background:rgba(10,100,28,.28)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.38)!important;
}
body.superadmin-theme .hamburger{
  background:var(--super-green-dark)!important;
  border-color:rgba(255,255,255,.28)!important;
}
body.superadmin-theme .welcome .eyebrow,
body.superadmin-theme .eyebrow{color:var(--super-green-dark)!important}
body.superadmin-theme .welcome h1,
body.superadmin-theme h1,
body.superadmin-theme h2{color:#17331d!important}
body.superadmin-theme .subtitle,
body.superadmin-theme .sub{color:var(--super-muted)!important}
body.superadmin-theme .card,
body.superadmin-theme .super-team-card,
body.superadmin-theme .admin-user-card,
body.superadmin-theme .tenant-security-card{
  background:#fff!important;
  border-color:var(--super-border)!important;
  box-shadow:0 8px 24px rgba(21,120,40,.08)!important;
}
body.superadmin-theme .karalio-section{
  background:#daf3df!important;
  border-color:#b7e3bf!important;
}
body.superadmin-theme .karalio-section .back{
  background:#fff!important;
  border-color:#a9dbb2!important;
  color:var(--super-green-deep)!important;
}
body.superadmin-theme .primary{
  background:var(--super-green-dark)!important;
  border-color:var(--super-green-dark)!important;
  color:#fff!important;
}
body.superadmin-theme .primary:hover{background:var(--super-green-deep)!important}
body.superadmin-theme .secondary{
  background:#fff!important;
  border-color:#a9dbb2!important;
  color:var(--super-green-deep)!important;
}
body.superadmin-theme input:focus,
body.superadmin-theme select:focus,
body.superadmin-theme textarea:focus{
  outline:2px solid rgba(21,123,53,.18)!important;
  border-color:var(--super-green)!important;
}
body.superadmin-theme .badge.green{
  background:#dff6e3!important;
  color:var(--super-green-deep)!important;
}
body.superadmin-theme .tenant-security-card,
body.superadmin-theme .team-player-invite-card{
  border-top-color:var(--super-green)!important;
}
body.superadmin-theme .super-team-card:hover,
body.superadmin-theme .admin-user-card:hover{
  border-color:#7bd58a!important;
  box-shadow:0 10px 28px rgba(21,120,40,.13)!important;
}
body.superadmin-theme .account-avatar{
  background:#fff!important;
  color:var(--super-green-deep)!important;
  border-color:rgba(255,255,255,.75)!important;
}

/* V12.78 Saison + Aushilfen */
.season-hero,.season-row{display:flex;justify-content:space-between;align-items:center;gap:14px}
.season-row{padding:12px 0;border-bottom:1px solid #edf0f3}.season-row:last-child{border-bottom:0}
.help-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.activity-required{grid-column:1/-1;border:1px solid #cfe2d2;border-radius:10px;padding:10px 12px}
.activity-required label{display:inline-flex;align-items:center;gap:6px;margin-right:20px}.activity-required input{width:auto;min-height:auto}

/* V12.79 – sichtbare Saison-/Aushilfen-Navigation */
.season-entry-card{border-top:4px solid #157b35!important}
.help-entry-card{border-top:4px solid #157b35!important}
.migration-needed{border-left:4px solid #e3ad00!important;background:#fffaf0!important}

/* V12.80 – Aushilfe-Workflow und Kaderstatus */
.help-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.help-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.help-summary .card span,.help-summary .card b{display:block}.help-summary .card b{font-size:24px;margin-top:3px}
.help-request-card{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid #e8edf1}
.help-request-card:last-child{border-bottom:0}.help-request-main{display:grid;gap:5px}.help-request-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.help-request-actions{display:flex;align-items:flex-end;gap:7px;flex-direction:column}.help-reason{background:#f6f8fa;padding:7px 9px;border-radius:8px;font-size:12px}.help-approved{color:#157b35;font-size:12px}
.arrow-inline{font-size:11px;color:#7a8794}.guest-player-row{opacity:.72;background:#f2f4f6!important;border-left:4px solid #8b96a3!important}
.guest-badge{background:#e5e8ec!important;color:#44505e!important}.guest-detail,.home-loan-detail{font-size:10px;margin-top:5px;color:#697684}
.home-player-on-loan{border-left:4px solid #e1ad16!important}.loan-home-badge{background:#fff3ca!important;color:#7a5a00!important}
.roster-subheading{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#768391;margin:16px 4px 7px}
.activity-required{grid-column:1/-1;border:1px solid #cddfd1;border-radius:10px;padding:10px 12px}.activity-required label{display:inline-flex;align-items:center;gap:6px;margin-right:20px}.activity-required input{width:auto;min-height:auto}
@media(max-width:720px){.help-intro,.help-request-card{display:block}.help-buttons,.help-request-actions{margin-top:12px}.help-request-actions{align-items:stretch}.help-summary{grid-template-columns:1fr 1fr 1fr}}

/* V12.81 – Aushilfen-Menü repariert */
.menu-module[data-view="aushilfen"]{cursor:pointer;pointer-events:auto!important}
.help-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.help-buttons{display:flex;gap:10px;flex-wrap:wrap}
.help-request-card{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e7ecef}.help-request-card:last-child{border-bottom:0}
.help-request-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.help-request-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end}
.help-reason{margin-top:6px;padding:7px 9px;background:#f5f7f8;border-radius:8px;font-size:12px}
.activity-required{grid-column:1/-1;border:1px solid #cddfd1;border-radius:10px;padding:10px 12px}.activity-required label{display:inline-flex;align-items:center;gap:6px;margin-right:20px}.activity-required input{width:auto;min-height:auto}
@media(max-width:720px){.help-intro,.help-request-card{display:block}.help-buttons,.help-request-actions{margin-top:12px}.help-request-actions{align-items:stretch}}

/* V12.82 – Saisonwechsel / Verlängerung */
.season-extension-card{border-left:4px solid #e0ad15!important;background:#fff9e9!important}
.migration-steps{display:grid;gap:8px}
.migration-steps>div{padding:10px 12px;border-radius:9px;background:#f5f8f6;border:1px solid #dfe9e1}


/* V12.83 – komplett neue Karalio Startseite */
.karalio-home-hero{min-height:100vh;background:linear-gradient(120deg,rgba(21,123,53,.96),rgba(21,123,53,.90)),radial-gradient(circle at 80% 20%,rgba(21,123,53,.24),transparent 32%);position:relative}
.karalio-home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.055) 50%,transparent 50.2%),radial-gradient(circle at 50% 50%,transparent 0 105px,rgba(255,255,255,.055) 106px 108px,transparent 109px);opacity:.7;pointer-events:none}
.karalio-home-hero:after{content:"";position:absolute;width:620px;height:620px;right:-280px;bottom:-250px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.012)}
.karalio-home-nav{position:absolute;z-index:3;left:7%;right:7%;top:34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:22px;color:rgba(255,255,255,.68);font-size:12px;font-weight:700}.karalio-home-nav img{width:185px;max-height:45px;object-fit:contain;object-position:left center}
.karalio-home-hero .karalio-login-hero-inner{width:min(820px,86%);padding:150px 0 70px}.karalio-home-hero .karalio-public-kicker{color:#157b35}.karalio-home-hero h1{font-size:clamp(46px,5.6vw,82px);max-width:790px}.karalio-home-hero h1 span{color:#fff}.karalio-home-hero>div>p{font-size:19px;max-width:690px;color:rgba(255,255,255,.80)}
.karalio-home-trust{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 32px}.karalio-home-trust span{padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.055);font-size:11px;font-weight:800;color:rgba(255,255,255,.83)}
.karalio-feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.karalio-feature-strip>div{min-height:116px;padding:17px;border-radius:17px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px)}.karalio-feature-strip b{display:block;color:#157b35;font-size:10px;letter-spacing:.12em;margin-bottom:14px}.karalio-feature-strip strong{display:block;font-size:14px}.karalio-feature-strip span{display:block;margin-top:5px;font-size:11px;line-height:1.4;color:rgba(255,255,255,.62)}
.karalio-login-panel{background:linear-gradient(180deg,#f5f8f5,#eef4ef)}.karalio-login-card{border-color:#d9e5dc;box-shadow:0 24px 70px rgba(21,123,53,.12)}.karalio-login-card h2{color:#157b35}.karalio-login-card-kicker{color:#157b35}.karalio-login-submit{background:#157b35!important;border-color:#157b35!important}.karalio-login-submit:hover{background:#157b35!important}.karalio-security-dot{background:#157b35}
@media(max-width:980px){.karalio-home-hero{min-height:auto}.karalio-home-nav{position:relative;left:auto;right:auto;top:auto;margin:0 6%;padding-top:24px}.karalio-home-hero .karalio-login-hero-inner{padding:60px 0}.karalio-feature-strip{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.karalio-home-nav span{display:none}.karalio-home-nav img{width:150px}.karalio-home-hero .karalio-login-hero-inner{padding:44px 0}.karalio-home-hero h1{font-size:42px}.karalio-feature-strip{grid-template-columns:1fr}.karalio-feature-strip>div{min-height:auto}.karalio-home-trust{display:grid}.karalio-home-hero>div>p{font-size:16px}}

/* V12.84 – offizielles KARALIO-Grün */
:root {
  --karalio-green: #157b35;
  --brand-green: #157b35;
  --success: #157b35;
  --green: #157b35;
}
.green,
.badge.green,
.eyebrow,
.scope-summary-card strong,
.nav-item.active,
.bottom-nav .active,
[data-view].active {
  color: #157b35!important;
}
button.primary,
.primary,
.karalio-login-submit {
  background: #157b35!important;
  border-color: #157b35!important;
}
button.primary:hover,
.primary:hover,
.karalio-login-submit:hover {
  background: #157b35!important;
  filter: brightness(.92);
}
.scope-summary-card.season-entry-card,
.scope-summary-card.help-entry-card,
.home-player-on-loan,
.season-extension-card {
  border-color: #157b35!important;
}
.karalio-security-dot,
.status-dot,
.success-dot {
  background: #157b35!important;
}
.super-admin-shell .eyebrow,
.super-admin-shell .badge.green,
.super-admin-shell .nav-item.active,
.super-admin-shell .bottom-nav .active {
  color: #157b35!important;
}

/* V12.93 – Farblogo und bessere Lesbarkeit auf der grünen Startseitenfläche */
.karalio-home-hero .karalio-public-kicker{
  color:rgba(255,255,255,.82)!important;
}
.karalio-home-hero .karalio-home-nav{
  color:rgba(255,255,255,.82);
}
.karalio-home-hero .karalio-feature-strip b{
  color:#d9f3df!important;
}
.karalio-home-hero .karalio-feature-strip span{
  color:rgba(255,255,255,.78);
}

/* V12.85 – skalierbare Super-Admin Vereinsverwaltung */
.club-search-console{max-width:100%}
.club-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.club-search-row input{min-height:52px;font-size:16px}
.club-search-suggestions{margin-top:8px;border:1px solid #dce5df;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 14px 35px rgba(0,0,0,.06)}
.club-search-suggestion{display:flex;width:100%;justify-content:space-between;gap:12px;padding:12px 14px;border:0;border-bottom:1px solid #edf1ee;background:#fff;text-align:left;cursor:pointer}
.club-search-suggestion:last-of-type{border-bottom:0}.club-search-suggestion:hover{background:#f4f8f5}
.club-search-suggestion span{font-weight:850}.club-search-suggestion small{color:#6a766e}
.club-search-more{padding:10px 14px;background:#fafbfa}
.club-search-result{margin-top:16px}.search-empty{box-shadow:none!important;border:1px dashed #d8e0da!important}
.super-club-detail{padding:0!important;overflow:hidden}
.super-club-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;border-bottom:1px solid #e5ebe7}
.super-club-detail-head h2{margin:3px 0 4px;font-size:28px}
.super-club-admin-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e5ebe7}
.super-club-admin-section{padding:20px 24px}
.super-club-admin-grid .super-club-admin-section+ .super-club-admin-section{border-left:1px solid #e5ebe7}
.super-club-admin-section h3{margin:0 0 7px}.super-club-admin-section .sub{margin-bottom:14px}
.club-masterdata-admin{border-bottom:1px solid #e5ebe7}.club-id-line{display:flex;gap:12px;align-items:center;margin:12px 0 16px;font-size:11px;color:#68736c}.club-id-line code{background:#f3f5f4;padding:5px 8px;border-radius:7px}
.danger-zone{background:#fbfbfb}.create-club-collapsible{padding:0!important;margin-top:14px}
.create-club-collapsible>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:17px 20px;font-weight:900;list-style:none}.create-club-collapsible>summary::-webkit-details-marker{display:none}
.create-club-body{padding:0 20px 20px;border-top:1px solid #e5ebe7;padding-top:18px}
.platform-security-status{margin-top:18px;border-top:1px solid #dfe6e1;padding-top:12px;color:#5c6860;font-size:11px}
.platform-security-status summary{cursor:pointer;font-weight:800;color:#4d5a51}
.platform-security-status-body{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.platform-security-status-body>div{padding:10px;border-radius:9px;background:#f4f6f5}.platform-security-status-body b,.platform-security-status-body span{display:block}.platform-security-status-body span{margin-top:3px}
@media(max-width:760px){.club-search-row{grid-template-columns:1fr}.super-club-admin-grid{grid-template-columns:1fr}.super-club-admin-grid .super-club-admin-section+ .super-club-admin-section{border-left:0;border-top:1px solid #e5ebe7}.platform-security-status-body{grid-template-columns:1fr}.super-club-detail-head{display:block}.super-club-detail-head .badge{margin-top:10px}}

/* V12.86 – sichtbarer Einladungslink */
.invite-link-display{margin-top:14px;padding:14px;border:1px solid #d9e4dc;border-radius:12px;background:#f8faf8}
.invite-link-display label{display:block;font-weight:800;margin-bottom:8px}
.invite-link-display input{width:100%;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.invite-link-display .secondary{margin:0 0 8px}

/* V12.88 – KARALIO Leistungstest-Zentrale */
.performance-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,#f5fbf6,#fff)}
.performance-hero h2{font-size:30px;margin:5px 0 8px}.performance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.performance-kpis>div,.analytics-kpis>div{background:#fff;border:1px solid #dfe9e1;border-radius:14px;padding:14px}.performance-kpis span,.analytics-kpis span{display:block;font-size:11px;color:#6b756f}.performance-kpis b,.analytics-kpis b{display:block;margin-top:5px;font-size:18px;color:#183226}.performance-actions{display:flex;gap:10px;margin:14px 0}.performance-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.performance-test-card{display:flex;gap:18px;text-align:left;background:#fff;border:1px solid #dce6df;border-radius:18px;padding:20px;cursor:pointer}.performance-test-card:hover{border-color:#157b35;box-shadow:0 10px 25px rgba(21,123,53,.08)}.performance-test-icon{width:52px;height:52px;border-radius:15px;background:#eaf6ed;color:#157b35;display:grid;place-items:center;font-size:25px;font-weight:900;flex:0 0 auto}.performance-test-card h3{margin:4px 0;font-size:20px}.performance-test-card small{color:#157b35;font-weight:800}.performance-test-card p{margin:6px 0 10px;color:#69746d}.text-link{font-weight:850;color:#157b35}.performance-standard-note{margin-top:14px}.performance-detail-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:14px}.performance-setup,.performance-instructions{margin:0}.test-svg{width:100%;max-height:360px;background:#f8fbf9;border-radius:16px;margin:14px 0}.material-line{padding:12px 14px;background:#f2f7f3;border-radius:12px}.performance-instructions ol{padding-left:22px}.performance-instructions li{margin:0 0 12px;line-height:1.45}.protocol-note{font-size:11px;color:#6b756f;border-top:1px solid #e3e9e5;padding-top:12px;margin:15px 0}.performance-player-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.performance-player-picker label{display:flex;align-items:center;gap:10px;border:1px solid #dfe7e1;border-radius:12px;padding:12px;background:#fff}.performance-player-picker input{width:20px;height:20px}.performance-player-picker span b,.performance-player-picker span small{display:block}.performance-player-picker small{color:#6b756f;margin-top:2px}.performance-entry{max-width:760px;margin:auto}.performance-progress{display:grid;grid-template-columns:1fr auto;gap:3px}.performance-progress>b{font-size:28px;grid-column:1/-1}.performance-progress small{color:#6b756f}.entry-date{margin:12px 0 18px;padding:10px;background:#f2f7f3;border-radius:10px}.attempt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.attempt-grid>div,.attempt-grid>label{padding:14px;border:1px solid #dfe7e1;border-radius:14px}.attempt-grid input{font-size:24px;font-weight:850}.best-preview{font-size:18px;background:#eaf6ed;color:#0d5728;padding:14px;border-radius:12px;margin:14px 0}.entry-actions{display:flex;justify-content:space-between;gap:10px}.invalid-attempt{display:flex!important;align-items:center;gap:8px;margin-top:12px}.invalid-attempt input{width:20px}.analytics-toolbar{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.analytics-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.analytics-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:14px}.player-bar-row{display:grid;grid-template-columns:160px 1fr 95px;gap:10px;align-items:center;margin:9px 0;font-size:12px}.player-bar-row>div{height:12px;background:#edf1ee;border-radius:8px;overflow:hidden}.player-bar-row i{display:block;height:100%;background:#157b35;border-radius:8px}.player-bar-row b{text-align:right}.group-stat{display:grid;grid-template-columns:1fr auto;gap:4px;padding:10px 0;border-bottom:1px solid #edf1ee}.group-stat small{grid-column:1/-1;color:#6b756f}.trend-svg{width:100%;height:auto}.compare-table{overflow:auto}.compare-row{display:grid;grid-template-columns:180px repeat(4,minmax(140px,1fr));gap:8px;padding:10px;border-bottom:1px solid #e5ebe7}.compare-row.header{background:#f4f8f5;position:sticky;top:0}.compare-row b{font-size:12px}.compare-row span{font-weight:800}.performance-session-form select,.performance-session-form input{min-height:46px}
.performance-report-head{display:flex;justify-content:space-between;align-items:center;gap:24px}.performance-report-head h2{margin:4px 0 6px;font-size:28px}.performance-report-head p{margin:0;color:#68716c;max-width:720px}.report-confidence{min-width:220px;padding:14px 16px;border-radius:14px;border:1px solid #dce6df}.report-confidence span,.report-confidence small{display:block;font-size:11px;color:#68716c}.report-confidence b{display:block;margin:4px 0}.report-confidence.good{background:#edf8f0;border-color:#b9dec3}.report-confidence.warn{background:#fff7e7;border-color:#eed49d}.performance-data-warning{margin:12px 0;padding:13px 15px;border-radius:12px;background:#fff4df;border:1px solid #efd39b;color:#704d08;font-weight:700}.analytics-kpis.professional>div{display:flex;flex-direction:column;min-height:100px}.analytics-kpis.professional small{margin-top:auto;padding-top:6px;color:#718078}.report-section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}.report-section-title h2{margin:3px 0}.performance-legend{display:flex;gap:6px;flex-wrap:wrap}.performance-legend span,.diagnostic-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850}.excellent{background:#d9f4df;color:#075d29}.good{background:#e4f5e9;color:#126333}.average{background:#e9eef0;color:#35434a}.watch{background:#fff0ce;color:#775000}.risk{background:#fee1df;color:#8d201a}.neutral{background:#edf0ee;color:#56615b}.diagnostic-table{overflow-x:auto}.diagnostic-row{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(115px,.7fr) minmax(190px,1.25fr) minmax(125px,.8fr) minmax(150px,1fr);gap:12px;align-items:center;padding:13px 8px;border-top:1px solid #e7ece9;min-width:850px}.diagnostic-row.header{border:0;background:#f4f8f5;border-radius:10px;color:#66716b;font-size:11px;font-weight:850;text-transform:uppercase}.diagnostic-row b,.diagnostic-row small{display:block}.diagnostic-row small{margin-top:4px;color:#707b75;font-size:10px}.diagnostic-player b{font-size:13px}.diagnostic-delta.positive b{color:#12753a}.diagnostic-delta.negative b{color:#a22b24}.analytics-grid.professional{grid-template-columns:1.35fr .8fr}.interpretation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.interpretation-grid>div{padding:14px;border-radius:13px;background:#f3f7f4}.interpretation-grid b{display:block;font-size:26px;color:#133e29}.interpretation-grid span{font-size:11px;color:#647068}.clinical-note{border-left:4px solid #157b35;padding:10px 14px;background:#f5faf6;border-radius:0 12px 12px 0}.clinical-note p,.performance-reference-note p{margin:5px 0 0;line-height:1.5;color:#637068}.performance-reference-note{border-color:#bfdac6!important}
@media(max-width:800px){.performance-hero,.performance-detail-grid,.analytics-grid{grid-template-columns:1fr}.performance-kpis,.analytics-kpis{grid-template-columns:repeat(2,1fr)}.performance-test-grid,.performance-player-picker,.attempt-grid{grid-template-columns:1fr}.analytics-toolbar{grid-template-columns:1fr}.player-bar-row{grid-template-columns:110px 1fr 78px}.performance-actions,.entry-actions{flex-direction:column}.compare-row{grid-template-columns:130px repeat(4,130px)}.performance-report-head,.report-section-title{align-items:stretch;flex-direction:column}.report-confidence{min-width:0}.analytics-grid.professional{grid-template-columns:1fr}.interpretation-grid{grid-template-columns:repeat(3,1fr)}.performance-ranking{padding:14px 10px}}


/* V12.382 – kompakte Leistungstest-Zentrale */
.performance-home{display:grid;gap:12px}.performance-command{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0}.performance-command h2{font-size:28px;margin:4px 0}.performance-command p{margin:0;color:#68716c}.performance-command-state{min-width:250px;padding:14px 16px;border-radius:14px;background:#edf8f0;border:1px solid #b9dec3}.performance-command-state span,.performance-command-state small{display:block;color:#607168;font-size:10px}.performance-command-state b{display:block;font-size:20px;margin:5px 0}.performance-home-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.performance-action-card{display:flex;align-items:center;gap:13px;text-align:left;padding:16px 18px;border-radius:16px;border:1px solid #dce5df;background:#fff;color:#18201b}.performance-action-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ebf6ee;color:#15883d;font-size:24px;font-weight:900;flex:0 0 auto}.performance-action-card b,.performance-action-card small{display:block}.performance-action-card b{font-size:16px}.performance-action-card small{margin-top:3px;color:#6d7771}.performance-action-card.primary{background:#13883c;color:#fff;border-color:#13883c}.performance-action-card.primary>span{background:rgba(255,255,255,.18);color:#fff}.performance-action-card.primary small{color:rgba(255,255,255,.82)}.performance-home-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.performance-home-kpis>div{padding:13px 14px;border:1px solid #dfe7e2;border-radius:14px;background:#fff}.performance-home-kpis span,.performance-home-kpis small{display:block;color:#6d7771;font-size:10px}.performance-home-kpis b{display:block;font-size:21px;margin:3px 0;color:#183226}.performance-home-report{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0}.performance-home-report h2{margin:3px 0 5px;font-size:20px}.performance-home-report p{margin:0;color:#68716c}.performance-guides-link{display:grid;grid-template-columns:1fr auto;gap:2px 12px;text-align:left;align-items:center;padding:15px 17px;border:1px solid #dce5df;border-radius:15px;background:#fff}.performance-guides-link span{font-weight:850}.performance-guides-link small{color:#6e7872}.performance-guides-link b{grid-column:2;grid-row:1/3;font-size:28px;color:#168a3e}.performance-guide-modal{position:fixed;inset:0;z-index:10000;background:rgba(7,18,12,.58);display:grid;place-items:center;padding:18px}.performance-guide-modal[hidden]{display:none}.performance-guide-dialog{width:min(760px,100%);max-height:min(82vh,760px);overflow:auto;background:#f8fbf9;border-radius:22px;padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.3)}.performance-guide-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-18px;background:#f8fbf9;padding:12px 0;z-index:2}.performance-guide-head h2{margin:3px 0}.performance-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.performance-test-card.compact{padding:14px;align-items:center;border-radius:14px}.performance-test-card.compact .performance-test-icon{width:42px;height:42px;border-radius:12px}.performance-test-card.compact h3{font-size:16px;margin:2px 0}.performance-test-card.compact .text-link{font-size:11px}.performance-guide-note{display:flex;gap:8px;flex-direction:column;padding:13px;margin-top:12px;border-radius:12px;background:#eaf6ed;color:#164d2a}.performance-modal-open{overflow:hidden}
@media(max-width:800px){.performance-command,.performance-home-report{align-items:stretch;flex-direction:column}.performance-command-state{min-width:0}.performance-home-actions{grid-template-columns:1fr 1fr}.performance-home-kpis{grid-template-columns:1fr 1fr}.performance-guide-grid{grid-template-columns:1fr}.performance-action-card{padding:14px}.performance-action-card b{font-size:14px}.performance-action-card small{font-size:10px}.performance-home-report .secondary{width:100%}}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(.performance-command-state,.performance-action-card:not(.primary),.performance-home-kpis>div,.performance-guides-link,.performance-guide-dialog,.performance-test-card.compact){background:#121a21!important;color:#f5f7f8!important;border-color:#2b3842!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .performance-guide-head{background:#121a21!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(.performance-command p,.performance-action-card small,.performance-home-kpis span,.performance-home-kpis small,.performance-home-report p,.performance-guides-link small,.performance-command-state span,.performance-command-state small){color:#aeb9b3!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .performance-home-kpis b{color:#f5f7f8!important}
.player-performance-page{display:grid;gap:14px}.player-performance-heading{display:flex;gap:14px;align-items:flex-start}.player-performance-heading h1{margin:3px 0;font-size:30px}.player-performance-heading p{margin:0;color:var(--muted)}.player-performance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.player-performance-summary>div{padding:4px 12px;border-right:1px solid var(--line)}.player-performance-summary>div:last-child{border:0}.player-performance-summary span,.player-performance-summary strong{display:block}.player-performance-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.player-performance-summary strong{margin-top:4px;font-size:18px}.player-performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-performance-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 5px 18px rgba(10,31,59,.045)}.player-performance-card-head{display:flex;justify-content:space-between;gap:10px}.player-performance-card h2{margin:3px 0;font-size:18px}.player-performance-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf7ed;color:#17923f;font-weight:900}.player-performance-value{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:12px}.player-performance-value strong{font-size:26px;color:#103f24}.player-performance-value span{font-size:10px;color:var(--muted)}.player-performance-card svg{display:block;width:100%;height:52px;margin:8px 0;background:linear-gradient(180deg,rgba(49,209,88,.08),transparent);border-radius:8px}.player-performance-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted)}.player-performance-meta b{color:var(--text)}.player-performance-meta .positive{color:#15863a;font-weight:800}.player-performance-meta .negative{color:#ae5960;font-weight:800}.player-performance-card.empty-test{display:flex;justify-content:space-between;min-height:130px;color:var(--muted)}.player-performance-note{padding:13px 15px;border-radius:14px;background:#eef7f0;color:#466052;font-size:11px;line-height:1.45}
html[data-resolved-appearance="dark"] .player-performance-icon{background:#183324;color:#79df93}html[data-resolved-appearance="dark"] .player-performance-value strong{color:#f3f8f5}html[data-resolved-appearance="dark"] .player-performance-note{background:#15241b;color:#aebbb2}
@media(max-width:640px){.player-performance-grid{grid-template-columns:1fr}.player-performance-summary{gap:0}.player-performance-summary>div{padding:4px 8px}.player-performance-summary strong{font-size:15px}.player-performance-value strong{font-size:24px}}
.player-performance-list{padding:0;overflow:hidden}.player-performance-row{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto 58px 14px;align-items:center;gap:11px;padding:13px 15px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);text-align:left}.player-performance-row:last-child{border-bottom:0}.player-performance-row-name,.player-performance-row-result{display:grid;gap:3px}.player-performance-row-name b{font-size:14px}.player-performance-row-name small,.player-performance-row-result small{font-size:9px;color:var(--muted)}.player-performance-row-result{text-align:right}.player-performance-row-result b{font-size:16px}.player-performance-row-change{font-size:10px;font-weight:850;text-align:right}.player-performance-row-change.positive,.player-performance-history-head .positive{color:#16873b}.player-performance-row-change.negative,.player-performance-history-head .negative{color:#b45159}.player-performance-row.is-empty{opacity:.6;grid-template-columns:42px minmax(0,1fr) 14px}.player-performance-detail-summary{display:grid;grid-template-columns:auto auto minmax(140px,1fr);align-items:center;gap:18px}.player-performance-detail-summary>div{display:grid;gap:3px}.player-performance-detail-summary span,.player-performance-detail-summary small{font-size:9px;color:var(--muted)}.player-performance-detail-summary strong{font-size:20px}.player-performance-detail-summary svg{width:100%;height:54px;background:linear-gradient(180deg,rgba(49,209,88,.09),transparent);border-radius:9px}.player-performance-history{display:grid;gap:9px}.player-performance-history-item{padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.player-performance-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.player-performance-history-head>div{display:grid;gap:3px}.player-performance-history-head span{font-size:10px;color:var(--muted)}.player-performance-history-head strong{font-size:22px;color:#123d25}.player-performance-history-head>span{font-weight:850}.player-performance-attempts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.player-performance-attempts>div{padding:9px 10px;border-radius:10px;background:#f3f7f4}.player-performance-attempts span,.player-performance-attempts b{display:block}.player-performance-attempts span{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.player-performance-attempts b{margin-top:3px;font-size:13px}.player-performance-conditions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.player-performance-conditions span{padding:5px 7px;border-radius:99px;background:#edf4ef;color:#52645a;font-size:9px}.player-performance-history-item p{margin:9px 0 0;font-size:10px;color:var(--muted)}
html[data-resolved-appearance="dark"] .player-performance-attempts>div{background:#19242a}html[data-resolved-appearance="dark"] .player-performance-conditions span{background:#1a2a21;color:#b8c5bc}html[data-resolved-appearance="dark"] .player-performance-history-head strong{color:#f2f7f4}
@media(max-width:640px){.player-performance-row{grid-template-columns:38px minmax(0,1fr) auto 14px;padding:12px 11px}.player-performance-row-change{display:none}.player-performance-row-result b{font-size:14px}.player-performance-row-name small{max-width:150px}.player-performance-detail-summary{grid-template-columns:1fr 1fr}.player-performance-detail-summary svg{grid-column:1/-1}.player-performance-history-head{align-items:center}.player-performance-history-head>span{max-width:120px;text-align:right}}

/* V12.387 – beschrifteter Leistungsverlauf und historischer Testkontext */
.player-performance-detail-summary{grid-template-columns:auto auto;gap:15px 24px}.player-performance-detail-summary>div.player-performance-chart{display:block;grid-column:1/-1;min-width:0;padding-top:13px;border-top:1px solid var(--line)}.player-performance-chart-wrap{width:100%;overflow-x:auto;overflow-y:hidden;margin-top:6px;padding-bottom:3px}.player-performance-chart svg{display:block!important;width:auto!important;height:190px!important;max-width:none;background:linear-gradient(180deg,rgba(49,209,88,.08),transparent);border-radius:10px;color:var(--text)}.player-performance-chart .chart-value{font-size:11px;font-weight:850;fill:currentColor}.player-performance-chart .chart-date{font-size:10px;font-weight:700;fill:currentColor;opacity:.65}.player-performance-history-heading{display:flex;justify-content:space-between;align-items:end;gap:12px}.player-performance-history-heading h2{margin:3px 0 0;font-size:20px}.player-performance-history-heading>small{color:var(--muted)}.player-performance-history-context{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.player-performance-history-context b{font-size:13px}.player-performance-history-context span{font-size:10px;color:var(--muted);text-align:right}.player-performance-history-head{align-items:center;padding-top:10px}.player-performance-history-head>strong{font-size:22px;color:#123d25}html[data-resolved-appearance="dark"] .player-performance-history-head>strong{color:#f2f7f4}
@media(max-width:640px){.player-performance-detail-summary{grid-template-columns:1fr 1fr}.player-performance-history-context{align-items:flex-start;flex-direction:column}.player-performance-history-context span{text-align:left}}

/* V12.388 – ruhiges Spieler-Dashboard und live aktualisierte Rückmeldungen */
.player-home-compact{display:grid;gap:12px!important}.player-home-compact .player-home-heading{align-items:center!important;margin:0!important}.player-home-compact .player-home-heading h1{font-size:25px!important;color:var(--text)!important}.player-home-compact .player-home-open{min-width:98px;padding:8px 10px;border-radius:13px;background:#f5f7f6;align-items:flex-end!important}.player-home-compact .player-home-open strong{font-size:20px!important;line-height:1!important}.player-home-compact .player-home-open.has-open strong{color:#a36c00!important}.player-home-compact .player-home-open.is-clear strong{color:#16873b!important}.player-home-compact .player-athletic-home-tile{min-height:0!important;padding:12px 14px!important;border-radius:16px!important}.player-home-compact .player-athletic-icon{width:42px!important;height:42px!important;border-radius:12px!important}.player-home-compact .player-athletic-home-tile strong{font-size:14px!important}.player-home-compact .player-athletic-home-tile small{font-size:10px!important}.player-home-compact .player-events-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:2px 0 0!important}.player-home-compact .player-events-heading h2{margin:0!important;font-size:20px!important}.player-home-compact .player-events-heading button{font-size:10px!important;white-space:nowrap}.player-home-compact .player-next-events-list{border-radius:16px!important}.player-home-compact .player-dashboard-list-item{border:0!important;border-bottom:1px solid var(--line)!important;background:var(--card)!important}.player-home-compact .player-dashboard-list-item:last-child{border-bottom:0!important}.player-home-compact .player-dashboard-list-row,.player-home-compact .player-dashboard-list-row.individual{grid-template-columns:84px minmax(0,1fr) auto!important;gap:10px!important;min-height:58px!important;padding:10px 12px!important;border:0!important;background:transparent!important}.player-home-compact .player-dashboard-list-date strong{font-size:11px!important;white-space:nowrap!important}.player-home-compact .player-dashboard-list-date span{font-size:9px!important;white-space:nowrap!important}.player-home-compact .player-dashboard-list-main{grid-column:auto!important;grid-row:auto!important;margin:0!important;padding:0!important}.player-home-compact .player-dashboard-list-main>span{font-size:7px!important}.player-home-compact .player-dashboard-list-main strong{font-size:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.player-home-compact .player-dashboard-list-main small{font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.player-home-compact .player-dashboard-list-row>.badge{grid-column:auto!important;grid-row:auto!important;font-size:8px!important;padding:4px 6px!important}.player-home-compact .player-dashboard-list-arrow{display:none!important}.player-home-compact .player-dashboard-rsvp-row,.player-home-compact .player-dashboard-list-item.training .player-dashboard-rsvp-row,.player-home-compact .player-dashboard-list-item.game .player-dashboard-rsvp-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding:0 12px 10px!important}.player-home-compact .player-dashboard-rsvp-row[hidden]{display:none!important}.player-home-compact .player-dashboard-rsvp-row button,.player-home-compact .player-dashboard-list-item.training .player-dashboard-rsvp-row button,.player-home-compact .player-dashboard-list-item.game .player-dashboard-rsvp-row button{min-height:32px!important;padding:6px 4px!important;border-radius:9px!important;font-size:9px!important;white-space:nowrap!important}.player-home-compact .player-dashboard-rsvp-state{grid-column:1/-1!important;font-size:8px!important}.player-home-compact .calendar-week-divider{display:none!important}
html[data-resolved-appearance="dark"] .player-home-compact .player-home-open{background:#172128}
@media(max-width:420px){.player-home-compact .player-dashboard-list-row,.player-home-compact .player-dashboard-list-row.individual{grid-template-columns:76px minmax(0,1fr) auto!important;padding:9px 10px!important;gap:8px!important}.player-home-compact .player-dashboard-rsvp-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:0 10px 9px!important}.player-home-compact .player-home-heading h1{font-size:23px!important}}

/* V12.389 – einzeilige, klar getrennte Terminarten */
.player-home-compact .player-dashboard-list-item.compact-event{border-left:4px solid #239548!important}.player-home-compact .player-dashboard-list-item.compact-event.game{border-left-color:#6d7785!important;background:#f3f5f6!important}.player-home-compact .player-dashboard-list-item.compact-event.individual{border-left-color:#7656a8!important;background:#f7f3fb!important}.player-home-compact .player-dashboard-list-item.compact-event.club-event{border-left-color:#1f6e78!important}.player-home-compact .compact-event .player-dashboard-list-row,.player-home-compact .compact-event .player-dashboard-list-row.individual{display:grid!important;grid-template-columns:68px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;min-height:0!important;padding:9px 10px!important}.player-event-type{display:inline-flex;align-items:center;justify-content:center;width:68px;min-height:25px;padding:4px 6px;border-radius:7px;background:#e8f6ec;color:#177e38;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.player-event-type.game{background:#e7eaed;color:#4f5b68}.player-event-type.individual{background:#ede6f6;color:#684596}.player-event-type.club{background:#e5f2f3;color:#17636c}.player-home-compact .compact-event .player-dashboard-list-main{display:block!important;min-width:0!important;padding:0!important}.player-home-compact .compact-event .player-dashboard-list-main strong{display:block!important;font-size:12px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.player-home-compact .compact-event .player-dashboard-list-main small{display:block!important;margin-top:3px!important;font-size:9px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.player-home-compact .compact-event .badge{position:static!important;font-size:8px!important;white-space:nowrap!important}.player-home-compact .compact-event .player-dashboard-rsvp-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding:0 10px 8px 87px!important}.player-home-compact .compact-event .player-dashboard-rsvp-row button{min-height:28px!important;padding:4px 3px!important;border-radius:7px!important;font-size:8px!important;white-space:nowrap!important}.player-home-compact .compact-event .player-dashboard-rsvp-state{display:none!important}.player-home-compact .compact-event .player-dashboard-rsvp-state.error{display:block!important}.player-home-compact .compact-event .player-dashboard-rsvp-row button.selected{box-shadow:inset 0 0 0 2px currentColor!important}.player-home-compact .compact-event+.compact-event{border-top:1px solid var(--line)!important}
html[data-resolved-appearance="dark"] .player-home-compact .player-dashboard-list-item.compact-event.game{background:#171e24!important}html[data-resolved-appearance="dark"] .player-home-compact .player-dashboard-list-item.compact-event.individual{background:#1c1822!important}html[data-resolved-appearance="dark"] .player-event-type.training{background:#173322;color:#73df91}html[data-resolved-appearance="dark"] .player-event-type.game{background:#29323a;color:#d5dce2}html[data-resolved-appearance="dark"] .player-event-type.individual{background:#332943;color:#d5c0ef}
@media(max-width:420px){.player-home-compact .compact-event .player-dashboard-list-row,.player-home-compact .compact-event .player-dashboard-list-row.individual{grid-template-columns:62px minmax(0,1fr) auto!important;gap:7px!important;padding:8px!important}.player-event-type{width:62px;font-size:7px}.player-home-compact .compact-event .player-dashboard-rsvp-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:0 8px 8px 77px!important}.player-home-compact .compact-event .player-dashboard-rsvp-row button{font-size:7.5px!important}}

/* V12.92 – automatisches Ausbildungsprofil je Spieler */
.training-exposure-card{overflow:hidden}
.training-exposure-title{align-items:flex-start;gap:16px}
.training-exposure-title h2{margin-bottom:4px}
.training-exposure-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 22px}
.training-exposure-kpis .info{min-height:78px}
.training-exposure-group{margin-top:20px}
.training-exposure-group>h3{margin:0 0 10px;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#667085)}
.training-exposure-list{display:grid;gap:13px}
.training-exposure-row{padding:12px 14px;border:1px solid rgba(20,48,35,.1);border-radius:14px;background:rgba(247,250,248,.8)}
.training-exposure-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.training-exposure-head strong{font-size:.96rem}
.training-exposure-head span,.training-exposure-dates{font-size:.78rem;color:var(--muted,#667085)}
.training-exposure-track{height:8px;background:rgba(18,89,57,.09);border-radius:999px;margin:8px 0 6px;overflow:hidden}
.training-exposure-track>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#167a50,#2ea876)}
.training-exposure-empty{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px dashed rgba(20,48,35,.2);border-radius:14px;background:#fafcfb}
.training-exposure-empty span,.training-exposure-note{color:var(--muted,#667085);font-size:.86rem;line-height:1.5}
.training-exposure-note{margin-top:18px;padding-top:14px;border-top:1px solid rgba(20,48,35,.1)}
@media(max-width:760px){.training-exposure-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.training-exposure-head{align-items:flex-start;flex-direction:column;gap:3px}}


/* V12.92 – schneller Anwesenheitsabschluss */
.attendance-summary-card .head{align-items:flex-start}
.attendance-quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.attendance-info{display:flex;gap:8px;align-items:flex-start;font-size:.9rem}
.attendance-info span{color:var(--muted,#667085)}
.attendance-player-list{display:grid;gap:9px;margin-top:12px}
.attendance-player-row{display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:15px;background:#fff;border:1px solid rgba(20,48,35,.1)}
.attendance-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.attendance-choice{border:1px solid rgba(20,48,35,.14);background:#f8faf9;border-radius:10px;padding:8px 10px;font-weight:700;font-size:.78rem}
.attendance-choice.is-present{background:#e7f6ee;border-color:#93d3ae;color:#12613f}
.attendance-choice.is-excused{background:#fff7df;border-color:#eed28b;color:#765912}
.attendance-choice.is-absent{background:#fdecec;border-color:#e9a5a5;color:#922f2f}
@media(max-width:760px){.attendance-player-row{align-items:flex-start;flex-direction:column}.attendance-actions{justify-content:flex-start;width:100%}.attendance-choice{flex:1}}


/* V12.94 – integrierte KARALIO-Stoppuhr */
.timer-method-disabled{opacity:.62}
.stopwatch-card{border:1px solid var(--line,#dce6df);border-radius:18px;padding:18px;background:var(--card,#fff);display:flex;flex-direction:column;gap:14px}
.stopwatch-card h3{margin:0}
.stopwatch-display{font-variant-numeric:tabular-nums;font-size:clamp(2.7rem,10vw,5rem);font-weight:900;line-height:1;text-align:center;letter-spacing:-.04em;padding:20px 8px;border-radius:16px;background:#f3f8f4;color:#173b27}
.stopwatch-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stopwatch-controls button{min-height:52px}
.stopwatch-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stopwatch-values span{background:#f6f8f7;border-radius:12px;padding:10px;display:flex;justify-content:space-between;gap:8px}
.timer-attempt-grid{align-items:stretch}
@media(max-width:720px){.stopwatch-controls{grid-template-columns:1fr}.stopwatch-display{font-size:3.3rem}}

/* V12.95 · KARALIO Zielkamera */
.camera-timing-wrap{margin:0 0 16px}.camera-stage{position:relative;overflow:hidden;border-radius:18px;background:#101613;aspect-ratio:16/9;min-height:220px}.camera-stage video{width:100%;height:100%;object-fit:cover;display:block}.finish-line-overlay{position:absolute;top:0;bottom:0;width:4px;background:#42f56f;box-shadow:0 0 0 2px rgba(0,0,0,.25),0 0 18px rgba(66,245,111,.65);pointer-events:none;transform:translateX(-2px)}.finish-line-overlay span{position:absolute;top:10px;left:8px;background:#0b5f29;color:#fff;padding:5px 8px;border-radius:8px;font-size:11px;font-weight:900;letter-spacing:.08em}.camera-status{position:absolute;left:12px;bottom:12px;right:12px;background:rgba(0,0,0,.68);color:#fff;padding:9px 11px;border-radius:10px;font-size:12px;font-weight:750}.camera-status.ready{background:rgba(12,88,43,.82)}.camera-status.armed{background:rgba(126,76,0,.88)}.camera-status.hit{background:rgba(16,112,52,.94)}.camera-status.error{background:rgba(153,28,28,.9)}.camera-setup-grid{display:grid;grid-template-columns:auto 1fr 1fr;gap:12px;align-items:end;margin:12px 0}.camera-setup-grid label{margin:0}.camera-setup-grid input[type=range]{width:100%;padding:0}.camera-setup-grid small{display:block;color:#6b756f;margin-top:3px}.camera-tip{margin:10px 0 14px}.camera-attempt-time{font-size:40px;font-weight:950;letter-spacing:-.03em;color:#183226}.camera-start-button{min-height:58px;font-size:18px}.camera-attempt-grid{margin-top:14px}@media(max-width:720px){.camera-setup-grid{grid-template-columns:1fr}.camera-stage{min-height:190px}.camera-attempt-time{font-size:34px}}
/* V12.96 Zielkamera-Praxismodus */
.camera-live-time{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.72);color:#fff;border-radius:10px;padding:7px 10px;font-size:24px;font-weight:950;font-variant-numeric:tabular-nums;z-index:3}
.camera-measurement-context{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 13px;margin-bottom:8px;border:1px solid #dce5df;border-left:5px solid #31d158;border-radius:13px;background:#fff}.camera-measurement-context>div{display:grid;gap:2px;min-width:0}.camera-measurement-context>div:last-child{text-align:right}.camera-measurement-context span{font-size:9px;letter-spacing:.08em;font-weight:900;color:#69756e}.camera-measurement-context b{font-size:17px;line-height:1.15;color:#142d1d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.camera-measurement-context small{font-size:10px;font-weight:750;color:#69756e}.camera-size-toggle{position:absolute;left:10px;top:10px;z-index:4;border:0;border-radius:9px;padding:7px 9px;background:rgba(0,0,0,.7);color:#fff;font-size:10px;font-weight:850;box-shadow:none}
.camera-result-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 9px}.camera-result-slot{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;min-height:70px;padding:10px 12px;border:2px solid #dfe5e1;border-radius:13px;background:#f8faf9}.camera-result-slot span{font-size:9px;letter-spacing:.08em;font-weight:900;color:#6e7872}.camera-result-slot b{font-size:23px;color:#26342c}.camera-result-slot small{grid-column:1/-1;font-size:10px;font-weight:800;color:#7b8580}.camera-result-slot.active{border-color:#31d158;background:#f0fbf3}.camera-result-slot.active small{color:#13833a}.camera-result-slot.running{border-color:#e6a700;background:#fff9e9}.camera-result-slot.running small{color:#9a6800}.camera-result-slot.review{border-color:#16863b;background:#e8f7ec}.camera-result-slot.review b{color:#0c6b2c}.camera-result-slot.done{border-color:#31d158;background:#e5f6e9}.camera-result-slot.done:after{content:'✓';grid-column:2;grid-row:1/3;color:#13833a;font-size:18px;font-weight:950}
.camera-practice-controls,.camera-review-actions,.camera-next-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.camera-practice-controls button,.camera-review-actions button,.camera-next-actions button{min-height:54px;font-weight:900}
.camera-review{margin-top:10px;border:2px solid #cfe9d5;border-radius:14px;padding:10px;background:#f5fbf6}.camera-review>div:first-child{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center}.camera-review span,.camera-review small{font-size:11px;color:#657169}.camera-review b{font-size:32px;color:#0d5728}.camera-review small{grid-column:1/-1}.camera-attempts-bar{display:flex;gap:6px;overflow-x:auto;padding:8px 1px 2px;white-space:nowrap;scrollbar-width:none}.camera-attempts-bar::-webkit-scrollbar{display:none}.camera-attempts-bar span{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;background:#eef3ef;color:#35443b;font-size:11px;font-weight:850}.camera-attempts-bar span.best{background:#dff5e5;color:#0a622a}.compact-hidden{display:none!important}
@media(max-width:720px){
 body.camera-practice-active{overflow:hidden;overscroll-behavior:none}
 body.camera-practice-active .camera-timing-wrap{position:fixed;inset:0;z-index:99999;background:#f5f8f6;padding:calc(6px + env(safe-area-inset-top)) 8px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:scroll;height:100dvh;max-height:100dvh;touch-action:pan-y;-webkit-overflow-scrolling:touch}
 body.camera-practice-active .camera-stage{flex:0 0 min(28dvh,280px);min-height:180px;aspect-ratio:auto;border-radius:12px;touch-action:pan-y;transition:flex-basis .2s ease}
 body.camera-practice-active .camera-preview-expanded .camera-stage{flex-basis:min(60dvh,620px)}
 body.camera-practice-active .camera-stage video{height:100%;pointer-events:none}
 body.camera-practice-active nav.karalio-dock,body.camera-practice-active .bottom-nav,body.camera-practice-active .mobile-nav{display:none!important}
 body.camera-practice-active .camera-status{left:8px;right:8px;bottom:8px;padding:6px 8px;font-size:10px}
 body.camera-practice-active .camera-live-time{top:8px;right:8px;font-size:21px;padding:5px 8px}
 body.camera-practice-active .camera-practice-controls,body.camera-practice-active .camera-review-actions,body.camera-practice-active .camera-next-actions{margin-top:0;gap:6px;flex:0 0 auto}
 body.camera-practice-active .camera-practice-controls button,body.camera-practice-active .camera-review-actions button,body.camera-practice-active .camera-next-actions button{min-height:46px;padding:8px 6px;font-size:12px}
 body.camera-practice-active .camera-review{margin-top:0;padding:7px;border-radius:10px;flex:0 0 auto}
 body.camera-practice-active .camera-review b{font-size:25px}
 body.camera-practice-active .camera-attempts-bar{padding:2px 0;min-height:30px;flex:0 0 auto}
 body.camera-practice-active .camera-attempts-bar span{min-height:26px;padding:3px 7px;font-size:10px}
}
@media(max-width:720px) and (max-height:700px){body.camera-practice-active .camera-stage{flex-basis:25dvh;min-height:150px}body.camera-practice-active .camera-preview-expanded .camera-stage{flex-basis:52dvh}}

/* V12.340 · iOS Scroll-Entsperrung der Zielkamera; bewusst am Dateiende nochmals
   mit hoher Spezifität, damit spätere Dock-Regeln die Navigation nicht einblenden. */
@media(max-width:720px){
 body.camera-practice-active nav.bottom.karalio-dock,
 body.camera-practice-active nav.player-bottom,
 body.camera-practice-active .bottom-nav,
 body.camera-practice-active .mobile-nav{display:none!important}
 .camera-timing-wrap{scroll-margin-bottom:130px}
 .performance-entry{padding-bottom:calc(120px + env(safe-area-inset-bottom))!important}
}

/* V12.97 · Smart Timing mit zweitem Handy */
.smart-timing-wrap{display:grid;gap:12px;margin:0 0 16px}.smart-pair-panel,.smart-run-panel{border:1px solid #dce5df;border-radius:16px;background:#fff;padding:12px}.smart-pair-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.smart-pair-head>div{display:grid;gap:2px}.smart-pair-head span{font-size:10px;letter-spacing:.1em;font-weight:900;color:#67736b}.smart-pair-head b{font-size:15px;color:#163b25}.smart-pair-head small{font-size:11px;color:#6b756f}.smart-pair-body{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:center;margin-top:10px}.smart-pair-body canvas{width:180px;height:180px;border-radius:10px;border:1px solid #e1e7e3;background:#fff}.smart-link-box{display:grid;gap:7px}.smart-link-box input{font-size:11px}.smart-link-box>div{display:flex;gap:7px;flex-wrap:wrap}.smart-live-time{text-align:center;font-size:54px;font-weight:950;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#153b24;padding:4px 0}.smart-run-status{text-align:center;min-height:20px;font-size:12px;font-weight:800;color:#5b675f}.smart-run-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:8px}.smart-run-controls button{min-height:56px;font-weight:950}.timing-guest{min-height:100dvh;background:#f2f6f3;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));display:grid;place-items:center}.timing-guest-card{width:min(600px,100%);background:#fff;border-radius:18px;padding:12px;box-shadow:0 12px 35px rgba(0,0,0,.08);overflow:hidden}.timing-guest-card>img{width:140px;height:auto;display:block;margin:0 auto 6px}.timing-guest-card h1{text-align:center;margin:2px 0 4px}.timing-guest-card>.eyebrow,.timing-guest-card>p{text-align:center}.timing-guest-stage{min-height:240px}.timing-guest-run{display:grid;gap:8px;margin-top:8px;text-align:center;font-weight:850}.privacy-note{font-size:10px;color:#67736b;text-align:center;margin-top:8px;line-height:1.35}
body.smart-timing-active{overflow:hidden;overscroll-behavior:none}body.smart-timing-active .smart-timing-wrap{position:fixed;inset:0;z-index:99999;background:#f5f8f6;padding:calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;overflow:hidden;height:100dvh}body.smart-timing-active .smart-pair-panel{display:none}body.smart-timing-active .smart-run-panel{display:flex;flex-direction:column;justify-content:center;gap:7px;max-height:100%;padding:10px}body.smart-timing-active .smart-live-time{font-size:clamp(56px,18vw,92px);padding:0}body.smart-timing-active .smart-run-controls{margin:0}body.smart-timing-active .smart-run-controls button{min-height:72px;font-size:16px}body.smart-timing-active .camera-review{margin:0}body.smart-timing-active .camera-attempts-bar{padding:2px 0}
@media(max-width:620px){.smart-pair-body{grid-template-columns:1fr}.smart-pair-body canvas{width:150px;height:150px;justify-self:center}.smart-live-time{font-size:46px}.smart-pair-head{align-items:flex-start}.smart-pair-head .ghost{padding:7px 9px;font-size:11px}.timing-guest{display:block}.timing-guest-card{min-height:calc(100dvh - 20px);display:flex;flex-direction:column}.timing-guest-card>img{width:105px}.timing-guest-stage{flex:1 1 auto;min-height:210px;max-height:48dvh}.timing-guest-card .camera-setup-grid{grid-template-columns:1fr 1fr;gap:7px}.timing-guest-card .camera-setup-grid>button{grid-column:1/-1}.timing-guest-card .camera-setup-grid label{font-size:11px}.timing-guest-run .danger-button{min-height:50px}}
.smart-qr-box{width:180px;height:180px;min-width:180px;background:#fff;border-radius:12px;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.smart-qr-box img,.smart-qr-box canvas{display:block!important;width:180px!important;height:180px!important;max-width:100%}
@media(max-width:480px){.smart-pair-body{align-items:center}.smart-qr-box{width:168px;height:168px;min-width:168px}.smart-qr-box img,.smart-qr-box canvas{width:168px!important;height:168px!important}}

/* V12.99 · Smart Timing Startkamera + mobile Public UX */
.smart-start-camera-panel{border:1px solid #dce5df;border-radius:16px;background:#fff;padding:12px;display:grid;gap:10px}.smart-start-head{display:flex;justify-content:space-between;gap:12px;align-items:end}.smart-start-head>div{display:grid;gap:2px}.smart-start-head span{font-size:10px;letter-spacing:.1em;font-weight:900;color:#67736b}.smart-start-head b{font-size:16px;color:#163b25}.smart-start-head label{margin:0;min-width:220px;font-size:11px}.smart-start-stage{min-height:210px}.start-line-overlay{background:#3b82f6;box-shadow:0 0 0 2px rgba(0,0,0,.25),0 0 18px rgba(59,130,246,.65)}.start-line-overlay span{background:#174ea6}.smart-qr-box{display:grid;place-items:center;min-height:182px}.smart-qr-box svg{display:block;width:180px!important;height:180px!important;max-width:100%}
@media(max-width:650px){
  .karalio-public-shell{display:flex;flex-direction:column;min-height:100dvh;background:#f3f7f4}
  .karalio-login-panel{order:1;padding:max(14px,env(safe-area-inset-top)) 12px 14px;min-height:100dvh;align-items:flex-start;background:linear-gradient(180deg,#edf5ef 0%,#f8fbf9 100%)}
  .karalio-login-card{width:100%;max-width:none;padding:18px 16px;border-radius:18px;box-shadow:0 12px 35px rgba(21,123,53,.10);margin:0}
  .karalio-login-card-brand{display:flex;gap:12px;margin-bottom:12px}.karalio-login-card-brand img{width:112px;margin:0}.karalio-login-card h2{font-size:25px}.karalio-login-copy{font-size:13px;margin-bottom:15px}.karalio-login-card label{margin-bottom:11px}.karalio-login-card input{min-height:46px}.karalio-login-submit{min-height:48px}.karalio-login-security{margin-top:14px;padding:10px 0}.karalio-public-links{margin-top:8px}
  .karalio-login-hero{order:2;display:none!important}
  .smart-start-head{display:grid;grid-template-columns:1fr}.smart-start-head label{min-width:0}.smart-start-stage{min-height:180px;max-height:34dvh}.smart-start-setup{grid-template-columns:1fr 1fr;gap:7px}.smart-start-setup>button{grid-column:1/-1}.smart-start-camera-panel{padding:8px}.smart-pair-panel{padding:8px}.smart-pair-body{gap:8px}.smart-qr-box{min-height:152px}.smart-qr-box svg{width:150px!important;height:150px!important}
}
body.smart-timing-active .smart-start-camera-panel{display:none}

/* V12.100 · Smart-Timing Platzablauf */
.smart-tech-details{border:1px solid #dce5df;border-radius:14px;background:#fff;overflow:hidden}
.smart-tech-details>summary{list-style:none;cursor:pointer;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:900;color:#163b25}
.smart-tech-details>summary::-webkit-details-marker{display:none}
.smart-tech-details>summary:after{content:'⌄';font-size:16px;color:#728078;transition:transform .15s ease}
.smart-tech-details[open]>summary:after{transform:rotate(180deg)}
.smart-tech-details>summary span{font-size:10px;letter-spacing:.08em;color:#68766e}
.smart-tech-details>summary b{margin-left:auto;font-size:12px}
.smart-tech-details .smart-pair-panel{border:0;border-top:1px solid #e6ece8;border-radius:0;margin:0}
.smart-current-player{display:grid;text-align:center;gap:1px;margin-bottom:2px}
.smart-current-player b{font-size:18px;color:#153b24;line-height:1.1}
.smart-current-player small{font-size:11px;font-weight:800;color:#66736b}
body.smart-timing-active .smart-tech-details{display:none}
body.smart-timing-active .smart-timing-wrap{justify-content:stretch;gap:6px}
body.smart-timing-active .smart-start-camera-panel{display:flex!important;flex:1 1 auto;min-height:0;padding:6px;gap:4px;overflow:hidden}
body.smart-timing-active .smart-start-head{display:none}
body.smart-timing-active #smartStartCameraArea{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
body.smart-timing-active .smart-start-stage{display:block;flex:1 1 auto;min-height:0;max-height:none!important;aspect-ratio:auto;border-radius:12px}
body.smart-timing-active .smart-start-stage video{height:100%;object-fit:cover}
body.smart-timing-active .smart-start-setup{display:none}
body.smart-timing-active .smart-run-panel{flex:0 0 auto!important;padding:6px 8px!important;gap:4px!important;justify-content:flex-start!important}
body.smart-timing-active .smart-live-time{font-size:clamp(34px,11vw,58px)!important;line-height:1;padding:0!important}
body.smart-timing-active .smart-current-player b{font-size:16px}
body.smart-timing-active .smart-current-player small{font-size:10px}
body.smart-timing-active .smart-run-status{min-height:16px;font-size:10px}
body.smart-timing-active .smart-run-controls button{min-height:52px!important;font-size:13px!important}
body.smart-timing-active .camera-review{padding:6px!important}
body.smart-timing-active .camera-review b{font-size:22px}
body.smart-timing-active .camera-attempts-bar{min-height:24px;max-height:32px;overflow:hidden}
body.smart-timing-active .camera-attempts-bar span{min-height:22px;padding:2px 6px;font-size:10px}
@media(max-width:620px){
 .smart-tech-details>summary{padding:9px 10px}
 body.smart-timing-active .smart-start-camera-panel{padding:4px}
 body.smart-timing-active .smart-run-panel{padding:5px 6px!important}
}

/* V12.101 · Timing-Zentrale / Multi-Camera */
.smart-hub-role{display:grid;gap:5px;padding:8px 0 10px}.smart-hub-role label{margin:0}.smart-hub-role small{color:#68766e}
.smart-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.smart-device-empty{grid-column:1/-1;padding:12px;text-align:center;border:1px dashed #cbd8cf;border-radius:12px;color:#718078;font-size:12px}
.smart-device-card{min-width:0;border:1px solid #d9e4dc;border-radius:13px;padding:6px;background:#fff;display:grid;gap:5px}.smart-device-title{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:11px}.smart-device-title b{font-size:12px;color:#123a22}.smart-device-title span{font-size:9px;font-weight:900}.smart-device-title .ready{color:#178343}.smart-device-title .wait{color:#9a6a16}
.smart-preview-stage{position:relative;aspect-ratio:16/9;background:#102016;border-radius:9px;overflow:hidden}.smart-preview-stage video{width:100%;height:100%;object-fit:cover;display:block}.smart-preview-line{position:absolute;top:0;bottom:0;width:2px;background:#38dc73;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.smart-device-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;align-items:end}.smart-device-controls label{font-size:8px;margin:0;gap:1px}.smart-device-controls input[type=range]{width:100%;padding:0}.smart-device-controls button{min-height:32px;padding:4px 7px;font-size:9px}
.smart-split-bar{display:flex;gap:5px;overflow-x:auto;min-height:0}.smart-split-bar span{white-space:nowrap;border:1px solid #dce6df;background:#f6faf7;border-radius:8px;padding:3px 6px;font-size:9px}.smart-split-bar b{color:#153b24}
.station-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.station-picker button{min-height:54px;border:1px solid #cfdad2;border-radius:12px;background:#f5faf6;font-weight:900;color:#153b24;font-size:15px}.station-picker button:last-child{grid-column:1/-1;background:#153b24;color:white}.station-custom{display:grid;grid-template-columns:1fr auto;gap:7px}.timing-station-card{max-width:560px}.guest-local-controls{transition:opacity .15s ease}
body.smart-timing-active .smart-device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.smart-timing-active .smart-device-card{padding:3px;gap:2px}.smart-timing-active .smart-device-controls{display:none}.smart-timing-active .smart-preview-stage{max-height:18dvh}.smart-timing-active .smart-device-title{font-size:9px}.smart-timing-active .smart-device-title b{font-size:10px}
@media(max-width:620px){.smart-device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.smart-device-card{padding:5px}.smart-device-controls{grid-template-columns:1fr 1fr}.smart-device-controls button{grid-column:1/-1}.station-custom{grid-template-columns:1fr}.smart-hub-role{padding-top:4px}.smart-timing-active .smart-start-camera-panel[hidden]{display:none!important}}

/* V12.369 · Smart Timing bleibt auf Mobilgeräten bedienbar */
body.smart-timing-active{overflow-y:auto!important;overscroll-behavior-y:auto!important}
body.smart-timing-active .smart-timing-wrap{justify-content:flex-start!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
body.smart-timing-active .smart-start-camera-panel{flex:0 0 auto!important;min-height:58dvh!important;overflow:visible!important}
body.smart-timing-active #smartStartCameraArea{min-height:52dvh!important}
body.smart-timing-active .smart-start-stage{min-height:52dvh!important}
body.smart-timing-active .smart-run-panel{flex:0 0 auto!important}

/* V12.102 · Smart Timing Verbindungs- und Livebildstatus */
#smartLocalCameraPanel[hidden],.smart-start-camera-panel[hidden]{display:none!important}
.smart-device-states{display:flex;flex-direction:column;align-items:flex-end;gap:1px;line-height:1.05}
.smart-device-title .danger{color:#b42318}.smart-device-title .warn{color:#b26a00}.smart-device-title .live{color:#0b7d3e}.smart-device-title .wait{color:#6f7772}
.smart-device-card.device-offline{border-color:#efb5b0;background:#fff8f7}.smart-device-card.device-unstable{border-color:#edc878;background:#fffdf5}
.smart-preview-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:8px;text-align:center;color:#dce7df;background:rgba(7,20,12,.72);font-size:10px;font-weight:800;letter-spacing:.02em}
.smart-device-controls{grid-template-columns:1fr 1fr auto auto}
@media(max-width:720px){.smart-device-controls{grid-template-columns:1fr 1fr}.smart-device-controls button{grid-column:auto}.smart-device-states span{font-size:8px}}

/* V12.373 · kompakte Messzentrale ohne Scrollen */
body.smart-timing-active{overflow:hidden!important}
body.smart-timing-active nav.karalio-dock,
body.smart-timing-active nav.bottom,
body.smart-timing-active .bottom-nav,
body.smart-timing-active .mobile-nav{display:none!important}
body.smart-timing-active .smart-timing-wrap{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr));
 grid-template-rows:auto minmax(0,1fr);
 gap:6px!important;
 align-content:stretch;
 overflow:hidden!important;
 height:100dvh!important;
 padding:calc(6px + env(safe-area-inset-top)) 6px calc(6px + env(safe-area-inset-bottom))!important;
 touch-action:none;
}
body.smart-timing-active .smart-device-grid{display:contents!important}
body.smart-timing-active .smart-device-empty{display:none!important}
body.smart-timing-active .smart-device-card{
 min-width:0;
 align-self:start;
 padding:4px!important;
 gap:3px!important;
 border-radius:11px;
}
body.smart-timing-active .smart-device-title{min-height:25px!important}
body.smart-timing-active .smart-device-title b{font-size:10px!important}
body.smart-timing-active .smart-device-states span:not(:first-child){display:none}
body.smart-timing-active .smart-preview-stage{
 width:100%;
 height:clamp(105px,20dvh,155px)!important;
 max-height:none!important;
 aspect-ratio:16/9!important;
}
body.smart-timing-active .smart-start-camera-panel{
 order:-1;
 min-width:0;
 min-height:0!important;
 height:auto!important;
 align-self:start;
 display:grid!important;
 padding:4px!important;
 gap:3px!important;
 overflow:hidden!important;
 border-radius:11px;
}
body.smart-timing-active .smart-start-head{display:flex!important;min-height:25px;align-items:center}
body.smart-timing-active .smart-start-head span{font-size:8px}
body.smart-timing-active .smart-start-head b{font-size:10px}
body.smart-timing-active .smart-start-head label{display:none!important}
body.smart-timing-active #smartStartCameraArea{display:block!important;min-height:0!important}
body.smart-timing-active .smart-start-stage{
 width:100%;
 height:clamp(105px,20dvh,155px)!important;
 min-height:0!important;
 max-height:none!important;
 aspect-ratio:16/9!important;
}
body.smart-timing-active .smart-start-stage video{width:100%;height:100%;object-fit:cover}
body.smart-timing-active .camera-status{font-size:8px!important;padding:4px 6px!important;line-height:1.15}
body.smart-timing-active .smart-run-panel{
 grid-column:1/-1;
 min-height:0!important;
 height:100%;
 overflow:hidden;
 align-self:stretch;
 padding:6px 8px!important;
 gap:4px!important;
}
body.smart-timing-active .smart-current-player b{font-size:15px!important}
body.smart-timing-active .smart-current-player small{font-size:9px!important}
body.smart-timing-active .smart-live-time{font-size:clamp(34px,10vw,52px)!important}
body.smart-timing-active .smart-run-controls{gap:6px!important}
body.smart-timing-active .smart-run-controls button{min-height:48px!important;font-size:12px!important}
body.smart-timing-active .camera-review-actions button,
body.smart-timing-active .camera-next-actions button{min-height:38px!important;padding:6px!important;font-size:11px!important}

/* V12.374 · festes Kamera-Raster: Start zuerst, Ziel zuletzt */
.smart-camera-grid{display:contents}
body.smart-timing-active .smart-timing-wrap{
 grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:auto minmax(0,1fr)!important;
}
body.smart-timing-active .smart-camera-grid{
 grid-column:1;
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr));
 grid-auto-flow:row;
 grid-auto-rows:auto;
 gap:5px;
 min-width:0;
 min-height:0;
 align-content:start;
}
body.smart-timing-active .smart-device-grid{display:contents!important}
body.smart-timing-active .smart-start-camera-panel{order:0!important}
body.smart-timing-active .smart-device-card{order:1}
body.smart-timing-active .smart-preview-stage,
body.smart-timing-active .smart-start-stage{
 width:100%!important;
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 aspect-ratio:16/9!important;
}
body.smart-timing-active .smart-preview-stage video,
body.smart-timing-active .smart-start-stage video{
 position:absolute;
 inset:0;
 width:100%!important;
 height:100%!important;
 object-fit:cover!important;
}
body.smart-timing-active .smart-run-panel{
 grid-column:1;
 grid-row:2;
}

/* V12.375 · klare Bedienzustände und eindeutige Kamerabeschriftung */
.smart-camera-role{
 position:absolute;
 z-index:6;
 top:6px;
 left:6px;
 display:inline-flex;
 align-items:center;
 min-height:22px;
 padding:3px 8px;
 border-radius:999px;
 background:rgba(8,24,14,.82);
 color:#fff;
 font-size:10px;
 font-weight:950;
 letter-spacing:.08em;
 line-height:1;
 box-shadow:0 2px 8px rgba(0,0,0,.22);
 pointer-events:none;
}
body.smart-timing-active .start-line-overlay span{display:none!important}
body.smart-timing-review nav.karalio-dock,
body.smart-timing-review nav.bottom,
body.smart-timing-review .bottom-nav,
body.smart-timing-review .mobile-nav{display:none!important}
body.smart-timing-review .smart-run-controls,
body.smart-timing-review .camera-attempts-bar,
body.smart-timing-review .camera-next-actions{display:none!important}
body.smart-timing-review .smart-run-panel{justify-content:flex-start!important}
body.smart-timing-review .camera-review{display:grid;gap:8px;border:2px solid #bfe5ca;background:#f5fcf7;padding:10px!important}
body.smart-timing-review .camera-review>div:first-child{display:block;text-align:center}
body.smart-timing-review .camera-review>div:first-child span,
body.smart-timing-review .camera-review>div:first-child b{display:none!important}
body.smart-timing-review .camera-review>div:first-child small{display:block;font-size:12px;font-weight:800;color:#52625a}
body.smart-timing-review .camera-review-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:8px}
body.smart-timing-review .camera-review-actions button{min-height:52px!important;font-size:13px!important}

/* V12.376 · Testkontext, Ablaufminiatur und zwei feste Ergebnisfelder */
.smart-test-overview{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(100px,32%);
 gap:7px;
 align-items:center;
 padding:6px 8px;
 border:1px solid #dce6df;
 border-radius:12px;
 background:#fff;
}
.smart-test-name{display:grid;gap:2px;min-width:0}
.smart-test-name span{font-size:8px;font-weight:900;letter-spacing:.1em;color:#708078}
.smart-test-name b{font-size:13px;line-height:1.15;color:#153b24;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.smart-test-mini-diagram{height:48px;border-radius:8px;background:#f4f8f5;overflow:hidden;display:grid;place-items:center}
.smart-test-mini-diagram svg{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
.smart-result-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.smart-result-slot{min-width:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:1px 6px;padding:7px 9px;border:1px solid #dbe4de;border-radius:12px;background:#fff;color:#657169}
.smart-result-slot span{font-size:9px;font-weight:950;letter-spacing:.06em}
.smart-result-slot b{grid-row:1/3;grid-column:2;font-size:20px;line-height:1;color:#163b25;align-self:center;font-variant-numeric:tabular-nums}
.smart-result-slot small{font-size:9px;font-weight:800}
.smart-result-slot.active{border-color:#79c990;background:#f3fbf5;color:#176b34}
.smart-result-slot.review{border-color:#e5b94c;background:#fff9e9;color:#765613}
.smart-result-slot.done{border-color:#9fd8ae;background:#eaf8ee;color:#176b34}
body.smart-timing-active .smart-timing-wrap{
 grid-template-rows:auto auto auto minmax(0,1fr)!important;
}
body.smart-timing-active .smart-test-overview{grid-column:1;grid-row:2}
body.smart-timing-active .smart-result-slots{grid-column:1;grid-row:3}
body.smart-timing-active .smart-run-panel{grid-column:1;grid-row:4}
body.smart-timing-active .camera-attempts-bar{display:none!important}
@media(max-height:720px){
 body.smart-timing-active .smart-test-overview{padding:4px 6px}
 body.smart-timing-active .smart-test-mini-diagram{height:38px}
 body.smart-timing-active .smart-result-slot{padding:5px 7px}
 body.smart-timing-active .smart-result-slot b{font-size:17px}
}

/* V12.377 · aufgeräumter Einstieg und Kopplungs-Pop-up */
.smart-hub-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.smart-hub-mode{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:6px 8px;border:1px solid #dce6df;border-radius:11px;background:#fff}
.smart-hub-mode span{font-size:8px;font-weight:950;letter-spacing:.08em;color:#6c7b72;white-space:nowrap}
.smart-hub-mode select{min-height:34px;padding:5px 30px 5px 8px;font-size:11px;font-weight:850;background-color:#f4f8f5}
body.smart-timing-active .smart-hub-mode{display:none!important}
body.smart-timing-active .smart-add-device{display:none!important}
.smart-hub-wrap .smart-camera-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:5px;align-items:stretch}
.smart-hub-wrap .smart-device-grid{display:contents}
.smart-hub-wrap .smart-start-camera-panel{min-width:0;padding:4px;gap:3px;border-radius:11px}
.smart-hub-wrap .smart-start-stage{width:100%;height:auto;min-height:0;aspect-ratio:16/9}
.smart-hub-wrap .smart-start-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.smart-hub-wrap .smart-start-setup{grid-template-columns:1fr;gap:4px}
.smart-hub-wrap .smart-start-setup label{display:none}
.smart-hub-wrap .smart-start-setup>button{grid-column:1;min-height:34px;padding:5px;font-size:10px}
.smart-add-device{min-width:0;min-height:100%;border:2px dashed #9eb7a6;border-radius:12px;background:#f6faf7;color:#234b31;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px;cursor:pointer}
.smart-add-device span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e5f5e9;color:#16833b;font-size:30px;font-weight:500;line-height:1}
.smart-add-device b{font-size:12px}
.smart-add-device small{font-size:9px;color:#68766e;text-align:center}
.smart-add-device:active{transform:scale(.985);background:#edf7f0}
.smart-pair-modal[hidden]{display:none!important}
.smart-pair-modal{position:fixed;z-index:100500;inset:0;background:rgba(8,20,12,.64);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}
.smart-pair-dialog{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;border-radius:18px;padding:12px;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.smart-pair-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:2px 2px 10px}
.smart-pair-dialog-head>div{display:grid;gap:2px}
.smart-pair-dialog-head span{font-size:9px;font-weight:950;letter-spacing:.1em;color:#6b786f}
.smart-pair-dialog-head b{font-size:18px;color:#153b24}
.smart-pair-close{width:36px;height:36px;min-height:36px;padding:0!important;border-radius:50%;font-size:24px!important;line-height:1}
.smart-pair-dialog .smart-pair-panel{padding:0;border:0;background:transparent}
.smart-pair-dialog .smart-pair-body{margin:0 0 10px}
.smart-pair-dialog #smartPairDone{margin-top:10px;min-height:48px}
body.smart-pairing-open{overflow:hidden!important}
@media(max-width:620px){
 .smart-pair-modal{padding:10px}
 .smart-pair-dialog{max-height:calc(100dvh - 20px);padding:10px}
 .smart-pair-dialog .smart-pair-body{grid-template-columns:1fr}
}

/* V12.105 · Spieler-Pilot */
.player-profile-reminder{display:flex;gap:16px;align-items:center;justify-content:space-between;border-left:4px solid #d39a20}
.player-profile-reminder>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.player-profile-reminder span{color:var(--muted,#667085);font-size:.92rem;line-height:1.35}
@media(max-width:640px){.player-profile-reminder{align-items:stretch;flex-direction:column}.player-profile-reminder button{width:100%}}

/* ===== V12.107 · vollständige Spielerregistrierung ===== */
.player-registration-page{max-width:900px}
.player-registration-page .registration-card{padding:28px}
.registration-block{margin:18px 0;padding:18px;border:1px solid #e2e7ee;border-radius:16px;background:#fbfcfe}
.registration-block h2{margin:0 0 14px;font-size:17px;color:#0b3678}
.registration-block .registration-label{margin-bottom:0}
.registration-block select,.registration-block input{width:100%;min-height:44px}
.registration-help{margin-top:12px;padding:10px 12px;border-radius:10px;background:#eef5ff;color:#43566f;font-size:12px;line-height:1.45}
.pending-player-profile{margin-top:12px;border:1px solid #dfe5ec;border-radius:13px;background:#fafbfd;overflow:hidden}
.pending-player-profile summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-weight:800;color:#18314f}
.pending-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}
.pending-profile-grid>div{padding:10px;border-radius:10px;background:#fff;border:1px solid #edf0f4;min-width:0}
.pending-profile-grid span,.pending-profile-grid b{display:block}
.pending-profile-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#778397;margin-bottom:3px}
.pending-profile-grid b{font-size:13px;overflow-wrap:anywhere}
.team-registration-entry{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:16px;margin-bottom:14px;border-left:4px solid #0b3678}
.team-registration-entry>div{display:flex;flex-direction:column;gap:4px}.team-registration-entry strong{font-size:16px}.team-registration-entry small{color:#667085}
.pending-player-approval .head{align-items:flex-start}.pending-player-approval .registration-email-state{margin-top:0}
.confirmation-success-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#e4f6e8;color:#177532;font-size:34px;font-weight:900}
.registration-confirmed-card{text-align:center}.registration-confirmed-info{margin:20px 0;padding:16px;border-radius:14px;background:#f1f6fb;text-align:left}.registration-confirmed-info strong,.registration-confirmed-info span{display:block}.registration-confirmed-info span{margin-top:6px;color:#5d6978;line-height:1.5}
@media(max-width:640px){
 .player-registration-page{padding:14px 10px 90px}.player-registration-page .registration-card{padding:18px 14px;border-radius:16px}
 .registration-block{padding:14px;margin:14px 0}.registration-grid{grid-template-columns:1fr}
 .registration-block .span-2{grid-column:auto}.pending-profile-grid{grid-template-columns:1fr}
 .team-registration-entry{align-items:flex-start}.pending-player-approval .head{display:block}.pending-player-approval .registration-email-state{margin-top:10px}
}

/* V12.112 Spieler-Termine: klar klickbare Kacheln + Detailansicht */
.player-event-clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.player-event-clickable:active{transform:scale(.995)}
.player-event-clickable:focus-visible{outline:3px solid #4d8ef7;outline-offset:2px}
.player-event-open-row{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;background:#fff;border-top:1px solid #edf0f3;color:#344054;font-size:12px;font-weight:900}
.player-event-open-row b{font-size:20px;line-height:1}
.player-event-detail-page{padding-bottom:90px}
.player-event-detail-card{overflow:hidden;padding:0!important;border-top:4px solid #157b35!important}
.player-event-detail-card.game{border-top-color:#e0b400!important}
.player-event-detail-card h1{font-size:24px;line-height:1.15;padding:4px 16px 16px;margin:0}
.player-event-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 16px}
.player-event-detail-grid>div{background:#f5f7fa;border-radius:12px;padding:12px;min-width:0}
.player-event-detail-grid span,.player-event-detail-grid strong{display:block}.player-event-detail-grid span{font-size:10px;color:#7b8797;margin-bottom:4px}.player-event-detail-grid strong{font-size:14px;overflow-wrap:anywhere}
.player-rsvp-detail{padding-top:16px!important}
@media(max-width:600px){.player-event-detail-grid{grid-template-columns:1fr}.player-event-detail-card h1{font-size:21px}.player-rsvp-buttons{grid-template-columns:repeat(3,1fr)!important}.player-rsvp-buttons button{font-size:12px;padding:11px 5px}}

/* V12.113 · Athletik, Spielerkalender & Nachweise */
.player-bottom-four{grid-template-columns:repeat(4,1fr)!important}
.player-bottom-four button{min-width:0;font-size:11px;padding:9px 4px!important}
.player-athletic-home-tile{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;text-align:left;gap:12px;padding:13px 15px!important;margin:12px 0;border-left:4px solid #6b49d8!important}
.player-athletic-home-tile strong,.player-athletic-home-tile small{display:block}.player-athletic-home-tile strong{font-size:15px}.player-athletic-home-tile small{color:#748094;margin-top:2px}.player-athletic-icon{width:38px;height:38px;border-radius:12px;background:#f1edff;display:grid;place-items:center;font-size:20px}
.player-next-events{grid-template-columns:1fr!important;gap:8px!important}.player-dashboard-card{border-top:0!important;border-left:4px solid #157b35!important;border-radius:13px!important}.player-dashboard-card.game{border-left-color:#e0b400!important}.player-event-head{padding:9px 12px 5px!important}.player-dashboard-card h2{font-size:16px!important;margin:2px 0 8px!important;padding:0 12px!important}.player-game-info,.player-training-location{padding-left:12px!important;padding-right:12px!important}.player-event-open-row{padding:7px 12px!important}.player-rsvp-area{margin:0!important;border-radius:0!important;padding:9px 12px!important}.player-rsvp-buttons button{padding:9px 5px!important}
.player-calendar-head h1{margin:4px 0}.player-calendar-head p{margin-top:4px;color:#758194}.player-calendar-list{display:grid;gap:7px}.player-calendar-row{width:100%;border:1px solid #e1e6ec;background:#fff;border-radius:13px;padding:10px 11px;display:flex;align-items:center;gap:10px;text-align:left}.player-calendar-row.athletic{border-left:4px solid #6b49d8}.player-calendar-date{width:52px;flex:0 0 52px}.player-calendar-date b,.player-calendar-date span{display:block}.player-calendar-date b{font-size:14px}.player-calendar-date span{font-size:10px;color:#7b8797;margin-top:2px}.player-calendar-row .grow strong{font-size:14px}.player-calendar-row .badge{white-space:nowrap}
.athletic-task-list,.athletic-admin-list{display:grid;gap:8px}.athletic-task-card{width:100%;display:grid;grid-template-columns:78px 1fr auto;gap:12px;align-items:center;text-align:left;padding:12px!important;border-left:4px solid #6b49d8!important}.athletic-task-date{font-size:12px;font-weight:800;color:#596579}.athletic-task-main strong,.athletic-task-main span{display:block}.athletic-task-main strong{font-size:15px}.athletic-task-main span{font-size:12px;color:#748094;margin-top:3px}.athletic-task-meta{display:flex;align-items:center;gap:6px}.badge.blue{background:#e9f3ff;color:#1765a6}
.athletic-detail-card{border-top:4px solid #6b49d8!important}.athletic-detail-card h1{margin:5px 0 12px}.athletic-prescription{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.athletic-prescription strong{font-size:18px}.athletic-prescription span{font-size:12px;background:#f2f4f7;border-radius:999px;padding:5px 8px}.athletic-trainer-note{background:#f7f3ff;border:1px solid #e3dbff;border-radius:12px;padding:12px;display:grid;gap:4px}.athletic-upload-actions{display:flex;gap:8px;flex-wrap:wrap}.athletic-file-button{cursor:pointer}.athletic-proof-list{display:grid;gap:8px;margin-top:12px}.athletic-proof-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0f4;padding-top:10px}.athletic-proof-row strong,.athletic-proof-row span,.athletic-proof-row small{display:block}.athletic-proof-row span,.athletic-proof-row small{font-size:11px;color:#748094;margin-top:2px}
.athletic-assign-card{border-top:4px solid #6b49d8!important}.ath-player-select-head{display:flex;align-items:center;justify-content:space-between;margin:12px 0 8px}.ath-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.ath-player-grid label{background:#f6f8fa;border:1px solid #e3e7ec;border-radius:10px;padding:9px;font-size:12px}.athletic-admin-row{display:flex;align-items:center;gap:10px;padding:11px!important}.athletic-admin-proofs{display:flex;gap:5px;flex-wrap:wrap}.athletic-player-comment{font-size:11px;margin-top:5px;color:#5d6979;background:#f6f8fa;padding:5px 7px;border-radius:7px}.athletic-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.athletic-library-card{background:#fff;border:1px solid #e1e6ec;border-radius:13px;padding:12px}.athletic-library-card strong,.athletic-library-card small{display:block}.athletic-library-card small{color:#748094;margin-top:3px}.athletic-library-card details{margin-top:9px;font-size:12px}.athletic-entry{border-left:4px solid #6b49d8!important}
@media(max-width:700px){.ath-player-grid{grid-template-columns:1fr 1fr}.athletic-library-grid{grid-template-columns:1fr}.athletic-admin-row{align-items:flex-start;flex-wrap:wrap}.athletic-task-card{grid-template-columns:64px 1fr}.athletic-task-meta{grid-column:2;justify-content:flex-start}.player-calendar-row .badge{font-size:9px}.player-calendar-row{gap:7px}}

/* V12.117 Athletik gespeicherte Rueckmeldung */
.athletic-saved-entry{margin-top:12px;padding:11px 12px;border:1px solid #d8eadb;background:#f3faf4;border-radius:11px}.athletic-saved-head{font-size:11px;font-weight:800;color:#27733b}.athletic-saved-comment{margin-top:6px;font-size:13px;line-height:1.45;color:#26313d;white-space:pre-wrap}.athletic-saved-entry+.athletic-saved-entry{margin-top:7px}

/* V12.118 Orientierung & Spielerakte */
.context-header{margin:4px 0 10px;padding:2px 2px 8px}.context-kicker{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#66727f}.context-title{font-size:24px;font-weight:900;line-height:1.1;color:#16212c;margin-top:3px}.context-subtitle{font-size:12px;color:#71808e;margin-top:3px}.record-tabs{display:flex;gap:6px;overflow-x:auto;position:sticky;top:0;z-index:15;background:rgba(246,248,250,.96);padding:7px 0 10px;margin-bottom:10px;scrollbar-width:none}.record-tabs::-webkit-scrollbar{display:none}.record-tab{white-space:nowrap;border:1px solid #d9e0e6;background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;color:#53606c}.record-tab.active{background:#16212c;color:#fff;border-color:#16212c}.record-tab span{opacity:.72;margin-left:3px}.record-section{display:none}.record-section.active{display:block}.ath-history-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}.ath-history-summary>div{background:#fff;border:1px solid #e0e5e9;border-radius:11px;padding:10px 5px;text-align:center}.ath-history-summary strong{display:block;font-size:18px}.ath-history-summary span{font-size:9px;color:#6e7984;text-transform:uppercase;font-weight:800}.ath-history-list{display:grid;gap:8px}.ath-history-item{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid #edf0f2}.ath-history-item:last-child{border-bottom:0}.ath-history-date{font-size:11px;font-weight:800;min-width:66px;color:#56636f}.ath-history-comment{font-size:12px;margin-top:5px;padding:7px 9px;background:#f5f7f8;border-radius:8px}.ath-history-proofs{font-size:11px;font-weight:700;color:#27733b;margin-top:5px}@media(max-width:560px){.context-title{font-size:21px}.record-tabs{margin-left:-2px;margin-right:-2px}.ath-history-summary{gap:5px}.ath-history-summary>div{padding:8px 2px}.ath-history-summary strong{font-size:16px}.ath-history-summary span{font-size:8px}}


/* =========================================================
   V12.119 — KARALIO UI SYSTEM / APP-WIDE ORIENTATION
   Brand: KARA blue, LIO green. Mobile-first.
   ========================================================= */
:root{
 --kl-blue:#123f86;--kl-blue-2:#1858b8;--kl-blue-soft:#edf4ff;
 --kl-green:#31b94b;--kl-green-dark:#218b38;--kl-green-soft:#eef9f0;
 --kl-ink:#17263b;--kl-muted:#667589;--kl-line:#dfe6ee;--kl-bg:#f5f7fa;
 --kl-card:#fff;--kl-warn:#e99a20;--kl-danger:#df4545;
 --kl-shadow:0 5px 18px rgba(19,49,84,.07);--kl-radius:15px;
}
html,body{background:var(--kl-bg);color:var(--kl-ink)}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
/* Header: brand first, not decorative */
.topbar,.app-header,header.header{border-bottom:1px solid var(--kl-line);box-shadow:0 2px 10px rgba(17,52,91,.05);background:#fff}
.topbar img,.app-header img,header.header img{object-fit:contain}
/* Cards are compact and information-led */
.card{border:1px solid var(--kl-line);border-radius:var(--kl-radius);box-shadow:var(--kl-shadow);background:var(--kl-card)}
.card h2,.card h3{color:var(--kl-ink)}
.sub,.subtitle,.muted{color:var(--kl-muted)}
/* Primary = Karalio blue; green is completion/action/status */
button.primary,.primary{background:var(--kl-blue);border-color:var(--kl-blue);color:#fff;border-radius:11px;font-weight:800}
button.primary:hover{background:#0d3471}
button.secondary,.secondary{background:#fff;color:var(--kl-blue);border:1px solid #cbd9ea;border-radius:11px;font-weight:750}
.badge.green{background:var(--kl-green-soft);color:var(--kl-green-dark);border-color:#cfead4}
.badge.amber{background:#fff7e8;color:#9a6513}.badge.red{background:#fff0f0;color:#ad3030}
/* Context and section identity */
.context-header{border-left:4px solid var(--kl-blue);padding:7px 10px 8px;margin:3px 0 10px;background:linear-gradient(90deg,var(--kl-blue-soft),rgba(237,244,255,0));border-radius:8px}
.context-kicker{color:var(--kl-blue)!important}.context-title{color:var(--kl-ink)!important}
.record-tabs{top:0;background:rgba(245,247,250,.97)}
.record-tab{border-color:#d8e1eb;color:#526276}.record-tab.active{background:var(--kl-blue);border-color:var(--kl-blue);color:#fff}
/* Bottom nav: visible active location */
.bottom-nav,.mobile-nav,nav.bottom{background:#fff!important;border-top:1px solid var(--kl-line)!important;box-shadow:0 -5px 20px rgba(18,50,85,.07)!important}
.bottom-nav button,.bottom-nav a,.mobile-nav button,.mobile-nav a,nav.bottom button,nav.bottom a{color:#65758a}
.bottom-nav .active,.mobile-nav .active,nav.bottom .active,[data-view].active{color:var(--kl-blue)!important;font-weight:850}
/* Calendar / events / lists */
.row,.status{border-color:#e8edf2}
.event-card,.appointment-card,.calendar-card{border-left:4px solid var(--kl-blue)}
.athletic-card,[data-athletic]{border-left-color:var(--kl-green)}
/* Forms */
input,select,textarea{border-color:#d7e0e9!important;border-radius:10px!important;background:#fff;color:var(--kl-ink)}
input:focus,select:focus,textarea:focus{border-color:var(--kl-blue-2)!important;box-shadow:0 0 0 3px rgba(24,88,184,.10);outline:none}
label{color:#405168;font-weight:650}
/* Player athletics */
.ath-history-summary>div{box-shadow:none}.ath-history-summary>div:nth-child(2),.ath-history-summary>div:nth-child(3),.ath-history-summary>div:nth-child(4){border-top:3px solid var(--kl-green)}
.ath-history-summary>div:first-child{border-top:3px solid var(--kl-blue)}
/* Global page titles created by existing section helper */
.page-title,.section-title,.view-title{color:var(--kl-ink)}
/* Keep destructive actions visually distinct */
.danger-button,button.danger{background:#fff;color:var(--kl-danger);border:1px solid #f0caca;border-radius:11px}
/* Desktop keeps content focused instead of stretched edge-to-edge */
@media(min-width:900px){main,.main-content,.content-wrap{max-width:1180px;margin-left:auto;margin-right:auto}}
/* MOBILE IS THE REFERENCE */
@media(max-width:640px){
 body{background:#f7f9fb}
 .card{border-radius:13px;box-shadow:0 3px 12px rgba(19,49,84,.055)}
 .context-header{margin-top:1px;padding:6px 9px}.context-title{font-size:20px!important}
 .record-tabs{padding:5px 0 8px;gap:5px}.record-tab{padding:7px 10px;font-size:11px}
 .player-edit-toolbar{gap:7px}.player-top-actions{gap:5px}
 .ath-history-item{padding:9px 0}.ath-history-date{min-width:58px}
 button{min-height:40px}
}


/* =========================================================
   V12.120 — PREMIUM CLUB
   Desktop follows the mobile visual language.
   ========================================================= */
:root{
 --kl-blue:#071a33;
 --kl-blue-2:#0d2d57;
 --kl-blue-soft:#eef3f8;
 --kl-green:#2f7d43;
 --kl-green-dark:#225f33;
 --kl-green-soft:#eef6f0;
 --kl-ink:#142033;
 --kl-muted:#6d7887;
 --kl-line:#dfe4ea;
 --kl-bg:#f4f6f8;
 --kl-card:#ffffff;
 --kl-warn:#b7852e;
 --kl-danger:#c64b4b;
 --kl-shadow:0 4px 16px rgba(7,26,51,.055);
 --kl-radius:14px;
}

html,body{
 background:var(--kl-bg)!important;
 color:var(--kl-ink)!important;
}

/* Premium dark brand header */
.topbar,.app-header,header.header{
 background:linear-gradient(180deg,#0a1f3b 0%,#071a33 100%)!important;
 border-bottom:0!important;
 box-shadow:0 4px 14px rgba(4,17,34,.16)!important;
 color:#fff!important;
}
.topbar *,.app-header *,header.header *{color:#fff}
.topbar .sub,.app-header .sub,header.header .sub{color:rgba(255,255,255,.72)!important}

/* Brand logo handling: preserve original logo asset; never recolor the image itself */
.topbar img,.app-header img,header.header img{
 filter:none!important;
 background:transparent!important;
}

/* Premium card language */
.card{
 border:1px solid #e3e7ec!important;
 box-shadow:var(--kl-shadow)!important;
 border-radius:14px!important;
 background:#fff!important;
}
.card:hover{box-shadow:0 6px 22px rgba(7,26,51,.07)!important}

/* Dark blue navigation, muted green success */
button.primary,.primary{
 background:var(--kl-blue)!important;
 border-color:var(--kl-blue)!important;
 color:#fff!important;
}
button.primary:hover{background:#0d2d57!important}
button.secondary,.secondary{
 color:var(--kl-blue)!important;
 border-color:#cbd5e0!important;
 background:#fff!important;
}
.badge.green{
 background:var(--kl-green-soft)!important;
 color:var(--kl-green-dark)!important;
 border-color:#d6e8da!important;
}

/* Context */
.context-header{
 border-left:4px solid var(--kl-blue)!important;
 background:linear-gradient(90deg,#eef3f8 0%,rgba(238,243,248,0) 100%)!important;
}
.context-kicker{color:#385474!important}
.record-tab.active{
 background:var(--kl-blue)!important;
 border-color:var(--kl-blue)!important;
}

/* Athletic and positive accents are softer, premium green */
.athletic-card,[data-athletic]{
 border-left-color:var(--kl-green)!important;
}
.ath-history-summary>div:nth-child(2),
.ath-history-summary>div:nth-child(3),
.ath-history-summary>div:nth-child(4){
 border-top-color:var(--kl-green)!important;
}

/* Bottom navigation: same on desktop and mobile */
.bottom-nav,.mobile-nav,nav.bottom{
 background:#071a33!important;
 color:#fff!important;
 border-top:0!important;
 box-shadow:0 -5px 18px rgba(4,17,34,.14)!important;
}
.bottom-nav button,.bottom-nav a,
.mobile-nav button,.mobile-nav a,
nav.bottom button,nav.bottom a{
 color:rgba(255,255,255,.68)!important;
}
.bottom-nav .active,.mobile-nav .active,nav.bottom .active,[data-view].active{
 color:#8fcf98!important;
}

/* Inputs */
input,select,textarea{
 background:#fff!important;
 border:1px solid #d8dee6!important;
 color:var(--kl-ink)!important;
}
input:focus,select:focus,textarea:focus{
 border-color:#395b82!important;
 box-shadow:0 0 0 3px rgba(57,91,130,.10)!important;
}

/* Desktop should feel like a scaled mobile app, not a separate admin portal */
@media(min-width:900px){
 body{
   background:#eef1f4!important;
 }
 main,.main-content,.content-wrap{
   max-width:980px!important;
   margin:0 auto!important;
   padding-left:18px!important;
   padding-right:18px!important;
 }
 .page,.screen,.view{
   max-width:980px!important;
   margin-left:auto!important;
   margin-right:auto!important;
 }
 .card{
   border-radius:14px!important;
 }
 .two{
   gap:12px!important;
 }
 .player-edit-grid{
   gap:12px!important;
 }
 .record-tabs{
   justify-content:flex-start!important;
 }
}

/* Keep mobile as the visual reference */
@media(max-width:640px){
 .topbar,.app-header,header.header{
   min-height:58px!important;
 }
 .card{border-radius:13px!important}
 .context-header{border-radius:8px!important}
}

/* V12.121 — Spielertermine als Liste / Trainingsinhalte privat */
.player-next-events-list{padding:0!important;overflow:hidden}
.player-dashboard-event-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto 16px;gap:9px;align-items:center;padding:10px 12px;border-bottom:1px solid #e8edf1;cursor:pointer;background:#fff}
.player-dashboard-event-row:last-child{border-bottom:0}
.player-dashboard-event-row:hover{background:#f8fafb}
.player-dashboard-event-row.training{border-left:3px solid #48647f}
.player-dashboard-event-row.game{border-left:3px solid #071a33}
.player-dashboard-event-date{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}
.player-dashboard-event-date strong{font-size:13px;color:#142033}
.player-dashboard-event-date span{font-size:11px;color:#6d7887;margin-top:4px}
.player-dashboard-event-main{min-width:0;display:flex;flex-direction:column}
.player-dashboard-event-main .player-dashboard-event-kind{font-size:8px;letter-spacing:.07em;font-weight:850;color:#607086}
.player-dashboard-event-main strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#142033}
.player-dashboard-event-main small{font-size:10px;color:#788493;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.player-dashboard-event-row .badge{font-size:9px;padding:4px 7px;white-space:nowrap}
.player-training-private-note{margin:10px 0 13px;padding:10px 11px;border-radius:10px;background:#f1f4f7;color:#5c6875;font-size:11px;line-height:1.4;border:1px solid #e2e7ec}
@media(max-width:480px){
 .player-dashboard-event-row{grid-template-columns:50px minmax(0,1fr) auto 12px;padding:9px 9px;gap:7px}
 .player-dashboard-event-row .badge{font-size:8px;padding:3px 5px}
 .player-dashboard-event-main strong{font-size:12px}
}

/* V12.122 — Spiele im Spieler-Terminbereich grau hinterlegt */
.player-dashboard-event-row.game{
 background:#edf0f3!important;
 border-left-color:#7a8591!important;
}
.player-dashboard-event-row.game:hover{background:#e6eaee!important}
.player-calendar-row.game,
.player-calendar-row[data-event-kind="game"]{
 background:#edf0f3!important;
}

/* V12.123 — Spiel-RSVP + Profilbild */
.account-avatar-wrap{margin-left:auto!important;position:relative;flex:0 0 auto}
.account-avatar{overflow:hidden;display:grid;place-items:center}
.account-avatar.has-photo{padding:0!important;background:#fff!important}
.account-avatar.has-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.player-photo-preview{width:72px;height:72px;min-width:72px;border-radius:50%;background:#0a1f3b;color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;overflow:hidden;border:3px solid #fff;box-shadow:0 0 0 1px #dbe2e9}
.player-photo-preview img{width:100%;height:100%;object-fit:cover}
.player-photo-upload{display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;margin-top:8px}
.player-photo-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.player-photo-card .head,.player-photo-admin-card .head{align-items:center}
@media(max-width:640px){.account-avatar-wrap{margin-left:auto!important}.player-photo-preview{width:64px;height:64px;min-width:64px}.player-photo-admin-actions>*{flex:1 1 auto}}

/* V12.149 · ruhiger Kopfbereich, mittige Kontextwahl */
.karalio-top .topin{position:relative!important}
.karalio-top .team-switch{
 position:absolute!important;
 left:50%!important;
 top:50%!important;
 transform:translate(-50%,-50%)!important;
 width:min(360px,34vw)!important;
 max-width:360px!important;
 text-align:center!important;
 text-align-last:center!important;
}
.karalio-page-context .section-club-logo{display:none!important}
.account-menu-section{
 margin-top:22px;padding:18px 20px;border:1px solid #dfe6ee;border-radius:18px;
 background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px
}
.account-menu-section>div:first-child{display:flex;flex-direction:column;gap:3px}
.account-menu-section>div:first-child span{color:var(--karalio-muted);font-size:13px}
.account-menu-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){
 .karalio-top .team-switch{width:min(48vw,260px)!important;max-width:48vw!important}
 .account-menu-section{align-items:stretch;flex-direction:column}
 .account-menu-actions>*{flex:1 1 100%}
}

/* V12.124 — eindeutige Teilnahmeauswahl bei Spielen */
.player-attendance-panel{
  margin:14px!important;
  border:1px solid #d9e0e7!important;
  border-radius:13px!important;
  background:#f7f8fa!important;
  padding:13px!important;
}
.player-attendance-panel .player-rsvp-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:11px!important;
}
.player-attendance-panel .player-rsvp-title>div{display:flex;flex-direction:column;gap:2px}
.attendance-kicker{font-size:9px!important;letter-spacing:.08em;color:#6c7886!important}
#playerAttendanceCurrent{font-size:15px;color:#142033}
.player-attendance-buttons{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
.player-attendance-buttons button{
  min-height:52px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  border:1px solid #ccd4dd!important;
  background:#fff!important;
  color:#263445!important;
  border-radius:11px!important;
  font-size:18px!important;
  font-weight:900!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  opacity:1!important;
}
.player-attendance-buttons button span{font-size:11px;font-weight:800}
.player-attendance-buttons button.selected.accepted{background:#2f7d43!important;border-color:#2f7d43!important;color:#fff!important}
.player-attendance-buttons button.selected.maybe{background:#d7ad3f!important;border-color:#d7ad3f!important;color:#2b2414!important}
.player-attendance-buttons button.selected.declined{background:#c64b4b!important;border-color:#c64b4b!important;color:#fff!important}
.player-attendance-buttons button:disabled{opacity:.55!important}
.player-attendance-save-state{min-height:19px;margin-top:8px;text-align:center;font-size:11px;font-weight:800}
.attendance-saving{color:#667589}.attendance-saved{color:#2f7d43}.attendance-error{color:#c64b4b}
@media(max-width:480px){
 .player-attendance-panel{margin:10px!important;padding:11px!important}
 .player-attendance-buttons button{min-height:50px!important}
}

/* V12.125 — sichtbares Öffnen + Sofort-RSVP */
.player-dashboard-event-wrap{border-bottom:1px solid #e8edf1;background:#fff}
.player-dashboard-event-wrap:last-child{border-bottom:0}
.player-dashboard-event-wrap.game{background:#edf0f3}
.player-dashboard-event-wrap.game .player-dashboard-event-row{background:transparent!important}
.player-dashboard-event-row{border-bottom:0!important;grid-template-columns:58px minmax(0,1fr) auto 34px!important}
.player-event-main-button{border:0!important;background:transparent!important;text-align:left!important;padding:0!important;min-height:0!important;color:inherit!important}
.player-event-open-button{width:32px;height:32px;min-height:32px!important;border-radius:50%!important;border:1px solid #ccd4dc!important;background:#fff!important;color:#071a33!important;font-size:22px!important;line-height:1!important;padding:0!important;display:grid!important;place-items:center!important}
.player-quick-rsvp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:6px;align-items:center;padding:0 10px 9px 68px}
.player-quick-rsvp button{min-height:34px!important;border:1px solid #d2d8df!important;background:#fff!important;border-radius:9px!important;font-size:10px!important;font-weight:800!important;color:#344253!important;padding:5px!important}
.player-quick-rsvp button.selected.accepted{background:#2f7d43!important;border-color:#2f7d43!important;color:#fff!important}
.player-quick-rsvp button.selected.maybe{background:#d7ad3f!important;border-color:#d7ad3f!important;color:#2b2414!important}
.player-quick-rsvp button.selected.declined{background:#c64b4b!important;border-color:#c64b4b!important;color:#fff!important}
.quick-rsvp-state{font-size:9px;font-weight:800;min-width:88px;color:#6d7887;text-align:right}
.quick-rsvp-state.saved{color:#2f7d43}.quick-rsvp-state.error{color:#c64b4b}
@media(max-width:520px){
 .player-dashboard-event-row{grid-template-columns:50px minmax(0,1fr) auto 30px!important}
 .player-quick-rsvp{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 8px 9px 58px}
 .quick-rsvp-state{grid-column:1/-1;text-align:left;min-width:0;padding-top:1px}
 .player-event-open-button{width:28px;height:28px;min-height:28px!important}
}

/* V12.126 — kompakte Terminliste / Desktop wie Mobile */
.player-next-events-list{
  padding:0!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
.player-dashboard-list-row{
  width:100%!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) auto 20px!important;
  gap:10px!important;
  align-items:center!important;
  min-height:62px!important;
  height:auto!important;
  padding:9px 12px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #e5e9ee!important;
  border-radius:0!important;
  background:#fff!important;
  color:#142033!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.player-dashboard-list-row:last-child{border-bottom:0!important}
.player-dashboard-list-row.game{background:#edf0f3!important}
.player-dashboard-list-row:hover{background:#f7f9fb!important}
.player-dashboard-list-row.game:hover{background:#e7ebef!important}
.player-dashboard-list-date{display:flex;flex-direction:column;line-height:1.05}
.player-dashboard-list-date strong{font-size:13px!important}
.player-dashboard-list-date span{font-size:11px!important;color:#707d8b!important;margin-top:4px}
.player-dashboard-list-main{display:flex;flex-direction:column;min-width:0}
.player-dashboard-list-main>span{font-size:8px!important;letter-spacing:.08em!important;font-weight:900!important;color:#607086!important}
.player-dashboard-list-main strong{font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.player-dashboard-list-main small{font-size:10px!important;color:#788493!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin-top:2px}
.player-dashboard-list-row .badge{font-size:9px!important;padding:4px 7px!important;white-space:nowrap!important}
.player-dashboard-list-arrow{font-size:20px!important;color:#6b7785!important;line-height:1!important}

/* Athletik-Startkachel kompakter */
.player-athletic-home-tile{
  min-height:72px!important;
  padding:10px 14px!important;
  margin:10px 0 16px!important;
  border-radius:14px!important;
}
.player-athletic-home-tile strong{font-size:14px!important}
.player-athletic-home-tile small{font-size:11px!important}

/* Avatar immer oben rechts */
.karalio-top .topin{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
}
.karalio-top .karalio-brand{min-width:0!important}
.karalio-top .account-avatar-wrap{
  grid-column:2!important;
  justify-self:end!important;
  margin-left:16px!important;
}
.karalio-top .brand-context{min-width:0!important}

/* Bottom nav auf Desktop sauber am unteren Rand, nicht als riesiger schwebender Balken */
.player-bottom{
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(980px,calc(100% - 32px))!important;
  max-width:980px!important;
  border-radius:14px 14px 0 0!important;
  bottom:0!important;
}
@media(min-width:900px){
  .player-page{
    max-width:980px!important;
    margin:0 auto!important;
    padding-bottom:96px!important;
  }
  .player-events-heading{
    align-items:end!important;
  }
}
@media(max-width:640px){
  .player-dashboard-list-row{
    grid-template-columns:52px minmax(0,1fr) auto 16px!important;
    min-height:58px!important;
    padding:8px 9px!important;
    gap:7px!important;
  }
  .player-dashboard-list-row .badge{font-size:8px!important;padding:3px 5px!important}
  .player-dashboard-list-main strong{font-size:12px!important}
  .player-athletic-home-tile{min-height:68px!important}
  .player-bottom{width:100%!important;border-radius:0!important}
}

/* V12.127 — Desktop-Spielzeile an Training angeglichen */
.player-dashboard-list-item{
  border-bottom:1px solid #e5e9ee!important;
  background:#fff!important;
}
.player-dashboard-list-item:last-child{border-bottom:0!important}
.player-dashboard-list-item.game{
  background:#edf0f3!important;
}
.player-dashboard-list-item .player-dashboard-list-row{
  border-bottom:0!important;
  background:transparent!important;
}
.player-dashboard-list-item.game .player-dashboard-list-row{
  background:transparent!important;
}
.player-dashboard-rsvp-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;
  gap:7px!important;
  align-items:center!important;
  padding:0 12px 10px 74px!important;
}
.player-dashboard-rsvp-row button{
  min-height:38px!important;
  border:1px solid #d2d9e1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#314154!important;
  font-size:11px!important;
  font-weight:850!important;
  padding:7px 8px!important;
}
.player-dashboard-rsvp-row button.selected.accepted{
  background:#2f7d43!important;
  border-color:#2f7d43!important;
  color:#fff!important;
}
.player-dashboard-rsvp-row button.selected.maybe{
  background:#d7ad3f!important;
  border-color:#d7ad3f!important;
  color:#2b2414!important;
}
.player-dashboard-rsvp-row button.selected.declined{
  background:#c64b4b!important;
  border-color:#c64b4b!important;
  color:#fff!important;
}
.player-dashboard-rsvp-state{
  min-width:112px!important;
  font-size:9px!important;
  font-weight:800!important;
  color:#667589!important;
  text-align:right!important;
}
.player-dashboard-rsvp-state.error{color:#c64b4b!important}

/* Desktop: Spiel volle Breite und identische Ausrichtung */
@media(min-width:900px){
  .player-dashboard-list-row{
    grid-template-columns:64px minmax(0,1fr) 90px 28px!important;
    min-height:62px!important;
  }
  .player-dashboard-list-item.game{
    border-radius:0!important;
  }
  .player-dashboard-rsvp-row{
    padding-left:74px!important;
    padding-right:12px!important;
  }
}

/* Mobile bleibt kompakt, Buttons darunter */
@media(max-width:640px){
  .player-dashboard-rsvp-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding:0 9px 9px 61px!important;
    gap:6px!important;
  }
  .player-dashboard-rsvp-state{
    grid-column:1/-1!important;
    text-align:left!important;
    min-width:0!important;
  }
}

/* V12.128 — Spiel-RSVP exakt wie Training unten in der Kachel */
.player-dashboard-list-item.game{display:block!important;}
.player-dashboard-list-item.game .player-dashboard-list-row{width:100%!important;}
.player-dashboard-list-item.game .player-dashboard-rsvp-row{
 position:static!important;width:auto!important;display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;
 padding:0 12px 10px 74px!important;margin:0!important;align-items:stretch!important;
}
.player-dashboard-list-item.game .player-dashboard-rsvp-row button{
 width:100%!important;min-width:0!important;min-height:38px!important;margin:0!important;
 padding:7px 8px!important;display:flex!important;align-items:center!important;
 justify-content:center!important;white-space:nowrap!important;
}
.player-dashboard-list-item.game .player-dashboard-rsvp-state{
 grid-column:1/-1!important;width:100%!important;min-width:0!important;text-align:left!important;margin-top:0!important;
}
@media(min-width:900px){
 .player-dashboard-list-item.game .player-dashboard-rsvp-row{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;padding-left:74px!important;padding-right:12px!important;
 }
}
@media(max-width:640px){
 .player-dashboard-list-item.game .player-dashboard-rsvp-row{padding-left:61px!important;padding-right:9px!important;}
}

/* V12.129 — SPIEL = exakt Trainingslayout, nur farblich unterschieden */
.player-dashboard-list-item.training,
.player-dashboard-list-item.game{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid #e5e9ee!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.player-dashboard-list-item.training{background:#fff!important}
.player-dashboard-list-item.game{background:#eef1f4!important}

.player-dashboard-list-item.training .player-dashboard-list-row,
.player-dashboard-list-item.game .player-dashboard-list-row{
  display:grid!important;
  width:100%!important;
  grid-template-columns:64px minmax(0,1fr) 90px 28px!important;
  gap:10px!important;
  align-items:center!important;
  min-height:62px!important;
  height:auto!important;
  margin:0!important;
  padding:9px 12px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.player-dashboard-list-item.training .player-dashboard-list-main,
.player-dashboard-list-item.game .player-dashboard-list-main{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  padding-left:10px!important;
  border-left:3px solid #2f8a49!important;
}
.player-dashboard-list-item.game .player-dashboard-list-main{
  border-left-color:#68798d!important;
}
.player-dashboard-list-item.training .player-dashboard-rsvp-row,
.player-dashboard-list-item.game .player-dashboard-rsvp-row{
  position:static!important;
  display:grid!important;
  width:100%!important;
  box-sizing:border-box!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  align-items:stretch!important;
  margin:0!important;
  padding:0 12px 10px 74px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.player-dashboard-list-item.training .player-dashboard-rsvp-row button,
.player-dashboard-list-item.game .player-dashboard-rsvp-row button{
  position:static!important;
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  height:38px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:7px 8px!important;
  border:1px solid #d2d9e1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#314154!important;
  font-size:11px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.player-dashboard-list-item.training .player-dashboard-rsvp-row button.selected.accepted,
.player-dashboard-list-item.game .player-dashboard-rsvp-row button.selected.accepted{
  background:#2f7d43!important;border-color:#2f7d43!important;color:#fff!important;
}
.player-dashboard-list-item.training .player-dashboard-rsvp-row button.selected.maybe,
.player-dashboard-list-item.game .player-dashboard-rsvp-row button.selected.maybe{
  background:#d7ad3f!important;border-color:#d7ad3f!important;color:#2b2414!important;
}
.player-dashboard-list-item.training .player-dashboard-rsvp-row button.selected.declined,
.player-dashboard-list-item.game .player-dashboard-rsvp-row button.selected.declined{
  background:#c64b4b!important;border-color:#c64b4b!important;color:#fff!important;
}
.player-dashboard-list-item.training .player-dashboard-rsvp-state,
.player-dashboard-list-item.game .player-dashboard-rsvp-state{
  display:none!important;
}
@media(max-width:640px){
 .player-dashboard-list-item.training .player-dashboard-list-row,
 .player-dashboard-list-item.game .player-dashboard-list-row{
   grid-template-columns:52px minmax(0,1fr) auto 18px!important;
   gap:7px!important;padding:8px 9px!important;min-height:58px!important;
 }
 .player-dashboard-list-item.training .player-dashboard-rsvp-row,
 .player-dashboard-list-item.game .player-dashboard-rsvp-row{
   padding:0 9px 9px 61px!important;gap:6px!important;
 }
}

/* V12.130 — Mobile Start + Termin-Detail konsequent kompakt */
.player-home-compact{padding-top:16px!important}
.player-home-heading{
 display:flex!important;align-items:flex-end!important;justify-content:space-between!important;
 gap:12px!important;margin:0 0 12px!important;padding:0!important
}
.player-home-heading .eyebrow{font-size:10px!important}
.player-home-heading h1{font-size:26px!important;line-height:1!important;margin:4px 0 0!important;color:#0b3474!important}
.player-home-open{display:flex!important;flex-direction:column!important;align-items:flex-end!important;color:#687589!important}
.player-home-open span{font-size:9px!important}.player-home-open strong{font-size:22px!important;color:#9b7813!important}
.player-profile-reminder-compact{
 display:flex!important;justify-content:space-between!important;align-items:center!important;
 padding:9px 12px!important;margin-bottom:10px!important;border:1px solid #e2e7ec!important;border-radius:10px!important;background:#fff!important;
 font-size:11px!important;font-weight:800!important
}
.player-home-compact .player-athletic-home-tile{margin-top:0!important;margin-bottom:14px!important}
.player-home-compact .player-events-heading{margin-top:4px!important}
.player-home-compact .player-events-heading h2{font-size:22px!important;margin:0!important}

/* Event detail must size to content, never to viewport */
.player-event-detail-page{
 padding-top:12px!important;
 min-height:0!important;
}
.player-event-detail-page .player-profile-back{
 width:42px!important;height:42px!important;min-height:42px!important;margin:0 0 10px!important;padding:0!important
}
.player-event-detail-card.player-event-detail-compact{
 display:block!important;
 min-height:0!important;height:auto!important;
 margin:0!important;padding:16px!important;
 border-radius:14px!important;
 overflow:visible!important;
}
.player-event-detail-card.player-event-detail-compact.game{background:#eef1f4!important;border-top:3px solid #68798d!important}
.player-event-detail-card.player-event-detail-compact.training{background:#fff!important;border-top:3px solid #2f8a49!important}
.player-event-detail-compact .player-event-head{
 display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;
 margin:0 0 10px!important;font-size:11px!important
}
.player-event-detail-compact h1{
 font-size:24px!important;line-height:1.08!important;margin:0 0 14px!important;max-width:none!important
}
.player-event-detail-compact .player-event-detail-grid{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
 margin:0 0 12px!important
}
.player-event-detail-compact .player-event-detail-grid>div{
 min-height:0!important;padding:10px!important;border-radius:9px!important;background:rgba(255,255,255,.72)!important
}
.player-event-detail-compact .player-event-detail-grid span{font-size:9px!important}
.player-event-detail-compact .player-event-detail-grid strong{font-size:12px!important}
.player-event-detail-compact .player-attendance-panel{
 margin:0!important;padding:11px!important;background:#fff!important
}
.player-event-detail-compact .player-attendance-buttons button{min-height:46px!important}

/* kill old mobile rules that made cards gigantic / off-canvas */
@media(max-width:640px){
 .player-page{width:auto!important;max-width:none!important;margin:0!important;padding-left:14px!important;padding-right:14px!important}
 .player-home-compact{padding-top:12px!important}
 .player-home-heading h1{font-size:24px!important}
 .player-home-open span{font-size:8px!important}
 .player-athletic-home-tile{width:100%!important;min-height:66px!important;padding:10px!important}
 .player-events-heading{display:flex!important;justify-content:space-between!important;align-items:center!important}
 .player-event-detail-page{padding-top:10px!important;padding-bottom:110px!important}
 .player-event-detail-card.player-event-detail-compact{
   width:100%!important;max-width:100%!important;min-width:0!important;
   height:auto!important;min-height:0!important;
   padding:14px!important;box-sizing:border-box!important
 }
 .player-event-detail-compact .player-event-head{flex-wrap:wrap!important}
 .player-event-detail-compact h1{font-size:22px!important}
 .player-event-detail-compact .player-event-detail-grid{grid-template-columns:1fr!important}
 .player-event-detail-compact .player-attendance-buttons{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* =========================================================
   V12.131 — EINHEITLICHER MOBILE HEADER / ORIENTIERUNG
   ========================================================= */

/* Page context: one compact line, no duplicate Karalio logo */
.karalio-page-context{
 display:flex!important;
 align-items:center!important;
 gap:10px!important;
 min-height:54px!important;
 height:auto!important;
 padding:8px 10px!important;
 margin:0 0 12px!important;
 border:1px solid #dde4eb!important;
 border-radius:12px!important;
 background:#fff!important;
 box-shadow:0 2px 8px rgba(7,26,51,.04)!important;
}
.karalio-page-context .section-karalio{display:none!important}
.karalio-page-context .back{
 width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
 padding:0!important;margin:0!important;border-radius:9px!important;
 display:grid!important;place-items:center!important;
 background:#f3f5f7!important;border:1px solid #e0e5ea!important;color:#142033!important;
 font-size:24px!important;line-height:1!important;
}
.karalio-page-context .section-club-logo{
 width:36px!important;height:36px!important;min-width:36px!important;
 border:1px solid #dce3ea!important;border-radius:9px!important;background:#fff!important;
 display:grid!important;place-items:center!important;overflow:hidden!important;
}
.karalio-page-context .section-club-logo img{
 width:30px!important;height:30px!important;object-fit:contain!important;
}
.karalio-page-context-copy{display:flex!important;flex-direction:column!important;min-width:0!important}
.karalio-page-context-copy strong{
 font-size:15px!important;line-height:1.15!important;color:#142033!important;
 white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.karalio-page-context-copy small{
 margin-top:2px!important;font-size:10px!important;color:#7a8592!important;
 white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}

/* Desktop stays clean too */
.karalio-top .topin{position:relative!important}
.karalio-top .account-avatar-wrap{margin-left:auto!important}

/* Mobile: ONE header, logo + team switch + avatar. No hamburger/second bar. */
@media(max-width:820px){
 .karalio-top{
   min-height:76px!important;height:auto!important;
   padding:0!important;background:#fff!important;
   border-bottom:1px solid #e1e6eb!important;box-shadow:0 2px 8px rgba(7,26,51,.04)!important;
 }
 .karalio-top .topin{
   width:100%!important;max-width:none!important;
   min-height:76px!important;
   display:grid!important;
   grid-template-columns:minmax(0,1fr) auto!important;
   grid-template-rows:auto auto!important;
   column-gap:10px!important;row-gap:2px!important;
   align-items:center!important;
   padding:10px 14px 9px!important;
   box-sizing:border-box!important;
 }
 .karalio-top .karalio-brand{
   grid-column:1!important;grid-row:1!important;
   display:flex!important;align-items:center!important;min-width:0!important;
 }
 .karalio-top .karalio-logo{
   width:150px!important;max-width:58vw!important;height:auto!important;margin:0!important;
 }
 .karalio-top .brand-context{
   grid-column:1!important;grid-row:2!important;
   display:flex!important;align-items:center!important;
   min-width:0!important;margin:0!important;padding:0!important;
 }
 .karalio-top .brand-context .club-context-logo{display:none!important}
 .karalio-top .brand-context span{
   font-size:10px!important;font-weight:750!important;color:#697789!important;
   white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
 }
 .karalio-top .team-switch{
   grid-column:1!important;grid-row:2!important;
   justify-self:start!important;
   width:auto!important;max-width:62vw!important;height:28px!important;min-height:28px!important;
   padding:2px 26px 2px 8px!important;margin:0!important;
   border:0!important;border-radius:7px!important;
   background:#f3f5f7!important;color:#445469!important;
   font-size:10px!important;font-weight:800!important;
   box-shadow:none!important;
 }
 .karalio-top .account-avatar-wrap{
   grid-column:2!important;grid-row:1 / span 2!important;
   justify-self:end!important;align-self:center!important;
   margin:0!important;
 }
 .karalio-top .account-avatar{
   width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
   font-size:14px!important;
 }
 .karalio-top .hamburger{display:none!important}

 /* staff pages: context card directly below header, no duplicate brand bar */
 .page>.karalio-page-context:first-child{margin-top:10px!important}
}

/* Extra-small phones */
@media(max-width:430px){
 .karalio-top .topin{padding-left:12px!important;padding-right:12px!important}
 .karalio-top .karalio-logo{width:138px!important;max-width:55vw!important}
 .karalio-top .team-switch{max-width:60vw!important;font-size:9px!important}
 .karalio-page-context{min-height:50px!important;padding:7px 9px!important}
 .karalio-page-context .back{width:34px!important;height:34px!important;min-width:34px!important}
 .karalio-page-context .section-club-logo{width:34px!important;height:34px!important;min-width:34px!important}
 .karalio-page-context .section-club-logo img{width:28px!important;height:28px!important}
}

/* V12.134 — Individualtraining Planvorlagen */
.individual-plan-head{margin:8px 0 14px}.individual-plan-head h2{margin:3px 0 4px}.individual-plan-head p{margin:0;color:#697789;font-size:12px}
.individual-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.individual-plan-card{padding:15px!important;margin:0!important;display:flex;flex-direction:column;gap:10px}
.individual-plan-top{display:flex;gap:10px;align-items:center}.individual-plan-top h3{margin:2px 0 0;font-size:17px}.individual-plan-icon{width:42px;height:42px;border-radius:11px;background:#eef3f8;display:grid;place-items:center;font-size:21px}
.individual-plan-card p{font-size:11px;line-height:1.45;color:#5f6e80;margin:0;min-height:48px}
.individual-plan-rhythm{font-size:10px;line-height:1.5;background:#f6f8fa;border-radius:9px;padding:9px;color:#445469;flex:1}
.individual-plan-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:7px}.individual-plan-actions button{min-height:38px!important;font-size:10px!important}
.individual-plan-panel{margin:0 0 18px!important;border-top:3px solid #0b3474!important}.individual-plan-period{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.individual-plan-preview{padding:12px;border-radius:10px;background:#f5f7f9;margin-bottom:12px}.individual-plan-preview>strong{display:block;margin-bottom:8px}.individual-plan-preview>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.individual-plan-preview span{font-size:10px;color:#566678}.individual-plan-preview b{color:#152438;margin-right:5px}
.individual-plan-release{margin-top:12px;width:100%}
@media(max-width:900px){.individual-plan-grid{grid-template-columns:1fr}.individual-plan-card p{min-height:0}.individual-plan-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.individual-plan-period{grid-template-columns:1fr}.individual-plan-preview>div{grid-template-columns:1fr}.individual-plan-actions{grid-template-columns:1fr}.individual-plan-panel .head{align-items:flex-start}}

/* V12.135 — Pflichtprüfung nach Kalenderänderung */
.individual-plan-review-alert{
 display:flex;align-items:center;justify-content:space-between;gap:14px;
 border-left:4px solid #d7ad3f!important;background:#fffaf0!important;margin-bottom:14px!important
}
.individual-plan-review-alert strong{display:block;font-size:16px;margin:2px 0 4px}
.individual-plan-review-alert p{margin:0;font-size:11px;line-height:1.45;color:#5d6876}
@media(max-width:640px){.individual-plan-review-alert{align-items:flex-start;flex-direction:column}.individual-plan-review-alert button{width:100%}}

/* V12.137 — nachhaltiger regelbasierter Individualtraining-Algorithmus */
.individual-algorithm-info{margin:0 0 16px!important;padding:12px 14px!important}
.individual-algorithm-info summary{cursor:pointer;font-weight:850;color:#17304e}
.individual-algorithm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.individual-algorithm-grid>div{padding:9px;border-radius:9px;background:#f5f7f9;display:flex;flex-direction:column;gap:3px}
.individual-algorithm-grid b{font-size:10px;color:#1c3554}.individual-algorithm-grid span{font-size:9px;line-height:1.35;color:#697789}
@media(max-width:700px){.individual-algorithm-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.individual-algorithm-grid{grid-template-columns:1fr}}

/* V12.138 — Kalender in der Trainer-Spielerakte */
.staff-player-calendar-head{margin:4px 0 16px}.staff-player-calendar-head h2{margin:3px 0}.staff-player-calendar-head p{margin:0;color:#687789;font-size:11px}
.staff-player-calendar-block{margin-bottom:20px}.staff-player-calendar-block.individual-block{padding-top:16px;border-top:1px solid #dce3ea}
.staff-player-calendar-block-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:8px}
.staff-player-calendar-block-head h3{margin:2px 0 0}.staff-player-calendar-block-head>span{font-size:10px;font-weight:850;background:#eef2f5;padding:4px 8px;border-radius:999px}
.staff-player-calendar-row{display:flex;align-items:center;gap:10px;padding:10px 11px;margin-bottom:6px;border:1px solid #e0e5ea;border-radius:10px;background:#fff}
.staff-player-calendar-row.game{background:#f2f3f5}.staff-player-calendar-row.individual{background:#f1f8f3;border-color:#d6e9da;border-left:4px solid #2f7d43}
.staff-player-calendar-date{width:48px;min-width:48px;display:flex;flex-direction:column}.staff-player-calendar-date b{font-size:12px}.staff-player-calendar-date span{font-size:9px;color:#748091}
.staff-player-calendar-row .grow{display:flex;flex-direction:column;min-width:0}.staff-player-calendar-row .grow strong{font-size:12px}.staff-player-calendar-row .grow small{font-size:9px;color:#748091;margin-top:2px}
.staff-player-calendar-row.individual .grow strong,.staff-player-calendar-row.individual .staff-player-calendar-date span{color:#2f6f43}
@media(max-width:600px){.staff-player-calendar-row{padding:9px 8px}.staff-player-calendar-date{width:42px;min-width:42px}}

/* V12.139 — individuelle Kalenderbearbeitung durch Trainer */
.staff-player-calendar-editor{margin:0 0 10px!important;padding:12px!important;background:#fbfcfd!important}
.staff-player-calendar-editor-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px}
.staff-player-calendar-editor textarea{min-height:54px!important}
.staff-player-calendar-date.editable{width:118px!important;min-width:118px!important}
.staff-player-calendar-date.editable input{width:118px!important;height:32px!important;min-height:32px!important;padding:3px 5px!important;font-size:10px!important}
.staff-player-calendar-date.editable span{margin-top:3px;font-size:8px!important;font-weight:900!important;color:#2f7d43!important}
.staff-player-calendar-row.individual{grid-template-columns:auto minmax(0,1fr) auto auto;display:grid!important}
.staff-player-calendar-row.calendar-row-saved{box-shadow:0 0 0 2px rgba(47,125,67,.22)!important;background:#eaf5ed!important}
@media(max-width:680px){
 .staff-player-calendar-editor-grid{grid-template-columns:1fr}
 .staff-player-calendar-row.individual{grid-template-columns:105px minmax(0,1fr) auto!important}
 .staff-player-calendar-row.individual .danger-button{grid-column:2/-1;justify-self:end}
 .staff-player-calendar-date.editable{width:100px!important;min-width:100px!important}
 .staff-player-calendar-date.editable input{width:100px!important}
}

/* V12.140 — echter individueller Spielerkalender für Trainer */
.staff-personal-calendar-legend{
 display:flex;align-items:center;gap:14px;flex-wrap:wrap;
 margin:10px 0 9px;padding:8px 10px;border-radius:10px;background:#f6f8fa;
 font-size:10px;font-weight:800;color:#5f6f80
}
.staff-personal-calendar-legend span{display:flex;align-items:center;gap:5px}
.staff-personal-calendar-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.staff-personal-calendar-legend .team-dot{background:#708094}
.staff-personal-calendar-legend .individual-dot{background:#2f7d43}
.staff-personal-calendar-legend small{font-size:9px;color:#7b8694;font-weight:600}

.staff-personal-calendar-list{display:grid;gap:7px}
.staff-personal-calendar-row{
 display:grid!important;
 grid-template-columns:118px minmax(0,1fr) auto auto;
 gap:10px;align-items:center;
 padding:10px 11px;border:1px solid #e0e5ea;border-radius:11px;background:#fff
}
.staff-personal-calendar-row.team.game{background:#f1f3f5}
.staff-personal-calendar-row.individual{
 background:#f0f8f2;border-color:#d4e7d8;border-left:4px solid #2f7d43
}
.staff-personal-calendar-date{
 display:flex;flex-direction:column;min-width:0
}
.staff-personal-calendar-date b{font-size:12px}
.staff-personal-calendar-date span{font-size:9px;color:#768291;margin-top:2px}
.staff-personal-calendar-date.editable input{
 width:112px!important;height:32px!important;min-height:32px!important;
 padding:3px 5px!important;font-size:10px!important
}
.staff-personal-calendar-date.editable span{
 margin-top:3px;color:#2f7d43!important;font-weight:900!important;font-size:8px!important
}
.staff-personal-calendar-row .grow{
 display:flex;flex-direction:column;min-width:0
}
.staff-personal-calendar-kind{
 font-size:8px!important;font-weight:900!important;letter-spacing:.06em;color:#728091!important
}
.staff-personal-calendar-row.individual .staff-personal-calendar-kind{color:#2f7d43!important}
.staff-personal-calendar-row .grow strong{
 font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.staff-personal-calendar-row .grow small{
 font-size:9px;color:#768291;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.staff-personal-calendar-row.calendar-row-saved{
 box-shadow:0 0 0 2px rgba(47,125,67,.22)!important;background:#e8f4eb!important
}
@media(max-width:720px){
 .staff-personal-calendar-row{
   grid-template-columns:104px minmax(0,1fr) auto!important;
 }
 .staff-personal-calendar-row .danger-button{
   grid-column:2/-1;justify-self:end
 }
 .staff-personal-calendar-date.editable input{width:98px!important}
}

/* V12.142 — vollständige Individualtraining-Sessions + Grafiken */
.individual-session-admin-row{display:flex;align-items:center;gap:10px}
.individual-session-mini-items{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.individual-session-mini-items span{font-size:8px;background:#eef3f0;color:#3d5947;padding:3px 6px;border-radius:999px}
.individual-session-card{border-left:4px solid #2f7d43!important}
.individual-session-hero{border-top:4px solid #2f7d43!important}.individual-session-hero h1{margin:5px 0 10px}.individual-session-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:#667589}
.individual-session-exercises{display:grid;gap:10px;margin:12px 0}
.individual-session-exercise{position:relative;display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:center;padding:12px!important;overflow:hidden}
.individual-session-exercise img{width:100%;border-radius:12px;border:1px solid #e0e7e2;background:#f6f8f6}
.individual-session-exercise-number{position:absolute;left:7px;top:7px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#0a1f3b;color:#fff;font-weight:900;font-size:11px;z-index:2}
.individual-session-exercise-copy h2{margin:3px 0 5px;font-size:18px}.individual-session-exercise-copy>strong{display:block;color:#2f7d43;margin-bottom:6px}.individual-session-exercise-copy p{font-size:11px;line-height:1.45;color:#596a7b;margin:0 0 5px}.individual-session-exercise-copy small{color:#7a8592}
.player-calendar-row.individual-training-row.session{min-height:64px!important}
@media(max-width:680px){.individual-session-exercise{grid-template-columns:1fr}.individual-session-exercise img{max-height:220px;object-fit:contain}.individual-session-admin-row{align-items:flex-start;flex-wrap:wrap}}

/* V12.143 — EIN Kalender: Team links / Individual rechts */
.player-calendar-stream{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin-top:10px!important;
}
.player-calendar-stream-row{
  display:flex!important;
  width:100%!important;
}
.player-calendar-stream-row.team-row{justify-content:flex-start!important}
.player-calendar-stream-row.individual-row{justify-content:flex-end!important}

.player-calendar-event{
  width:min(78%,760px)!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto 18px!important;
  gap:9px!important;
  align-items:center!important;
  min-height:62px!important;
  padding:10px 11px!important;
  border-radius:12px!important;
  box-shadow:none!important;
  text-align:left!important;
}
.player-calendar-event.team-event{
  background:#fff!important;
  border:1px solid #dde4eb!important;
  border-left:4px solid #6f7f91!important;
}
.player-calendar-event.team-event.game{
  background:#eef1f4!important;
}
.player-calendar-event.individual-event{
  background:#eef7f0!important;
  border:1px solid #d3e6d7!important;
  border-right:4px solid #2f7d43!important;
}
.player-calendar-event .eyebrow{
  font-size:8px!important;
  letter-spacing:.06em!important;
  font-weight:900!important;
}
.player-calendar-event.individual-event .eyebrow{color:#2f7d43!important}
.player-calendar-event .grow strong{font-size:12px!important}
.player-calendar-event .sub{font-size:9px!important;color:#74808e!important;margin-top:2px!important}

/* Trainer player calendar mirrors the same timeline */
.staff-personal-calendar-stream{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
.staff-personal-calendar-stream-row{
  width:min(82%,820px)!important;
  display:grid!important;
  grid-template-columns:118px minmax(0,1fr) auto auto!important;
  gap:10px!important;
  align-items:center!important;
  padding:10px 11px!important;
  border-radius:11px!important;
}
.staff-personal-calendar-stream-row.team-row{
  align-self:flex-start!important;
  background:#fff!important;
  border:1px solid #e0e5ea!important;
  border-left:4px solid #708094!important;
}
.staff-personal-calendar-stream-row.team-row.game{
  background:#f1f3f5!important;
}
.staff-personal-calendar-stream-row.individual-row{
  align-self:flex-end!important;
  background:#f0f8f2!important;
  border:1px solid #d4e7d8!important;
  border-right:4px solid #2f7d43!important;
}
@media(max-width:640px){
  .player-calendar-event{
    width:92%!important;
    grid-template-columns:50px minmax(0,1fr) auto 14px!important;
    gap:7px!important;
    padding:9px!important;
  }
  .staff-personal-calendar-stream-row{
    width:94%!important;
    grid-template-columns:100px minmax(0,1fr) auto!important;
  }
  .staff-personal-calendar-stream-row.individual-row .danger-button{
    grid-column:2/-1!important;
    justify-self:end!important;
  }
}

/* V12.146 — Spielerdashboard: alle Termine inkl. Individualtraining + Wochentag */
.player-dashboard-list-item.individual{background:#f1f8f3!important}
.player-dashboard-list-row.individual{background:#f1f8f3!important;border-left:4px solid #2f7d43!important}
.player-dashboard-list-row.individual .player-dashboard-list-main>span{color:#2f7d43!important}
.player-dashboard-list-date strong{text-transform:none!important}

/* V12.147 — klare Wochenblöcke in allen Kalendern */
.calendar-week-group{margin:0 0 18px!important;width:100%!important}
.calendar-week-divider{display:flex!important;align-items:center!important;gap:10px!important;margin:8px 0 7px!important}
.calendar-week-divider::before,.calendar-week-divider::after{content:"";height:1px;background:#d7dfe7;flex:1}
.calendar-week-divider::before{max-width:18px}
.calendar-week-divider span{font-size:10px!important;font-weight:900!important;letter-spacing:.045em!important;text-transform:uppercase;color:#526476!important;background:#eef2f5!important;border:1px solid #dce3e9!important;border-radius:999px!important;padding:5px 9px!important}
.calendar-week-items{display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important}
.player-next-events .calendar-week-group:first-child .calendar-week-divider,.player-calendar-stream .calendar-week-group:first-child .calendar-week-divider,.staff-personal-calendar-stream .calendar-week-group:first-child .calendar-week-divider{margin-top:0!important}
.staff-personal-calendar-stream .calendar-week-group{width:100%!important}
@media(max-width:640px){.calendar-week-group{margin-bottom:15px!important}.calendar-week-divider span{font-size:9px!important;padding:4px 8px!important}}

/* V12.149 final overrides */
.karalio-top .topin{position:relative!important}
.karalio-top .team-switch{position:absolute!important;left:50%!important;right:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(360px,34vw)!important;max-width:360px!important;margin:0!important;text-align:center!important;text-align-last:center!important}
.karalio-page-context .section-club-logo{display:none!important}
@media(max-width:760px){.karalio-top .team-switch{width:min(48vw,260px)!important;max-width:48vw!important}}

/* V12.150 · Menü ohne Seitenbalken, Zurück direkt im Kopf */
.menu-head-without-section{margin-top:4px!important}

/* V12.151 · einheitliche kompakte Seitennavigation */
.compact-page-context{
 display:flex;align-items:center;gap:16px;margin:2px 0 18px;padding:0 2px;
 background:transparent;border:0;box-shadow:none;min-height:42px
}
.compact-back-link{
 appearance:none;border:0;background:transparent;padding:5px 0;color:#42617f;
 font:inherit;font-size:13px;font-weight:850;cursor:pointer;text-decoration:none;white-space:nowrap
}
.compact-back-link:hover{color:#111111;text-decoration:underline;text-underline-offset:3px}
.compact-page-title{display:flex;flex-direction:column;min-width:0;padding-left:16px;border-left:1px solid #d5dee7}
.compact-page-title strong{font-size:18px;color:#10243c;line-height:1.15}
.compact-page-title small{margin-top:3px;color:#718092;font-size:11px}
.compact-page-context .spacer{flex:1}
.compact-page-actions{display:flex;align-items:center;gap:8px}
.compact-page-actions:empty{display:none}
.menu-page-navigation{margin:0 0 3px;padding:0 1px}
.persistent-team-back{margin-bottom:10px}
.menu-head-without-section{margin-top:0!important}
@media(max-width:760px){
 .compact-page-context{gap:10px;margin-bottom:13px;align-items:flex-start;flex-wrap:wrap}
 .compact-page-title{padding-left:10px}
 .compact-page-title strong{font-size:16px}
 .compact-page-actions{margin-left:auto}
}

/* V12.156 · einheitlicher Seitenkopf wie Vereins- und Team-Dashboard */
.unified-page-header{margin:0 0 22px}
.unified-page-navigation{min-height:25px;margin:0 0 9px;padding:0 1px}
.unified-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.unified-page-heading h1{margin:4px 0 0;font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:-.035em;color:#10243c}
.unified-page-heading .eyebrow{margin:0;color:#718092}
.unified-page-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.unified-page-actions:empty{display:none}
.persistent-team-back{min-height:25px;margin:0 0 9px;padding:0 1px}
@media(max-width:760px){
 .unified-page-header{margin-bottom:18px}
 .unified-page-navigation,.persistent-team-back{margin-bottom:7px}
 .unified-page-heading{align-items:flex-end;gap:10px}
 .unified-page-heading h1{font-size:30px}
 .unified-page-actions .primary,.unified-page-actions .secondary{padding:9px 11px}
}

/* V12.157 · iPhone-Ansicht darf nach Formularen niemals vergrößert bleiben */
html,body,#app{width:100%;max-width:100%;overflow-x:hidden}
body{position:relative}
.karalio-top,.karalio-top .topin,main.page{width:100%;max-width:100%}
main.page,.page>*,.card,.row,.head,.head>*,.grid2>*,.two>*,.three>*,.team-create-row>*,.super-team-grid>*{min-width:0}
img,svg,video,canvas{max-width:100%}
.card,.row,.welcome,.unified-page-header,.scope-summary-grid,.super-team-grid{overflow-wrap:anywhere}
.team-create-row{grid-template-columns:minmax(0,1fr) auto!important}
.team-create-row input{min-width:0}
.karalio-top .topin>*{min-width:0}
.karalio-top .brand{overflow:hidden}
.karalio-top .brand b,.karalio-top .brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){
 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{
   font-size:16px!important;
 }
 main.page{overflow-x:hidden}
 .card{max-width:100%}
 .team-create-row{grid-template-columns:1fr!important}
 .team-create-row button{width:100%}
 .super-teams-head{align-items:flex-start}
 .unified-page-heading>div:first-child{min-width:0}
 .unified-page-heading h1{overflow-wrap:anywhere}
}

/* V12.152 · einheitlicher Kontozugang statt Hamburger */
.karalio-top .hamburger{display:none!important}
.karalio-top .global-account-access{
 display:block!important;position:relative!important;margin-left:auto!important;flex:0 0 auto!important;
 z-index:6!important
}
.karalio-top .global-account-access .account-avatar{
 display:grid!important;width:44px!important;height:44px!important;border-radius:14px!important;
 background:#f5f8fb!important;border:1px solid #d6e0ea!important;color:#111111!important;
 box-shadow:0 2px 8px rgba(8,47,109,.08)!important
}
.karalio-top .global-account-access .account-avatar:hover{background:#ebf2f8!important;border-color:#bfd0df!important}
.karalio-top .global-account-access .account-avatar.has-initials{background:linear-gradient(145deg,#edf4fb,#fff)!important;color:var(--karalio-navy)!important;font-size:13px!important;letter-spacing:.04em!important}
.account-user-initials{display:block;font-weight:900;line-height:1}
.karalio-top .global-account-access .account-user-symbol{font-size:25px;line-height:1;font-family:Arial,sans-serif;transform:translateY(-1px)}
.karalio-top .global-account-access .account-avatar.has-photo{border-radius:14px!important;overflow:hidden!important;padding:0!important}
.karalio-top .global-account-access .account-avatar.has-photo img{border-radius:13px!important}
.karalio-top .global-account-access .account-popover{right:0!important;left:auto!important;top:52px!important}
@media(max-width:760px){
 .karalio-top .global-account-access .account-avatar{width:40px!important;height:40px!important;border-radius:12px!important}
 .karalio-top .global-account-access .account-user-initials{font-size:12px}
}

/* V12.196 · Anwesenheiten und Inhalte direkt aus allen Teamkalendern */
.calendar-event-entry{position:relative;background:#fff;border-radius:14px;border:1px solid #e1e7ee;overflow:hidden}
.calendar-event-entry>.calendar-team-event-row{border:0!important;border-radius:0!important;box-shadow:none!important}
.calendar-response-summary{margin:0 12px 12px;width:calc(100% - 24px)!important}
.calendar-no-response{margin:0 14px 13px;padding:9px 11px;border-radius:9px;background:#f3f5f7;color:#657286;font-size:12px;font-weight:800}
.trainer-event-detail{border-left:5px solid var(--karalio-green,#20a653)}
.trainer-event-detail.game{border-left-color:var(--karalio-navy,#111111)}
.trainer-event-detail h2{margin:5px 0 16px;font-size:28px}
.trainer-event-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.trainer-event-meta span{display:flex;flex-direction:column;gap:4px;padding:11px;border-radius:10px;background:#f6f8fa}
.trainer-event-meta b{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#758194}
.trainer-content-block{padding:13px 0;border-top:1px solid #e8edf2}
.trainer-content-block:first-of-type{border-top:0}.trainer-content-block p{margin:6px 0 0;white-space:pre-wrap;line-height:1.55}
.trainer-content-block.coaching{border-left:3px solid var(--karalio-green,#20a653);padding-left:13px}
.trainer-event-attendance .calendar-response-summary{margin:12px 0 0;width:100%!important}
.scope-event-team-wrap{padding:0!important;overflow:hidden}
.scope-event-team-wrap>.scope-event-row{width:100%;border:0;background:transparent;text-align:left;padding:16px}
.scope-event-team-wrap>.calendar-response-summary{margin:0 12px 12px;width:calc(100% - 24px)!important}
@media(max-width:640px){.trainer-event-meta{grid-template-columns:1fr}.trainer-event-attendance .head{align-items:stretch;flex-direction:column}.trainer-event-attendance .head button{width:100%}}

/* V12.199 · Spielerkonto selbst löschen, Vereinsakte archivieren */
.account-delete-card{border:1px solid #efc7c7!important;background:#fffafa!important}
.account-delete-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.account-delete-head h2{margin:4px 0 6px;color:#8f2020}.account-delete-head p{margin:0;max-width:720px;color:#657286;line-height:1.5}
.account-delete-confirm{margin-top:18px;padding-top:18px;border-top:1px solid #efd4d4;display:grid;gap:13px}
.account-delete-confirm.hidden{display:none!important}.account-delete-confirm label{margin:0}
.account-delete-check{display:flex!important;align-items:flex-start;gap:9px;font-weight:700}.account-delete-check input{width:auto!important;margin-top:3px}
.account-delete-actions{display:flex;justify-content:flex-end;gap:10px}.credential.warning{background:#fff4df;border-color:#efcf91;color:#815b10}
@media(max-width:640px){.account-delete-head{align-items:stretch;flex-direction:column}.account-delete-head>button,.account-delete-actions button{width:100%}.account-delete-actions{flex-direction:column-reverse}}

/* V12.153 · Abschlusszeitpunkt Individualtraining */
.athletic-completion-info{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;margin-top:9px;padding:8px 10px;border-radius:9px;font-size:12px}
.athletic-completion-info strong{font-weight:900}
.athletic-completion-info span{font-size:11px}
.athletic-completion-info.on-time{background:#eef8f1;border:1px solid #cfe6d6;color:#246638}
.athletic-completion-info.deviation{background:#fff0f0;border:1px solid #efb8b8;color:#a01818}
.individual-session-admin-row.completion-deviation,.athletic-admin-row.completion-deviation,.ath-history-item.completion-deviation{background:#fff4f4!important;border-color:#e9a9a9!important;box-shadow:0 0 0 1px rgba(190,35,35,.08)!important}
.individual-session-admin-row.completion-deviation>.badge,.athletic-admin-row.completion-deviation>.badge,.ath-history-item.completion-deviation>.badge{background:#b42323!important;color:#fff!important;border-color:#b42323!important}
@media(max-width:640px){.athletic-completion-info{align-items:flex-start;flex-direction:column;gap:2px}}

/* V12.158 · ruhiger Vereinskalender und vollständig gesperrter Seitenzoom */
#app{touch-action:manipulation}
.scope-add-event-button{min-height:38px!important;padding:8px 12px!important;white-space:nowrap}
.scope-event-form{margin-bottom:14px}
.scope-event-form>.head{margin-bottom:8px}
.scope-event-form>.head h2{margin:3px 0 0}
@media(max-width:760px){
 .unified-page-heading{align-items:center}
 .scope-add-event-button{font-size:13px!important;min-height:36px!important;padding:7px 10px!important}
 .calendar-legend{display:grid!important;grid-template-columns:auto auto;gap:9px 14px!important;padding:12px 14px!important;margin-bottom:12px!important}
 .calendar-legend>div{font-size:12px}
 .calendar-legend>.sub{grid-column:1/-1;font-size:11px;line-height:1.35;padding-top:3px}
 .scope-event-form{padding:13px!important}
 .scope-event-form .two{gap:0!important}
 .scope-event-form label{margin-top:7px}
 .scope-event-form textarea{min-height:74px}
 .scope-event-form #saveScopeEvent{width:100%;margin-top:10px}
}

/* V12.159 · bereinigte Doppelüberschriften */
.player-edit-toolbar-actions-only{justify-content:flex-end!important;margin-top:0!important}
.player-edit-toolbar-actions-only .player-top-actions{margin-left:auto}
@media(max-width:640px){
 .player-edit-toolbar-actions-only .player-top-actions{width:100%}
}

/* V12.161 · ruhiges sportliches Team-Dashboard */
.dashboard-action-alert{display:flex;align-items:center;gap:12px;margin:18px 0 14px;padding:13px 14px;border:1px solid #e5a4a4;border-left:5px solid #bd2525;border-radius:13px;background:#fff2f2;color:#831d1d}
.dashboard-action-alert>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:#bd2525;color:#fff;font-size:18px;font-weight:950}
.dashboard-action-alert>div{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.dashboard-action-alert strong{font-size:14px}.dashboard-action-alert small{font-size:11px;color:#9a4545}
.dashboard-action-alert .secondary{border-color:#dda6a6!important;color:#8f2424!important;white-space:nowrap}

/* V12.207 – optionale Positionen, Profil-Leseansicht und strukturierter Kader */
.registration-add-position{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:64px}.registration-add-position small{color:#71808e;font-size:10px}.compact-position-button{padding:9px 12px!important;font-size:12px!important}.registration-optional-position{animation:positionFieldIn .18s ease-out}@keyframes positionFieldIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.player-profile-intro-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.player-locked-positions{padding:13px 14px;margin-bottom:13px;border:1px solid #dbe3ec;border-radius:13px;background:#f7f9fc}.player-locked-positions>span{display:block;color:#6f7b89;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.player-locked-positions>div{display:flex;flex-wrap:wrap;gap:7px}.position-chip{display:inline-flex;padding:7px 10px;border-radius:999px;background:#0b3678;color:#fff;font-size:11px}.position-chip.secondary-position{background:#e9f0f8;color:#173a66}
.profile-read-value{margin-top:6px;min-height:42px;display:flex;align-items:center;padding:10px 12px;border:1px solid #e0e6ed;border-radius:11px;background:#f7f9fb;color:#172337;font-weight:750;line-height:1.35;white-space:pre-wrap}.profile-reading label{color:#6e7b89;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.profile-reading .profile-read-value{font-size:13px;text-transform:none;letter-spacing:0}.profile-reading .player-profile-actions{display:none}.profile-reading-toolbar{justify-content:flex-end}.direct-individual-editor{margin-bottom:12px}
.roster-grouped-list{display:grid;gap:18px}.roster-position-section{display:grid;gap:7px}.roster-position-heading{display:flex;align-items:center;justify-content:space-between;padding:0 4px;color:#0b3678}.roster-position-heading strong{font-size:13px;text-transform:uppercase;letter-spacing:.07em}.roster-position-heading span{min-width:25px;height:25px;border-radius:999px;background:#e8eef6;display:grid;place-items:center;font-size:11px;font-weight:900}.roster-position-list{overflow:hidden;border:1px solid #e0e6ed;border-radius:15px;background:#fff}.roster-player-row{gap:12px!important}.roster-shirt-number{position:relative;width:48px;height:46px;flex:0 0 48px;display:grid;place-items:center;color:#fff;background:#0b3678;clip-path:polygon(22% 0,38% 8%,62% 8%,78% 0,100% 21%,84% 37%,84% 100%,16% 100%,16% 37%,0 21%);filter:drop-shadow(0 3px 3px rgba(7,33,70,.18))}.roster-shirt-number b{font-size:16px;line-height:1;margin-top:7px}.roster-shirt-number.empty-number{background:#9aa7b5}.guest-player-row .roster-shirt-number{background:#4f6f5b}
@media(max-width:560px){.player-profile-intro-actions{justify-content:flex-start}.roster-player-row{align-items:center!important}.roster-player-row>.badge{display:none}.roster-shirt-number{width:43px;height:42px;flex-basis:43px}.registration-add-position{grid-column:1/-1}}

/* V12.208 – optionale Erklärungen und Spielermenü */
.optional-explanation{margin:0!important;padding:0!important;background:transparent!important;border:0!important}.inline-info-disclosure{display:inline-block;vertical-align:middle}.inline-info-disclosure summary{list-style:none;display:grid;place-items:center;width:24px;height:24px;border:1px solid #b7c5d6;border-radius:50%;background:#f3f7fb;color:#0b3678;cursor:pointer}.inline-info-disclosure summary::-webkit-details-marker{display:none}.inline-info-disclosure summary span{font-family:Georgia,serif;font-size:14px;font-weight:900;font-style:italic;line-height:1}.inline-info-disclosure[open]{display:block;width:100%;margin-top:5px}.inline-info-disclosure[open] summary{margin-bottom:7px}.inline-info-content{padding:10px 12px;border:1px solid #dce4ed;border-radius:11px;background:#f7f9fc;color:#536172;font-size:11px;font-weight:500;line-height:1.5;text-transform:none;letter-spacing:0}.player-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.player-menu-entry{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;text-align:left;padding:17px!important}.player-menu-entry>div strong,.player-menu-entry>div small{display:block}.player-menu-entry>div strong{color:#102c55;font-size:15px}.player-menu-entry>div small{color:#71808e;margin-top:3px}.player-menu-entry>b{font-size:24px;color:#8c99a8}.player-menu-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eaf1f9;color:#0b3678;font-size:20px}.exercise-library-groups{display:grid;gap:20px}.exercise-library-group{display:grid;gap:8px}.exercise-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-library-exercise{display:grid;grid-template-columns:145px 1fr;gap:15px;overflow:hidden;padding:12px!important}.player-library-exercise img{width:145px;height:125px;object-fit:contain;border-radius:12px;background:#f2f5f7}.player-library-exercise h2{font-size:17px;margin:3px 0 7px}.player-library-exercise strong{font-size:12px;color:#173d70}.player-library-exercise p{font-size:11px;color:#627080;line-height:1.45;margin:7px 0}.player-library-exercise small{color:#708090}
@media(max-width:680px){.player-menu-grid,.exercise-library-grid{grid-template-columns:1fr}.player-library-exercise{grid-template-columns:105px 1fr}.player-library-exercise img{width:105px;height:105px}.inline-info-content{font-size:10px}}
.dashboard-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.dashboard-next-card{padding:0!important;overflow:hidden;border-top:4px solid #111111!important}
.dashboard-next-card.dashboard-training{border-top-color:#2f7d43!important}
.dashboard-next-head{display:flex;align-items:center;gap:12px;padding:17px 18px 13px}
.dashboard-next-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:13px;background:#eaf0f9;font-size:21px}
.dashboard-next-card.dashboard-training .dashboard-next-icon{background:#e8f5eb;color:#26703a}
.dashboard-next-head>div{min-width:0}.dashboard-next-head>div>span{display:block;font-size:9px;letter-spacing:.09em;font-weight:900;color:#6c7a8c}
.dashboard-next-head h2{margin:3px 0 0;font-size:20px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-next-date{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px 18px;border:0;border-top:1px solid #e7ebef;background:#f8fafc;text-align:left;color:#142033}
.dashboard-next-date:hover{background:#f2f6fa}.dashboard-next-date strong{font-size:13px}.dashboard-next-date span{min-width:0;font-size:11px;color:#6d7887;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-next-date b{font-size:22px;color:#8090a2}
.dashboard-response-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e7ebef}
.dashboard-response-summary{width:100%;margin:0;padding:0;border-right:0;border-bottom:0;border-left:0;border-radius:0;background:transparent;color:inherit;text-align:inherit;cursor:pointer}
.dashboard-response-summary:hover{background:rgba(8,47,109,.035)!important}
.dashboard-response-summary:focus-visible{outline:3px solid rgba(24,88,184,.2);outline-offset:-3px}
.dashboard-response-summary>div{padding:13px 8px;text-align:center;border-left:1px solid #e7ebef}.dashboard-response-summary>div:first-child{border-left:0}
.dashboard-response-summary span,.dashboard-response-summary strong{display:block}.dashboard-response-summary span{font-size:9px;color:#7a8797}.dashboard-response-summary strong{margin-top:3px;font-size:20px;color:#172337}
.dashboard-response-summary .accepted strong{color:#22723a}.dashboard-response-summary .declined strong{color:#ae2b2b}.dashboard-response-summary .maybe strong{color:#9a6b00}.dashboard-response-summary .open strong{color:#5e6875}
.dashboard-no-response{padding:13px 18px;border-top:1px solid #e7ebef;color:#788493;font-size:11px}
.response-event-summary{margin-bottom:14px}.response-event-summary h2{margin:4px 0 5px}
.response-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.response-detail-group{padding:0!important;overflow:hidden}
.response-detail-group.accepted{border-top:4px solid #278143!important}.response-detail-group.declined{border-top:4px solid #b62f2f!important}.response-detail-group.maybe{border-top:4px solid #b27a00!important}.response-detail-group.open{border-top:4px solid #697484!important}
.response-detail-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #e3e9ef}.response-detail-head h2{font-size:16px;margin:0}
.response-detail-player{display:flex;align-items:center;gap:10px;padding:11px 15px;border-bottom:1px solid rgba(215,224,232,.82)}.response-detail-player:last-child{border-bottom:0}
.response-detail-player strong,.response-detail-player span,.response-detail-player small{display:block}.response-detail-player strong{font-size:13px}.response-detail-player small{margin-top:3px;font-size:10px;color:#7a8695}.response-detail-reason{margin-top:4px;font-size:11px;color:#526174}
.response-state-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#697484}.accepted .response-state-dot{background:#278143}.declined .response-state-dot{background:#b62f2f}.maybe .response-state-dot{background:#b27a00}
.response-detail-empty{padding:18px 15px;color:#84909d;font-size:11px}
@media(max-width:760px){
 .dashboard-next-grid{grid-template-columns:1fr;gap:12px;margin-top:16px}
 .dashboard-action-alert{align-items:flex-start;flex-wrap:wrap}.dashboard-action-alert .secondary{margin-left:42px}
 .dashboard-next-head{padding:14px 14px 11px}.dashboard-next-date{padding:11px 14px}
 .dashboard-next-head h2{font-size:18px}
 .response-detail-grid{grid-template-columns:1fr;gap:10px}.response-detail-player{padding:10px 13px}.response-detail-head{padding:11px 13px}
}

/* V12.163 · einheitliche schwebende Karalio-Menüleiste auf allen Ebenen */
nav.bottom.karalio-dock{
 position:fixed!important;left:50%!important;right:auto!important;
 bottom:calc(12px + env(safe-area-inset-bottom))!important;
 transform:translateX(-50%)!important;z-index:100!important;
 width:min(760px,calc(100% - 24px))!important;max-width:760px!important;
 display:grid!important;grid-template-columns:repeat(var(--dock-items),minmax(0,1fr))!important;
 align-items:center!important;gap:4px!important;
 padding:8px!important;
 background:rgba(255,255,255,.9)!important;color:#142033!important;
 border:1px solid rgba(167,179,194,.55)!important;border-radius:24px!important;
 box-shadow:0 12px 38px rgba(5,20,38,.2),0 2px 8px rgba(5,20,38,.08)!important;
 -webkit-backdrop-filter:blur(22px) saturate(1.25);backdrop-filter:blur(22px) saturate(1.25);
 overflow:visible!important;
}
nav.bottom.karalio-dock button{
 position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 gap:3px!important;min-width:0!important;min-height:54px!important;margin:0!important;padding:6px 4px!important;
 border:0!important;border-radius:17px!important;background:transparent!important;color:#6e7886!important;
 font-size:10px!important;font-weight:750!important;line-height:1!important;box-shadow:none!important;
 transition:background .15s ease,color .15s ease,transform .15s ease!important;
}
nav.bottom.karalio-dock button:hover{background:rgba(232,238,245,.8)!important;color:#111111!important;transform:translateY(-1px)}
nav.bottom.karalio-dock .dock-icon{display:grid!important;place-items:center!important;min-width:30px!important;height:27px!important;font-size:21px!important;font-weight:850!important;line-height:1!important;letter-spacing:-.08em}
nav.bottom.karalio-dock .dock-icon svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
nav.bottom.karalio-dock .dock-label{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
nav.bottom.karalio-dock button.active{background:#eaf1f8!important;color:#111111!important;font-weight:900!important}
nav.bottom.karalio-dock button.active .dock-icon{color:#17833a!important}
nav.bottom.karalio-dock .dock-brand{display:grid!important;place-items:center!important;align-self:center!important;justify-self:center!important;width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;margin:-12px 0 0!important;padding:8px!important;border-radius:18px!important;background:#fff!important;border:1px solid #d9e2ec!important;box-shadow:0 8px 22px rgba(8,47,109,.16)!important;color:inherit!important;cursor:pointer!important;pointer-events:auto!important}
nav.bottom.karalio-dock .dock-brand:hover{background:#fff!important;transform:translateY(-2px)!important;box-shadow:0 11px 26px rgba(8,47,109,.22)!important}
nav.bottom.karalio-dock .dock-brand:focus-visible{outline:3px solid rgba(37,185,75,.35)!important;outline-offset:3px!important}
nav.bottom.karalio-dock .dock-brand img{display:block!important;width:32px!important;height:auto!important;max-height:32px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
nav.bottom.karalio-dock button.plus{
 min-height:58px!important;margin:-18px 2px 0!important;border-radius:20px!important;
 background:#111111!important;color:#fff!important;box-shadow:0 8px 20px rgba(8,47,109,.28)!important;
}
nav.bottom.karalio-dock button.plus:hover{background:#061f49!important;color:#fff!important}
nav.bottom.karalio-dock button.plus .dock-icon{font-size:27px!important;color:#fff!important}
nav.bottom.karalio-dock button.plus .dock-label{color:#fff!important}
main.page,.player-page{padding-bottom:calc(126px + env(safe-area-inset-bottom))!important}
@media(max-width:640px){
 nav.bottom.karalio-dock{bottom:calc(10px + env(safe-area-inset-bottom))!important;width:calc(100% - 20px)!important;padding:7px 6px!important;border-radius:22px!important}
 nav.bottom.karalio-dock button{min-height:51px!important;padding:5px 2px!important;font-size:9px!important;border-radius:15px!important}
 nav.bottom.karalio-dock .dock-icon{font-size:20px!important;height:25px!important}
 nav.bottom.karalio-dock .dock-icon svg{width:22px!important;height:22px!important}
 nav.bottom.karalio-dock .dock-brand{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;margin-top:-11px!important;border-radius:17px!important}
 nav.bottom.karalio-dock .dock-brand img{width:31px!important;height:auto!important;max-height:31px!important}
 nav.bottom.karalio-dock button.plus{min-height:55px!important;margin-top:-16px!important}
 nav.bottom.karalio-dock .dock-label{max-width:72px!important}
}
@media(max-width:390px){
 nav.bottom.karalio-dock .dock-label{font-size:8px!important;max-width:58px!important}
}

/* V12.164 · Dock außerhalb der App-Hülle garantiert sichtbar */
body>nav#karalioGlobalDock{
 position:fixed!important;display:grid!important;visibility:visible!important;opacity:1!important;
 left:50%!important;right:auto!important;top:auto!important;
 bottom:calc(16px + env(safe-area-inset-bottom))!important;
 transform:translate3d(-50%,0,0)!important;
 z-index:2147483000!important;pointer-events:auto!important;isolation:isolate!important;
}
body>nav#karalioGlobalDock button{pointer-events:auto!important;visibility:visible!important;opacity:1!important}
@media(max-width:640px){
 body>nav#karalioGlobalDock{bottom:calc(12px + env(safe-area-inset-bottom))!important}
}

/* V12.168 · Vereinswasserzeichen dezent durch Kacheln sichtbar */
body.club-has-logo .card,
body.club-has-logo .q,
body.club-has-logo .menu-module,
body.club-has-logo .row,
body.club-has-logo .game,
body.club-has-logo .event{
 background:rgba(255,255,255,.84)!important;
 -webkit-backdrop-filter:blur(.7px) saturate(1.04);
 backdrop-filter:blur(.7px) saturate(1.04);
}
body.club-has-logo .dashboard-next-date{
 background:rgba(248,250,252,.76)!important;
}
body.club-has-logo .dashboard-next-date:hover{
 background:rgba(242,246,250,.9)!important;
}
body.club-has-logo .dashboard-response-summary,
body.club-has-logo .dashboard-next-head,
body.club-has-logo .dashboard-no-response{
 background:transparent!important;
}
@media(max-width:640px){
 body.club-has-logo .card,
 body.club-has-logo .q,
 body.club-has-logo .menu-module,
 body.club-has-logo .row,
 body.club-has-logo .game,
 body.club-has-logo .event{background:rgba(255,255,255,.86)!important}
}

/* V12.169 · mehr Vereinstiefe und weniger Reinweiß auf Mobilgeräten */
body.club-has-logo{
 background:
   radial-gradient(circle at 92% 34%,rgba(8,47,109,.055),transparent 36%),
   linear-gradient(155deg,#eef2f6 0%,#f3f6f4 54%,#e9eef3 100%)!important;
}
body.club-has-logo .karalio-top{
 background:rgba(249,251,253,.94)!important;
 -webkit-backdrop-filter:blur(16px) saturate(1.08);
 backdrop-filter:blur(16px) saturate(1.08);
}
body.club-has-logo .card,
body.club-has-logo .q,
body.club-has-logo .menu-module,
body.club-has-logo .row,
body.club-has-logo .game,
body.club-has-logo .event{
 background:rgba(249,251,253,.78)!important;
 border-color:rgba(201,211,222,.82)!important;
 box-shadow:0 8px 24px rgba(7,35,69,.07)!important;
}
body.club-has-logo .dashboard-next-date{
 background:rgba(234,240,246,.7)!important;
}
body.club-has-logo nav.bottom.karalio-dock{
 background:rgba(247,250,252,.88)!important;
}
@media(max-width:640px){
 body.club-has-logo::before{
   width:510px!important;
   height:510px!important;
   right:-175px!important;
   top:390px!important;
   opacity:.095!important;
   filter:grayscale(1) contrast(.88)!important;
 }
 body.club-has-logo .card,
 body.club-has-logo .q,
 body.club-has-logo .menu-module,
 body.club-has-logo .row,
 body.club-has-logo .game,
 body.club-has-logo .event{
   background:rgba(248,251,252,.72)!important;
   -webkit-backdrop-filter:blur(.35px) saturate(1.03);
   backdrop-filter:blur(.35px) saturate(1.03);
 }
 body.club-has-logo .dashboard-next-date{background:rgba(231,238,244,.62)!important}
 body.club-has-logo .dashboard-response-summary>div{background:rgba(248,251,252,.18)!important}
}

/* V12.170 · Spiel und Training wieder eindeutig unterscheidbar */
body.club-has-logo .dashboard-next-card.dashboard-match{
 border-top:5px solid #0b438d!important;
 border-color:#b9cce3!important;
 border-top-color:#0b438d!important;
 background:rgba(241,247,253,.76)!important;
}
body.club-has-logo .dashboard-next-card.dashboard-training{
 border-top:5px solid #278143!important;
 border-color:#b9d7c2!important;
 border-top-color:#278143!important;
 background:rgba(241,249,243,.76)!important;
}
body.club-has-logo .dashboard-match .dashboard-next-head{
 background:linear-gradient(90deg,rgba(224,235,249,.72),rgba(247,250,253,.2))!important;
}
body.club-has-logo .dashboard-training .dashboard-next-head{
 background:linear-gradient(90deg,rgba(223,242,228,.76),rgba(247,251,248,.2))!important;
}
body.club-has-logo .dashboard-match .dashboard-next-icon{
 background:#dfeaf8!important;
 color:#0b438d!important;
}
body.club-has-logo .dashboard-training .dashboard-next-icon{
 background:#dcefe2!important;
 color:#24763c!important;
}
body.club-has-logo .dashboard-match .dashboard-next-date{background:rgba(224,235,247,.64)!important}
body.club-has-logo .dashboard-training .dashboard-next-date{background:rgba(225,240,229,.66)!important}
body.club-has-logo .dashboard-match .dashboard-next-head>div>span{color:#315f94!important}
body.club-has-logo .dashboard-training .dashboard-next-head>div>span{color:#34734a!important}
@media(max-width:640px){
 body.club-has-logo .dashboard-next-card.dashboard-match{background:rgba(239,246,252,.7)!important}
 body.club-has-logo .dashboard-next-card.dashboard-training{background:rgba(239,248,242,.7)!important}
}

/* V12.174 · Menü als dauerhaftes kompaktes 3-Spalten-Kachelraster */
.menu-groups{display:grid;gap:20px}
.menu-group{min-width:0}
.menu-group-heading{display:flex;align-items:center;gap:9px;margin:0 0 9px;padding:0 3px}
.menu-group-heading span{display:grid;place-items:center;min-width:30px;height:22px;padding:0 7px;border-radius:999px;background:#e8f5eb;color:#157b35;font-size:10px;font-weight:900;letter-spacing:.08em}
.menu-group-heading h2{margin:0;color:#17304f;font-size:14px;line-height:1.2;letter-spacing:.01em}
.menu-group .menu-modules{margin:0}
.menu-modules{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:10px!important;
 align-items:stretch!important;
}
.menu-module{
 position:relative!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:flex-start!important;
 justify-content:flex-start!important;
 gap:10px!important;
 width:100%!important;
 min-width:0!important;
 min-height:118px!important;
 padding:14px!important;
 text-align:left!important;
 overflow:hidden!important;
}
.menu-module .menu-module-icon{
 width:38px!important;
 height:38px!important;
 flex:0 0 38px!important;
 border-radius:12px!important;
 font-size:17px!important;
}
.menu-module .grow{width:100%;min-width:0}
.menu-module strong{
 display:block!important;
 font-size:13px!important;
 line-height:1.2!important;
 overflow-wrap:anywhere!important;
}
.menu-module .grow>span{
 display:-webkit-box!important;
 margin-top:5px!important;
 font-size:10px!important;
 line-height:1.3!important;
 overflow:hidden!important;
 -webkit-line-clamp:2;
 -webkit-box-orient:vertical;
}
.menu-module>.arrow{
 position:absolute!important;
 top:15px!important;
 right:13px!important;
 color:#7c8998!important;
 font-size:18px!important;
}
@media(max-width:760px){
 .menu-groups{gap:16px}
 .menu-group-heading{margin-bottom:7px}
 .menu-group-heading h2{font-size:12px}
 .menu-modules{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
 .menu-module{min-height:104px!important;padding:11px 9px!important;gap:9px!important;border-radius:14px!important}
 .menu-module .menu-module-icon{width:34px!important;height:34px!important;flex-basis:34px!important;font-size:15px!important}
 .menu-module strong{font-size:11px!important;line-height:1.16!important}
 .menu-module .grow>span{display:none!important}
 .menu-module>.arrow{top:11px!important;right:9px!important;font-size:16px!important}
}
@media(max-width:370px){
 .menu-modules{gap:6px!important}
 .menu-module{min-height:98px!important;padding:9px 7px!important}
 .menu-module strong{font-size:10px!important}
 .menu-module>.arrow{right:7px!important}
}

/* V12.176 · sicherer Einstieg in die eigenständige Trainingsplanung */
.scope-audience-field{margin:14px 0;padding:14px;border:1px solid var(--karalio-border);border-radius:14px;background:rgba(239,245,251,.72)}
.setting-security-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.setting-security-row>div{display:flex;flex-direction:column;gap:4px}
.setting-security-row span{color:var(--karalio-muted);font-size:13px}
@media(max-width:560px){.setting-security-row{align-items:stretch;flex-direction:column}.setting-security-row button{width:100%}}
.event-create-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px;padding:5px;border-radius:14px;background:#edf2f7}
.event-create-mode button{min-height:44px;border:0;border-radius:10px;background:transparent;color:#667589;font-weight:850}
.event-create-mode button.active{background:#fff;color:var(--karalio-navy);box-shadow:0 2px 8px rgba(8,47,109,.1)}
.event-series-fields{margin:4px 0 16px;padding:14px;border:1px solid var(--karalio-border);border-radius:14px;background:rgba(241,246,251,.76)}
.series-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.series-schedule-head{display:flex;justify-content:space-between;gap:12px;margin:8px 0;color:var(--karalio-navy)}
.series-schedule-head span{color:var(--karalio-muted);font-size:12px}
.series-schedule{display:grid;gap:7px}
.series-day-row{display:grid;grid-template-columns:minmax(125px,1fr) minmax(110px,.7fr) minmax(110px,.7fr);gap:9px;align-items:end;padding:9px 10px;border:1px solid #dce5ee;border-radius:11px;background:rgba(255,255,255,.86)}
.series-day-row label{margin:0!important}.series-day-toggle{display:flex!important;align-items:center;gap:8px;min-height:42px;font-weight:850}.series-day-toggle input{width:auto!important;margin:0}
.series-preview{margin-top:10px;padding:10px 12px;border-radius:10px;background:#e8f5eb;color:#236b39;font-size:12px;font-weight:800}
@media(max-width:620px){.series-schedule-head{flex-direction:column;gap:3px}.series-day-row{grid-template-columns:1fr 1fr}.series-day-toggle{grid-column:1/-1}.series-quick-actions>*{flex:1 1 auto}}
.calendar-heading-actions{display:flex;align-items:center;gap:8px}
.calendar-event-entry{position:relative;display:flex;align-items:stretch;min-width:0}
.calendar-event-entry>.calendar-team-event-row{padding-right:54px!important}
.event-row-menu,.calendar-global-menu{position:relative;z-index:5}
.event-row-menu{position:absolute;right:9px;top:50%;transform:translateY(-50%)}
.event-row-menu summary,.calendar-global-menu summary{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d5e0ea;border-radius:11px;background:#fff;color:var(--karalio-navy);font-size:15px;font-weight:900;letter-spacing:1px;cursor:pointer;list-style:none}
.event-row-menu summary::-webkit-details-marker,.calendar-global-menu summary::-webkit-details-marker{display:none}
.event-row-menu>div,.calendar-global-menu>div{position:absolute;right:0;top:46px;z-index:20;min-width:220px;padding:6px;border:1px solid #d7e0e9;border-radius:12px;background:#fff;box-shadow:0 14px 36px rgba(16,36,60,.16)}
.event-row-menu button,.calendar-global-menu button{width:100%;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:#b32626;text-align:left;font-weight:850;white-space:nowrap}
.event-row-menu button:hover,.calendar-global-menu button:hover{background:#fff0f0}
.individual-team-standard-note{display:flex;flex-direction:column;gap:4px;margin:14px 0;padding:12px 14px;border-left:4px solid var(--karalio-green);border-radius:10px;background:#edf8f0;color:#245f36}
.individual-team-standard-note span{font-size:12px;line-height:1.4;color:#51705a}
.calendar-global-menu>div{top:48px}
@media(max-width:560px){.event-row-menu{right:7px}.event-row-menu summary{width:36px;height:36px}.event-row-menu>div,.calendar-global-menu>div{min-width:205px}}
.scope-audience-field legend{padding:0 7px;color:var(--karalio-navy);font-weight:900}
.scope-audience-field>label,.scope-team-targets label{display:flex;align-items:center;gap:8px;margin:8px 0;font-weight:700}
.scope-audience-field input{width:auto!important;margin:0}
.scope-audience-field small{display:block;margin-top:10px;color:var(--karalio-muted)}
.scope-team-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 12px;margin:10px 0;padding:10px;border-radius:10px;background:#fff}
.shared-club-calendar-row{border-left:4px solid var(--karalio-navy)!important;background:rgba(235,242,250,.74)!important}
.player-dashboard-list-item.club-event{border-left:4px solid var(--karalio-navy)}
@media(max-width:640px){.scope-team-targets{grid-template-columns:1fr 1fr}}
.training-planner-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;margin-bottom:14px}
.training-planner-primary,.training-library-entry{min-height:210px}
.training-planner-primary h2,.training-library-entry h2{margin:6px 0 8px}.training-planner-primary p,.training-library-entry p{color:#667589;line-height:1.5}
.training-planner-primary{border-top:5px solid #278143!important;background:linear-gradient(135deg,rgba(232,247,236,.88),rgba(249,252,250,.78))!important}
.training-library-entry{display:flex;align-items:flex-start;gap:14px;border-top:5px solid #0b438d!important;background:linear-gradient(135deg,rgba(230,239,250,.88),rgba(249,251,253,.78))!important}
.training-library-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:14px;background:#dce9f8;color:#0b438d;font-size:24px;font-weight:900}
@media(max-width:760px){.training-planner-intro{grid-template-columns:1fr}.training-planner-primary,.training-library-entry{min-height:0}.training-library-entry{gap:11px}.training-library-icon{width:42px;height:42px}}

/* V12.210 – Bildbibliothek für Einzelübungen */
.athletic-library-image{width:100%;max-height:220px;object-fit:contain;border-radius:12px;background:#f2f5f7;margin-bottom:10px}
/* V12.211 – anklickbare Übungsbibliothek mit ausführlicher Detailansicht */
.player-library-exercise{position:relative;width:100%;border:0;text-align:left;cursor:pointer;font:inherit}.player-library-exercise>.arrow{align-self:center;font-size:28px;color:#8c99a8}.exercise-detail-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.exercise-detail-top h1{margin:2px 0 0;color:#102c55;font-size:28px}.exercise-detail-hero{overflow:hidden;padding:16px!important}.exercise-detail-hero img{display:block;width:100%;height:min(58vh,620px);object-fit:contain;background:#f2f5f7;border-radius:16px}.exercise-detail-facts{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 4px 2px;color:#173d70}.exercise-detail-facts span{color:#708090}.exercise-detail-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.exercise-detail-section{padding:18px;border:1px solid #dce4ed;border-radius:16px;background:#fff}.exercise-detail-section h3{margin:0 0 8px;color:#0b3678;font-size:16px}.exercise-detail-section p{margin:0;color:#465568;line-height:1.65;font-size:14px}.exercise-detail-section:nth-last-child(-n+2){background:#fff8f4}.exercise-detail-section:nth-last-child(-n+2) h3{color:#9b3b20}
@media(max-width:680px){.exercise-detail-top h1{font-size:23px}.exercise-detail-hero{padding:8px!important}.exercise-detail-hero img{height:auto;max-height:58vh}.exercise-detail-copy{grid-template-columns:1fr}.exercise-detail-section{padding:15px}.exercise-detail-section p{font-size:13px;line-height:1.6}.player-library-exercise{grid-template-columns:105px 1fr 20px}}

/* KARALIO V12.218 */
.public-registration-header-clean{justify-content:center}
.public-registration-header-clean .context-switch,
.public-registration-header-clean .global-account-access,
.registration-page .context-switch,
.registration-page .global-account-access{display:none!important}
.player-photo-simple-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.simple-photo-management .player-photo-preview img{width:100%;height:100%;object-fit:cover}
.approval-load-error{border-color:#dc2626}
@media(max-width:640px){
 .player-photo-simple-actions>*{flex:1 1 100%;text-align:center}
}

/* =========================================================
   KARALIO V12.219 – EINHEITLICHES, SCHLANKES DASHBOARD
   ========================================================= */

/* Dashboard-Grundfläche */
.karalio-dashboard-unified .page{
  max-width:1180px;
  margin:0 auto;
  padding-top:18px;
}

/* Begrüßungen werden kompakt statt hero-artig */
.karalio-dashboard-unified .welcome{
  min-height:0!important;
  padding:18px 20px!important;
  margin-bottom:14px!important;
  border-radius:18px!important;
}
.karalio-dashboard-unified .welcome h1,
.karalio-dashboard-unified .welcome h2{
  margin:0 0 4px!important;
  font-size:clamp(1.35rem,2.2vw,1.85rem)!important;
  line-height:1.15!important;
}
.karalio-dashboard-unified .welcome p,
.karalio-dashboard-unified .welcome .sub{
  margin:0!important;
  font-size:.92rem!important;
}

/* Alle Dashboard-Sektionen folgen derselben vertikalen Rhythmik */
.karalio-dashboard-unified section,
.karalio-dashboard-unified .section{
  margin-top:18px!important;
}
.karalio-dashboard-unified .section-title,
.karalio-dashboard-unified section>h2{
  font-size:1.05rem!important;
  margin-bottom:10px!important;
}

/* Karten deutlich kompakter */
.karalio-dashboard-unified .card{
  border-radius:16px!important;
  padding:15px!important;
  box-shadow:0 4px 14px rgba(15,23,42,.055)!important;
}
.karalio-dashboard-unified .card h2,
.karalio-dashboard-unified .card h3{
  margin-top:0!important;
  margin-bottom:5px!important;
}
.karalio-dashboard-unified .card .sub{
  line-height:1.35!important;
}

/* Funktions-/Bereichskacheln überall gleich:
   Desktop 3 Spalten, Tablet/Mobil 2 Spalten */
.karalio-dashboard-unified .dashboard-grid,
.karalio-dashboard-unified .menu-grid,
.karalio-dashboard-unified .scope-summary-grid,
.karalio-dashboard-unified .quick-grid,
.karalio-dashboard-unified .areas-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.karalio-dashboard-unified .dashboard-grid>.card,
.karalio-dashboard-unified .menu-grid>.card,
.karalio-dashboard-unified .scope-summary-grid>.card,
.karalio-dashboard-unified .quick-grid>.card,
.karalio-dashboard-unified .areas-grid>.card{
  min-height:0!important;
}

/* Handlungsbedarf ist prominent, aber nicht riesig */
.karalio-dashboard-unified .dashboard-action-alert{
  padding:12px 14px!important;
  margin:10px 0!important;
  border-radius:14px!important;
  min-height:0!important;
}
.karalio-dashboard-unified .dashboard-action-alert strong{
  font-size:.95rem!important;
}
.karalio-dashboard-unified .dashboard-action-alert small{
  font-size:.8rem!important;
}

/* Nächster Termin / Kalender kompakter */
.karalio-dashboard-unified .calendar-card,
.karalio-dashboard-unified .next-event-card,
.karalio-dashboard-unified .appointment-card,
.karalio-dashboard-unified .event-card{
  padding:14px!important;
  min-height:0!important;
}

/* Kennzahlen nicht mehr als übergroße Flächen */
.karalio-dashboard-unified .scope-summary-card,
.karalio-dashboard-unified .stat-card{
  min-height:92px!important;
  padding:14px!important;
}
.karalio-dashboard-unified .scope-summary-card b,
.karalio-dashboard-unified .stat-card b{
  font-size:1.45rem!important;
}

/* Erklärtexte auf dem Dashboard zurücknehmen */
.karalio-dashboard-unified .card>p.sub{
  max-width:70ch;
}

/* Aushilfen: für aktuellen Release konsequent unsichtbar.
   Funktionalität kann später wieder aktiviert werden. */
[data-view*="aushilf" i],
[data-action*="aushilf" i],
[data-open*="aushilf" i],
.aushilfe-card,
.aushilfen-card,
.aushilfe-dashboard,
.aushilfen-dashboard{
  display:none!important;
}

/* Einheitliche mobile Dichte */
@media(max-width:900px){
  .karalio-dashboard-unified .dashboard-grid,
  .karalio-dashboard-unified .menu-grid,
  .karalio-dashboard-unified .scope-summary-grid,
  .karalio-dashboard-unified .quick-grid,
  .karalio-dashboard-unified .areas-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:520px){
  .karalio-dashboard-unified .page{
    padding-left:12px!important;
    padding-right:12px!important;
    padding-top:10px!important;
  }
  .karalio-dashboard-unified .welcome{
    padding:14px 15px!important;
    margin-bottom:10px!important;
  }
  .karalio-dashboard-unified .card{
    padding:12px!important;
    border-radius:14px!important;
  }
  .karalio-dashboard-unified .dashboard-grid,
  .karalio-dashboard-unified .menu-grid,
  .karalio-dashboard-unified .scope-summary-grid,
  .karalio-dashboard-unified .quick-grid,
  .karalio-dashboard-unified .areas-grid{
    gap:9px!important;
  }
}

/* KARALIO V12.220 – kompakte Termin-Vorschau im Spielerdashboard */
.player-home-compact .player-next-events{
  max-height:none!important;
  overflow:visible!important;
}
.player-home-compact .player-next-events-list{
  padding:6px!important;
}
.player-home-compact .player-dashboard-list-item{
  margin:0!important;
}
.player-home-compact .player-dashboard-list-item + .player-dashboard-list-item{
  border-top:1px solid rgba(148,163,184,.18);
}
.player-home-compact .player-dashboard-list-row{
  min-height:0!important;
  padding:10px 8px!important;
}
.player-home-compact .player-dashboard-rsvp-row{
  padding:0 8px 10px!important;
  gap:6px!important;
}
.player-home-compact .player-dashboard-rsvp-row button{
  padding:7px 9px!important;
  min-height:34px!important;
}
.player-home-compact .player-events-heading{
  margin-top:16px!important;
  margin-bottom:8px!important;
}
@media(max-width:640px){
  .player-home-compact .player-dashboard-list-row{
    padding:9px 6px!important;
  }
  .player-home-compact .player-dashboard-list-main small{
    display:none;
  }
}

/* KARALIO V12.221 – Sortierung Individualtraining Spieler */
.player-individual-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  margin:12px 0 10px;
}
.player-individual-toolbar label{
  font-size:.82rem;
  font-weight:700;
  color:var(--muted,#64748b);
}
.player-individual-toolbar select{
  width:auto;
  min-width:190px;
  margin:0;
  padding:8px 34px 8px 10px;
  border-radius:10px;
}
@media(max-width:520px){
  .player-individual-toolbar{
    justify-content:space-between;
  }
  .player-individual-toolbar select{
    min-width:0;
    flex:1;
    max-width:230px;
  }
}

/* KARALIO V12.222 – Info nach Terminabsage / Individualplanänderung */
.attendance-plan-info{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(22,163,74,.08);
  border:1px solid rgba(22,163,74,.22);
  color:#14532d;
}
.attendance-plan-info strong{font-size:.92rem}
.attendance-plan-info span{font-size:.82rem;line-height:1.4}
.attendance-plan-info .karalio-text-button{align-self:flex-start;margin-top:2px}
.dashboard-individual-change-note{
  display:inline-block;
  margin-top:4px;
  font-size:.76rem;
  line-height:1.3;
  color:#166534;
}

/* KARALIO V12.223 – einheitliche Icon-Logik */
.player-menu-icon,
.scope-icon,
.player-bottom-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.35em;
  line-height:1;
}
.player-menu-entry .player-menu-icon{
  font-size:1.15rem;
}
.scope-summary-card .scope-icon{
  font-size:1.1rem;
}
.player-bottom-icon{
  font-size:1.05rem;
}

/* Statussymbole bleiben bewusst getrennt:
   ✓ = gespeichert/erledigt
   ! = Warnung/offen
   × = Fehler/Absage
*/

/* =========================================================
   KARALIO V12.224 – GLOBALES SEITENLAYOUT
   Gilt für Desktop + Mobil und alle Rollenebenen
   ========================================================= */

:root{
  --karalio-page-max:1100px;
  --karalio-page-gap:18px;
}

/* Jede interne Inhaltsseite folgt derselben Breite und Position */
main.page,
.player-page,
.registration-page{
  width:100%!important;
  max-width:var(--karalio-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:20px!important;
  padding-right:20px!important;
  box-sizing:border-box!important;
}

/* Einheitlicher Seitenkopf */
.unified-page-header{
  margin:0 0 22px!important;
  padding:0!important;
}
.unified-page-navigation,
.menu-page-navigation{
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  margin:0 0 10px!important;
  padding:0!important;
}
.compact-back-link,
.player-profile-back{
  appearance:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:4px 2px!important;
  margin:0!important;
  min-height:0!important;
  width:auto!important;
  border-radius:0!important;
  color:#416282!important;
  font-size:.9rem!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.compact-back-link:hover,
.player-profile-back:hover{
  color:#111111!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

.unified-page-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.unified-page-heading h1{
  margin:4px 0 0!important;
  font-size:clamp(1.85rem,3vw,2.65rem)!important;
  line-height:1.06!important;
  color:#161616!important;
}
.unified-page-heading .eyebrow{
  color:#13813b!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.unified-page-subtitle{
  margin:7px 0 0!important;
  color:#66758a!important;
  max-width:760px!important;
  line-height:1.45!important;
}
.unified-page-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}

/* Auch alte Seitenköpfe optisch auf denselben Rhythmus bringen */
.context-header,
.player-calendar-head,
.staff-player-calendar-head,
.compact-welcome{
  margin:0 0 22px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.context-title,
.player-calendar-head h1,
.staff-player-calendar-head h2,
.compact-welcome h1{
  font-size:clamp(1.85rem,3vw,2.65rem)!important;
  line-height:1.06!important;
  color:#161616!important;
  margin:4px 0!important;
}
.context-kicker,
.player-calendar-head .eyebrow,
.staff-player-calendar-head .eyebrow,
.compact-welcome .eyebrow{
  color:#13813b!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}

/* Karten und Sektionen folgen überall demselben Raster */
main.page > .card,
.player-page > .card{
  margin-top:0;
}
main.page > * + *,
.player-page > * + *{
  margin-top:var(--karalio-page-gap);
}

/* Kein separater großer weißer Back-Button mehr */
.player-profile-back{
  display:inline-flex!important;
}

/* Mobile: gleicher Aufbau, nur kompakter */
@media(max-width:760px){
  :root{--karalio-page-gap:14px}
  main.page,
  .player-page,
  .registration-page{
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .unified-page-header{
    margin-bottom:18px!important;
  }
  .unified-page-navigation,
  .menu-page-navigation{
    margin-bottom:8px!important;
  }
  .unified-page-heading{
    gap:10px!important;
    flex-direction:column!important;
  }
  .unified-page-actions{
    width:100%!important;
    justify-content:flex-start!important;
  }
  .unified-page-heading h1,
  .context-title,
  .player-calendar-head h1,
  .staff-player-calendar-head h2,
  .compact-welcome h1{
    font-size:1.9rem!important;
  }
}

/* Sehr kleine Geräte */
@media(max-width:390px){
  main.page,
  .player-page{
    padding-left:11px!important;
    padding-right:11px!important;
  }
  .unified-page-heading h1{
    font-size:1.72rem!important;
  }
}

/* KARALIO V12.226 – Darkmode */
:root{--surface:#fff;--surface-soft:#f4f6f8;--nav-surface:rgba(255,255,255,.96);--shadow:rgba(15,23,42,.08)}
html[data-resolved-appearance="dark"]{
 --black:#f7fafc;--green:#55c878;--green2:#10291a;--line:#2b3644;--bg:#0e141b;--text:#eef3f8;--muted:#9eabb9;--red:#ff7373;--orange:#f0b84b;
 --surface:#151d26;--surface-soft:#111922;--nav-surface:rgba(18,26,35,.96);--shadow:rgba(0,0,0,.34)
}
html[data-resolved-appearance="dark"],html[data-resolved-appearance="dark"] body{background:#0e141b!important;color:var(--text)!important}
html[data-resolved-appearance="dark"] body::before{opacity:.025!important;filter:invert(1) grayscale(1)}
html[data-resolved-appearance="dark"] .card,
html[data-resolved-appearance="dark"] .row,
html[data-resolved-appearance="dark"] .welcome,
html[data-resolved-appearance="dark"] .q,
html[data-resolved-appearance="dark"] .event,
html[data-resolved-appearance="dark"] .game,
html[data-resolved-appearance="dark"] .empty,
html[data-resolved-appearance="dark"] .credential,
html[data-resolved-appearance="dark"] .player-rsvp-area,
html[data-resolved-appearance="dark"] .registration-card,
html[data-resolved-appearance="dark"] .karalio-reset-card,
html[data-resolved-appearance="dark"] .timing-guest-card,
html[data-resolved-appearance="dark"] .player-dashboard-list-item,
html[data-resolved-appearance="dark"] .player-calendar-stream,
html[data-resolved-appearance="dark"] .athletic-task-card,
html[data-resolved-appearance="dark"] .scope-summary-card,
html[data-resolved-appearance="dark"] .player-menu-entry,
html[data-resolved-appearance="dark"] .team-player-invite-card{
 background:var(--surface)!important;border-color:var(--line)!important;color:var(--text)!important;box-shadow:0 6px 20px var(--shadow)!important
}
html[data-resolved-appearance="dark"] .karalio-top,
html[data-resolved-appearance="dark"] .top{background:#0a1017!important;border-color:var(--line)!important}
html[data-resolved-appearance="dark"] .karalio-dock,
html[data-resolved-appearance="dark"] .bottom{background:var(--nav-surface)!important;border-color:var(--line)!important;box-shadow:0 12px 32px rgba(0,0,0,.38)!important}
html[data-resolved-appearance="dark"] h1,
html[data-resolved-appearance="dark"] h2,
html[data-resolved-appearance="dark"] h3,
html[data-resolved-appearance="dark"] strong,
html[data-resolved-appearance="dark"] .context-title,
html[data-resolved-appearance="dark"] .unified-page-heading h1{color:#f4f7fb!important}
html[data-resolved-appearance="dark"] p,
html[data-resolved-appearance="dark"] .sub,
html[data-resolved-appearance="dark"] small,
html[data-resolved-appearance="dark"] .subtitle,
html[data-resolved-appearance="dark"] .unified-page-subtitle{color:var(--muted)!important}
html[data-resolved-appearance="dark"] .eyebrow{color:#59c97a!important}
html[data-resolved-appearance="dark"] input,
html[data-resolved-appearance="dark"] select,
html[data-resolved-appearance="dark"] textarea{background:#0f1720!important;color:#f4f7fb!important;border-color:#344252!important}
html[data-resolved-appearance="dark"] input::placeholder,
html[data-resolved-appearance="dark"] textarea::placeholder{color:#778597!important}
html[data-resolved-appearance="dark"] option{background:#111922;color:#f4f7fb}
html[data-resolved-appearance="dark"] .secondary{background:#1a2530!important;color:#e8eef5!important;border-color:#394858!important}
html[data-resolved-appearance="dark"] .primary{background:#eaf0f6!important;color:#0d1620!important}
html[data-resolved-appearance="dark"] .player-training-private-note{background:#1a222c!important;border-color:var(--line)!important;color:var(--muted)!important}
html[data-resolved-appearance="dark"] .credential.success,
html[data-resolved-appearance="dark"] .attendance-plan-info{background:#10281a!important;border-color:#245e36!important;color:#a7e9bb!important}
html[data-resolved-appearance="dark"] .credential.error,
html[data-resolved-appearance="dark"] .attendance-error{background:#32191c!important;border-color:#76363d!important;color:#ffb3b8!important}
html[data-resolved-appearance="dark"] .credential.warning,
html[data-resolved-appearance="dark"] .dashboard-action-alert{background:#2c2515!important;border-color:#725c27!important;color:#f6d88e!important}
.setting-select-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.setting-select-row>div{display:flex;flex-direction:column;gap:3px}
.setting-select-row span{color:var(--muted);font-size:.84rem}
.setting-select-row select{width:auto;min-width:180px;margin:0}
.appearance-preview-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.appearance-choice{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);color:var(--muted)}
.appearance-choice.active{border-color:var(--green);background:var(--green2);color:var(--green)}
@media(max-width:600px){
 .setting-select-row{align-items:stretch;flex-direction:column;gap:10px}
 .setting-select-row select{width:100%}
 .appearance-preview-row{grid-template-columns:1fr}
}

/* KARALIO V12.227 – Public mode + global legal footer */

/* Öffentliche Seiten sind IMMER hell, unabhängig vom gespeicherten Benutzer-Theme */
body.karalio-public-mode,
body.karalio-public-mode .karalio-public-shell,
body.karalio-public-mode .karalio-login-panel,
body.karalio-public-mode .karalio-login-card,
body.karalio-public-mode .karalio-legal-page,
body.karalio-public-mode .karalio-legal-main,
body.karalio-public-mode .karalio-legal-card,
body.karalio-public-mode .registration-page,
body.karalio-public-mode .registration-card{
  color-scheme:light!important;
}
body.karalio-public-mode{
  background:#f7f7f8!important;
  color:#111!important;
}
body.karalio-public-mode .karalio-login-panel,
body.karalio-public-mode .karalio-login-card,
body.karalio-public-mode .karalio-legal-card,
body.karalio-public-mode .registration-card{
  background:#fff!important;
  color:#111!important;
  border-color:#dedfe2!important;
}
body.karalio-public-mode .karalio-login-card h1,
body.karalio-public-mode .karalio-login-card h2,
body.karalio-public-mode .karalio-legal-card h1,
body.karalio-public-mode .karalio-legal-card h2,
body.karalio-public-mode .registration-card h1,
body.karalio-public-mode .registration-card h2,
body.karalio-public-mode .registration-card strong{
  color:#161616!important;
}
body.karalio-public-mode input,
body.karalio-public-mode select,
body.karalio-public-mode textarea{
  background:#fff!important;
  color:#111!important;
  border-color:#cfd5dc!important;
}
body.karalio-public-mode .karalio-dock,
body.karalio-public-mode .bottom,
body.karalio-public-mode .context-bottom{
  display:none!important;
}

/* Rechtliche Links dauerhaft am Seitenende */
.karalio-legal-footer{
  width:100%;
  max-width:1100px;
  margin:24px auto 104px;
  padding:18px 20px 0;
  border-top:1px solid var(--line,#dedfe2);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  color:var(--muted,#6d7078);
  font-size:.78rem;
}
.karalio-legal-footer button{
  border:0;
  background:transparent;
  color:inherit;
  padding:4px 2px;
  font:inherit;
  cursor:pointer;
}
.karalio-legal-footer button:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.karalio-public-mode .karalio-legal-footer{
  margin-bottom:24px;
  color:#6d7078!important;
  border-top-color:#dedfe2!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{
  color:#9eabb9;
  border-top-color:#2b3644;
}
@media(max-width:760px){
  .karalio-legal-footer{
    margin-top:18px;
    margin-bottom:118px;
    padding-left:14px;
    padding-right:14px;
  }
  .karalio-public-mode .karalio-legal-footer{margin-bottom:22px}
}

/* =========================================================
   KARALIO V12.228 – GLOBALER DARKMODE QUALITÄTSPASS
   ========================================================= */

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode){
  --dm-bg:#0d141c;
  --dm-surface:#151e27;
  --dm-surface-2:#19232e;
  --dm-surface-3:#202b37;
  --dm-border:#314050;
  --dm-text:#f3f6fa;
  --dm-muted:#9eacba;
  --dm-green:#58ce7b;
  --dm-green-soft:#122a1b;
  --dm-amber:#f1bd59;
  --dm-amber-soft:#302817;
  --dm-red:#ff7c82;
  --dm-red-soft:#351c20;
}

/* Seiten / Hauptflächen */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode),
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) #app,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) main.page,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-page{
  background:var(--dm-bg)!important;
  color:var(--dm-text)!important;
}

/* ALLE typischen weißen Inhaltsflächen */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .card,.row,.q,.event,.game,.empty,.credential,.player-rsvp-area,
 .registration-card,.scope-summary-card,.stat-card,.player-status-strip>div,
 .player-menu-entry,.athletic-task-card,.individual-session-card,
 .player-dashboard-list-item,.player-calendar-item,.calendar-item,
 .calendar-week,.calendar-stream-item,.player-calendar-stream,
 .team-player-invite-card,.pending-player-approval,.settings-card,
 .player-event-detail-card,.athletic-detail-card,.exercise-detail-copy>div,
 .exercise-detail-hero,.player-library-exercise,.dashboard-action-alert,
 .player-training-private-note,.invite-link-box,.player-photo-card,
 .staff-player-card,.performance-card,.scope-calendar-card
){
  background:var(--dm-surface)!important;
  color:var(--dm-text)!important;
  border-color:var(--dm-border)!important;
  box-shadow:none!important;
}

/* Karten innerhalb von Karten / sekundäre Flächen */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .player-status-strip>div,.athletic-prescription,.athletic-trainer-note,
 .exercise-detail-facts,.player-event-detail-grid>div,.setting-security-row,
 .setting-select-row,.appearance-choice,.registration-email-state,
 .dashboard-response-summary,.calendar-response-summary
){
  background:var(--dm-surface-2)!important;
  color:var(--dm-text)!important;
  border-color:var(--dm-border)!important;
}

/* Kalender: Mannschaft */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .player-calendar-team,.calendar-team-item,.team-calendar-item,
 [class*="calendar"][class*="team"]
){
  background:var(--dm-surface)!important;
  color:var(--dm-text)!important;
  border-color:var(--dm-border)!important;
}

/* Kalender: Individualtraining – grün angedeutet, aber dunkel */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .player-calendar-individual,.calendar-individual-item,
 [class*="calendar"][class*="individual"]
){
  background:#13231b!important;
  color:var(--dm-text)!important;
  border-color:#2f7044!important;
}

/* Weiß auf weiß verhindern: Text in allen Karten */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .card,.row,.event,.game,.athletic-task-card,.player-calendar-stream,
 .player-dashboard-list-item,.player-status-strip
) :is(h1,h2,h3,h4,strong,b){
  color:var(--dm-text)!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .card,.row,.event,.game,.athletic-task-card,.player-calendar-stream,
 .player-dashboard-list-item,.player-status-strip
) :is(p,small,span:not(.badge):not(.eyebrow)){
  color:var(--dm-muted);
}

/* Spielerstatus: Offen / Erledigt */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-status-strip{
  background:transparent!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-status-strip>div{
  background:var(--dm-surface)!important;
  border:1px solid var(--dm-border)!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-status-strip>div.needs-action{
  background:var(--dm-amber-soft)!important;
  border-color:#7f6329!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-status-strip>div span{
  color:#c5d0dc!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-status-strip>div strong{
  color:var(--dm-green)!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-status-strip>div.needs-action strong{
  color:var(--dm-amber)!important;
}

/* Badges / Statuschips */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .badge.grey,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .badge:not(.green):not(.red):not(.amber){
  background:#26313d!important;color:#d4dce5!important;border-color:#3c4a59!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .badge.green{
  background:var(--dm-green-soft)!important;color:#a9eabb!important;border-color:#29623c!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .badge.red{
  background:var(--dm-red-soft)!important;color:#ffb5b9!important;border-color:#7c3941!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .badge.amber{
  background:var(--dm-amber-soft)!important;color:#f6d98c!important;border-color:#75602d!important;
}

/* Rückmeldestatus im Kalender */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .accepted,.declined,.maybe,.open
){
  border-color:var(--dm-border);
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .accepted{
  color:#a9eabb!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .declined{
  color:#ffb5b9!important;
}

/* Formulare */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(input,select,textarea){
  background:#0f1821!important;
  color:var(--dm-text)!important;
  border-color:#3a4959!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(input,textarea)::placeholder{
  color:#748394!important;
}

/* Sekundärbuttons / aktive Bottomnav */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .secondary{
  background:var(--dm-surface-3)!important;
  color:var(--dm-text)!important;
  border-color:#405061!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-dock button.active{
  background:#22303d!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-dock button.active :is(.dock-icon,.dock-label){
  color:var(--dm-green)!important;
}

/* Wochenüberschriften / Linien */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .calendar-week-heading,.player-calendar-week-heading,.roster-position-heading
){
  color:#c8d2dc!important;
  border-color:#536170!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .calendar-week-heading span,.player-calendar-week-heading span
){
  background:#263340!important;
  color:#dbe3eb!important;
  border-color:#445363!important;
}

/* Links / Pfeile */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .arrow,.compact-back-link,.karalio-text-button
){
  color:#a9b6c3!important;
}

/* Logo: keine CSS-Invertierung; echtes Dark-Asset wird per JS gesetzt */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) img[data-karalio-brand="true"]{
  filter:none!important;
}

/* Sicherheitsnetz gegen echte reine Weißflächen aus Alt-CSS */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) [style*="background: white" i],
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) [style*="background:#fff" i],
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) [style*="background: #fff" i]{
  background:var(--dm-surface)!important;
}

/* Öffentliche Seite bleibt ausdrücklich unangetastet / hell */
html[data-resolved-appearance="light"] body.karalio-public-mode img[data-karalio-brand="true"],
body.karalio-public-mode img[data-karalio-brand="true"]{
  filter:none!important;
}

/* KARALIO V12.229 – stabiler Themewechsel, Logo rein per CSS */
.karalio-brand-picture{
  display:inline-grid;
  align-items:center;
}
.karalio-brand-picture>img{
  grid-area:1/1;
  width:100%;
  height:auto;
}
.karalio-brand-dark{display:none!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-brand-light{display:none!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-brand-dark{display:block!important}
body.karalio-public-mode .karalio-brand-light{display:block!important}
body.karalio-public-mode .karalio-brand-dark{display:none!important}
.appearance-choice{cursor:pointer;user-select:none}

/* KARALIO V12.230 – Terminmetadaten und komplette Individualeinheiten */
.player-dashboard-list-date,.player-calendar-date,.staff-personal-calendar-date,.scope-event-date,.dashboard-next-date{font-variant-numeric:tabular-nums}
.player-dashboard-list-date strong,.player-calendar-date b,.staff-personal-calendar-date b,.scope-event-date b,.dashboard-next-date strong{white-space:nowrap}
.player-dashboard-list-date span,.player-calendar-date span,.staff-personal-calendar-date span,.scope-event-date span{white-space:nowrap}
.individual-session-history{border-left:3px solid var(--green,#157b35);padding-left:12px}
@media(max-width:620px){
 .player-dashboard-list-date strong,.player-calendar-date b,.staff-personal-calendar-date b,.scope-event-date b{white-space:normal}
}

/* =========================================================
   KARALIO V12.231 – Einstellungen + interne Rechtsseiten
   ========================================================= */

/* Einstellungsseite im Darkmode vollständig dunkel */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .settings-card,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .appearance-settings-card,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-delete-card{
  background:#151e27!important;
  color:#f3f6fa!important;
  border-color:#314050!important;
  box-shadow:none!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .settings-card h2,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .settings-card strong,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .settings-card label{
  color:#f3f6fa!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .settings-card span,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .settings-card p{
  color:#9eacba!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .setting-select-row,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .setting-security-row,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .setting-toggle,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-delete-confirm{
  background:#19232e!important;
  color:#f3f6fa!important;
  border-color:#314050!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .appearance-choice{
  background:#19232e!important;
  color:#b8c4d0!important;
  border-color:#314050!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .appearance-choice.active{
  background:#122a1b!important;
  color:#58ce7b!important;
  border-color:#3f9b59!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) #prefAppearance{
  background:#0f1821!important;
  color:#f3f6fa!important;
  border-color:#3a4959!important;
}

/* Impressum/Datenschutz aus eingeloggtem Bereich übernehmen das aktive Theme */
html[data-resolved-appearance="dark"] body.karalio-legal-internal,
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-page,
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-main{
  background:#0d141c!important;
  color:#f3f6fa!important;
}
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-card{
  background:#151e27!important;
  color:#f3f6fa!important;
  border-color:#314050!important;
  box-shadow:none!important;
}
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-top{
  background:#101820!important;
  border-color:#314050!important;
}
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-card h1,
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-card h2,
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-card strong{
  color:#f3f6fa!important;
}
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-card p,
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-card li{
  color:#c4cfda!important;
}
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-card a{
  color:#72da91!important;
}
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-legal-top button{
  background:#19232e!important;
  color:#f3f6fa!important;
  border-color:#314050!important;
}

/* Voll-Logo auf internen Rechtsseiten respektiert Darkmode */
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-brand-light{display:none!important}
html[data-resolved-appearance="dark"] body.karalio-legal-internal .karalio-brand-dark{display:block!important}

/* Login/Registrierung bleiben weiterhin immer hell */
body.karalio-public-mode:not(.karalio-legal-internal){
  color-scheme:light!important;
}

/* =========================================================
   KARALIO V12.233 – GLOBAL RESPONSIVE HARDENING
   Desktopfenster mit geringer Breite verhalten sich wie kompakte Ansichten.
   ========================================================= */

html,body{max-width:100%;overflow-x:hidden}
main,.page,.dashboard,.dashboard-main,.player-dashboard,.calendar-page,
.player-calendar,.staff-personal-calendar,.card,.panel{
  min-width:0;
  max-width:100%;
}
*,*::before,*::after{box-sizing:border-box}
img,svg,video{max-width:100%}

/* Flexible Textbereiche dürfen wirklich schrumpfen und umbrechen. */
.grow,.player-dashboard-list-main,.player-calendar-main,
.staff-personal-calendar-stream-row .grow,.scope-event-main{
  min-width:0;
}
.player-dashboard-list-main strong,
.player-dashboard-list-main small,
.player-calendar-main strong,
.player-calendar-main small,
.staff-personal-calendar-stream-row strong,
.staff-personal-calendar-stream-row small,
.scope-event-main strong,
.scope-event-main small{
  overflow-wrap:anywhere;
}

/* Auch Desktop wechselt bei schmalem Viewport in eine kompakte Darstellung. */
@media (max-width: 900px){
  .page{padding-left:18px!important;padding-right:18px!important}
  .dashboard-next,
  .player-dashboard-next,
  .player-dashboard-list,
  .player-calendar-week,
  .staff-personal-calendar-stream{
    width:100%!important;
    max-width:100%!important;
  }

  .player-dashboard-list-row,
  .player-calendar-row,
  .staff-personal-calendar-stream-row,
  .scope-event-row{
    grid-template-columns:minmax(90px,auto) minmax(0,1fr) auto!important;
    gap:10px!important;
  }

  /* Rückmeldebuttons: bei zu wenig Platz unter den Termininhalt statt rechts herauszulaufen. */
  .player-dashboard-list-row .response-actions,
  .player-dashboard-list-row .event-response-buttons,
  .player-dashboard-list-row .attendance-actions,
  .player-dashboard-list-row .dashboard-response-actions{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .player-dashboard-list-row .response-actions button,
  .player-dashboard-list-row .event-response-buttons button,
  .player-dashboard-list-row .attendance-actions button,
  .player-dashboard-list-row .dashboard-response-actions button{
    min-width:0!important;
    width:100%!important;
    white-space:normal!important;
  }
}

@media (max-width: 680px){
  .page{padding-left:12px!important;padding-right:12px!important}

  .player-dashboard-list-row,
  .player-calendar-row,
  .staff-personal-calendar-stream-row,
  .scope-event-row{
    display:grid!important;
    grid-template-columns:minmax(76px,auto) minmax(0,1fr)!important;
    align-items:start!important;
  }

  .player-dashboard-list-row > .badge,
  .player-calendar-row > .badge,
  .staff-personal-calendar-stream-row > .badge,
  .scope-event-row > .badge{
    grid-column:2!important;
    justify-self:start!important;
  }

  .player-dashboard-list-date,
  .player-calendar-date,
  .staff-personal-calendar-date,
  .scope-event-date{
    min-width:0!important;
    width:auto!important;
  }
  .player-dashboard-list-date strong,
  .player-calendar-date b,
  .staff-personal-calendar-date b,
  .scope-event-date b{
    white-space:normal!important;
    line-height:1.2!important;
  }

  .player-dashboard-list-row .response-actions,
  .player-dashboard-list-row .event-response-buttons,
  .player-dashboard-list-row .attendance-actions,
  .player-dashboard-list-row .dashboard-response-actions{
    grid-column:1/-1!important;
  }
}

@media (max-width: 460px){
  .player-dashboard-list-row,
  .player-calendar-row,
  .staff-personal-calendar-stream-row,
  .scope-event-row{
    grid-template-columns:1fr!important;
  }
  .player-dashboard-list-date,
  .player-calendar-date,
  .staff-personal-calendar-date,
  .scope-event-date,
  .player-dashboard-list-main,
  .player-calendar-main,
  .staff-personal-calendar-stream-row .grow,
  .scope-event-main,
  .player-dashboard-list-row > .badge,
  .player-calendar-row > .badge,
  .staff-personal-calendar-stream-row > .badge,
  .scope-event-row > .badge{
    grid-column:1!important;
  }
  .player-dashboard-list-row .response-actions,
  .player-dashboard-list-row .event-response-buttons,
  .player-dashboard-list-row .attendance-actions,
  .player-dashboard-list-row .dashboard-response-actions{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   KARALIO V12.234 – ROBUSTE TERMINZEILEN
   Unabhängig von Browser-Zoom, Textskalierung und Desktop/Mobil.
   ========================================================= */

/* Jede Terminzeile darf inhaltlich wachsen statt Text zu überlagern. */
.player-home-compact .player-dashboard-list-item{
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}

.player-home-compact .player-dashboard-list-row{
  display:grid!important;
  grid-template-columns:minmax(118px,max-content) minmax(0,1fr) auto 22px!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:6px!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:64px!important;
  padding:10px 12px!important;
}

/* Datum/Zeit erhält genügend Platz und darf trotzdem umbrechen. */
.player-home-compact .player-dashboard-list-date{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-width:0!important;
  width:auto!important;
  line-height:1.2!important;
}
.player-home-compact .player-dashboard-list-date strong{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.player-home-compact .player-dashboard-list-date span{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  margin-top:3px!important;
  line-height:1.2!important;
}

/* Titel/Typ/Ort dürfen nicht mehr auf die Datumsspalte laufen. */
.player-home-compact .player-dashboard-list-main{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  padding-left:10px!important;
}
.player-home-compact .player-dashboard-list-main > span{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.player-home-compact .player-dashboard-list-main strong{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  line-height:1.2!important;
}
.player-home-compact .player-dashboard-list-main small{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  line-height:1.25!important;
}

/* Statusbadge darf nicht in Text hineinragen. */
.player-home-compact .player-dashboard-list-row > .badge{
  position:static!important;
  justify-self:end!important;
  align-self:center!important;
  max-width:100%!important;
  white-space:nowrap!important;
}

/* Rückmeldebuttons sind ein eigener Block unter der Terminzeile. */
.player-home-compact .player-dashboard-rsvp-row,
.player-home-compact .player-dashboard-list-item.training .player-dashboard-rsvp-row,
.player-home-compact .player-dashboard-list-item.game .player-dashboard-rsvp-row{
  position:static!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:7px!important;
  padding:0 12px 10px!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.player-home-compact .player-dashboard-rsvp-row button,
.player-home-compact .player-dashboard-list-item.training .player-dashboard-rsvp-row button,
.player-home-compact .player-dashboard-list-item.game .player-dashboard-rsvp-row button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:38px!important;
  padding:8px 6px!important;
  white-space:normal!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}

/* Individualtraining: gleiche robuste Zeilenlogik. */
.player-home-compact .player-dashboard-list-row.individual{
  grid-template-columns:minmax(118px,max-content) minmax(0,1fr) auto 22px!important;
}

/* Bei normal schmalem Desktop früher kompakt werden. */
@media(max-width:1180px){
  .player-home-compact .player-dashboard-list-row,
  .player-home-compact .player-dashboard-list-row.individual{
    grid-template-columns:minmax(104px,auto) minmax(0,1fr) auto 20px!important;
    column-gap:9px!important;
  }
}

/* Tablet / sehr stark gezoomter Desktop:
   Datum oben links, Inhalt daneben, Status darunter sauber angeordnet. */
@media(max-width:860px){
  .player-home-compact .player-dashboard-list-row,
  .player-home-compact .player-dashboard-list-row.individual{
    grid-template-columns:minmax(92px,auto) minmax(0,1fr) auto!important;
    padding:9px 10px!important;
  }
  .player-home-compact .player-dashboard-list-arrow{
    display:none!important;
  }
}

/* Mobile bzw. extreme Textskalierung: Inhalt stapeln. */
@media(max-width:620px){
  .player-home-compact .player-dashboard-list-row,
  .player-home-compact .player-dashboard-list-row.individual{
    grid-template-columns:1fr auto!important;
    align-items:start!important;
  }
  .player-home-compact .player-dashboard-list-date{
    grid-column:1!important;
    grid-row:1!important;
  }
  .player-home-compact .player-dashboard-list-main{
    grid-column:1 / -1!important;
    grid-row:2!important;
    padding-left:8px!important;
    margin-top:2px!important;
  }
  .player-home-compact .player-dashboard-list-row > .badge{
    grid-column:2!important;
    grid-row:1!important;
  }
  .player-home-compact .player-dashboard-rsvp-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding:0 10px 10px!important;
  }
}

/* Ganz schmal: Teilnahmebuttons untereinander. */
@media(max-width:390px){
  .player-home-compact .player-dashboard-rsvp-row{
    grid-template-columns:1fr!important;
  }
}

/* Auch Kalenderzeilen gegen Textüberlagerung absichern. */
.player-calendar-stream-row,
.staff-personal-calendar-stream-row,
.scope-event-row{
  min-width:0!important;
  max-width:100%!important;
}
.player-calendar-event,
.staff-personal-calendar-stream-row,
.scope-event-row{
  min-width:0!important;
}
.player-calendar-event .grow,
.staff-personal-calendar-stream-row .grow,
.scope-event-row .grow{
  min-width:0!important;
  overflow:hidden!important;
}
.player-calendar-event .grow strong,
.player-calendar-event .grow .sub,
.staff-personal-calendar-stream-row .grow strong,
.staff-personal-calendar-stream-row .grow small,
.scope-event-row .grow strong,
.scope-event-row .grow .sub{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* =========================================================
   KARALIO V12.235 – GLOBALER TERMIN-/LISTENSTANDARD
   Gilt rollen- und seitenübergreifend.
   ========================================================= */

/* Grundsätzlich niemals horizontales Ausbrechen aus Inhaltskarten. */
html, body, #app, main, .page {
  max-width:100%;
  overflow-x:hidden;
}
.card, .row, .event, .game,
.player-dashboard-list-item,
.player-dashboard-list-row,
.player-calendar-stream-row,
.player-calendar-event,
.staff-personal-calendar-stream-row,
.calendar-event-entry,
.calendar-team-event-row,
.scope-event-row,
.scope-event-team-wrap,
.dashboard-next-card,
.dashboard-next-date,
.ath-history-item,
.individual-session-history {
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Gemeinsame Datum/Zeit-Spalte. */
.player-dashboard-list-date,
.player-calendar-date,
.staff-personal-calendar-date,
.scope-event-date,
.gdate,
.dashboard-next-date > strong {
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-variant-numeric:tabular-nums;
}

.player-dashboard-list-date strong,
.player-calendar-date b,
.staff-personal-calendar-date b,
.scope-event-date b,
.gdate b,
.dashboard-next-date strong {
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  line-height:1.2!important;
}

/* Alle Inhaltsbereiche dürfen schrumpfen und umbrechen. */
.grow,
.player-dashboard-list-main,
.player-calendar-event .grow,
.staff-personal-calendar-stream-row .grow,
.scope-event-row .grow,
.calendar-team-event-row .grow,
.dashboard-next-head > div {
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}

.player-dashboard-list-main strong,
.player-dashboard-list-main small,
.player-calendar-event .grow strong,
.player-calendar-event .grow .sub,
.staff-personal-calendar-stream-row .grow strong,
.staff-personal-calendar-stream-row .grow small,
.scope-event-row .grow strong,
.scope-event-row .grow .sub,
.calendar-team-event-row .grow strong,
.calendar-team-event-row .grow .sub,
.dashboard-next-head h2 {
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.25!important;
}

/* Statuschips dürfen niemals über Inhalt liegen. */
.badge,
.player-dashboard-list-row > .badge,
.player-calendar-event > .badge,
.staff-personal-calendar-stream-row > .badge,
.scope-event-row > .badge {
  position:static!important;
  max-width:100%!important;
  white-space:nowrap!important;
  flex-shrink:0!important;
}

/* Gemeinsames Grid für Terminzeilen auf breiten Ansichten. */
.player-dashboard-list-row,
.player-calendar-event,
.staff-personal-calendar-stream-row,
.scope-event-row,
.calendar-team-event-row {
  display:grid!important;
  grid-template-columns:minmax(118px,max-content) minmax(0,1fr) auto!important;
  column-gap:12px!important;
  row-gap:7px!important;
  align-items:center!important;
  width:100%!important;
  height:auto!important;
}

/* Pfeile als zusätzliche Spalte, wenn vorhanden. */
.player-dashboard-list-row:has(.player-dashboard-list-arrow),
.player-calendar-event:has(.arrow),
.scope-event-row:has(.arrow) {
  grid-template-columns:minmax(118px,max-content) minmax(0,1fr) auto 22px!important;
}

/* Rückmeldung/Anwesenheit immer eigener Block unter dem Termin. */
.player-dashboard-rsvp-row,
.player-rsvp-buttons,
.dashboard-response-summary,
.calendar-response-summary,
.event-response-buttons,
.attendance-actions,
.response-actions {
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.player-dashboard-rsvp-row,
.player-rsvp-buttons {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
  padding-left:12px!important;
  padding-right:12px!important;
}

.player-dashboard-rsvp-row button,
.player-rsvp-buttons button {
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.15!important;
}

/* Dashboard-Karten mit Terminblöcken. */
.dashboard-next-date {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:4px 10px!important;
  align-items:center!important;
  min-width:0!important;
}
.dashboard-next-date strong,
.dashboard-next-date span {
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.dashboard-next-date b {
  grid-row:1 / span 2;
  grid-column:2;
  align-self:center;
}

/* Spielerakte / Individualverlauf. */
.ath-history-item {
  display:grid!important;
  grid-template-columns:minmax(118px,max-content) minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:start!important;
}
.ath-history-date {
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Mittlere Desktopbreite oder starker Browserzoom. */
@media(max-width:1100px){
  .player-dashboard-list-row,
  .player-calendar-event,
  .staff-personal-calendar-stream-row,
  .scope-event-row,
  .calendar-team-event-row,
  .ath-history-item {
    grid-template-columns:minmax(96px,auto) minmax(0,1fr) auto!important;
    column-gap:9px!important;
  }

  .player-dashboard-list-row:has(.player-dashboard-list-arrow),
  .player-calendar-event:has(.arrow),
  .scope-event-row:has(.arrow) {
    grid-template-columns:minmax(96px,auto) minmax(0,1fr) auto 20px!important;
  }
}

/* Kompakt: Datum oben, Inhalt darunter/nebendran, keine Überlagerung. */
@media(max-width:760px){
  .player-dashboard-list-row,
  .player-calendar-event,
  .staff-personal-calendar-stream-row,
  .scope-event-row,
  .calendar-team-event-row,
  .ath-history-item,
  .player-dashboard-list-row:has(.player-dashboard-list-arrow),
  .player-calendar-event:has(.arrow),
  .scope-event-row:has(.arrow) {
    grid-template-columns:minmax(88px,auto) minmax(0,1fr) auto!important;
    align-items:start!important;
  }

  .player-dashboard-list-arrow,
  .player-calendar-event .arrow,
  .scope-event-row .arrow {
    display:none!important;
  }

  .player-dashboard-rsvp-row,
  .player-rsvp-buttons {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
}

/* Sehr schmal: vollständig stapeln. */
@media(max-width:520px){
  .player-dashboard-list-row,
  .player-calendar-event,
  .staff-personal-calendar-stream-row,
  .scope-event-row,
  .calendar-team-event-row,
  .ath-history-item,
  .player-dashboard-list-row:has(.player-dashboard-list-arrow),
  .player-calendar-event:has(.arrow),
  .scope-event-row:has(.arrow) {
    grid-template-columns:1fr auto!important;
  }

  .player-dashboard-list-date,
  .player-calendar-date,
  .staff-personal-calendar-date,
  .scope-event-date,
  .gdate,
  .ath-history-date {
    grid-column:1!important;
    grid-row:1!important;
  }

  .player-dashboard-list-main,
  .player-calendar-event .grow,
  .staff-personal-calendar-stream-row .grow,
  .scope-event-row .grow,
  .calendar-team-event-row .grow,
  .ath-history-item .grow {
    grid-column:1 / -1!important;
    grid-row:2!important;
  }

  .player-dashboard-list-row > .badge,
  .player-calendar-event > .badge,
  .staff-personal-calendar-stream-row > .badge,
  .scope-event-row > .badge,
  .ath-history-item > .badge {
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
  }

  .player-dashboard-rsvp-row,
  .player-rsvp-buttons {
    grid-template-columns:1fr!important;
  }

  .dashboard-next-date {
    grid-template-columns:1fr auto!important;
  }
}

/* Extrem kleine Breiten / hohe Textskalierung. */
@media(max-width:360px){
  .player-dashboard-list-row,
  .player-calendar-event,
  .staff-personal-calendar-stream-row,
  .scope-event-row,
  .calendar-team-event-row,
  .ath-history-item {
    grid-template-columns:1fr!important;
  }

  .player-dashboard-list-row > .badge,
  .player-calendar-event > .badge,
  .staff-personal-calendar-stream-row > .badge,
  .scope-event-row > .badge,
  .ath-history-item > .badge {
    grid-column:1!important;
    grid-row:auto!important;
    justify-self:start!important;
  }
}

/* =========================================================
   KARALIO V12.237 – PROFIL-/KONTOMENÜ DARKMODE
   ========================================================= */

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-popover,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-top .global-account-access .account-popover{
  background:#151e27!important;
  color:#f3f6fa!important;
  border-color:#314050!important;
  box-shadow:0 18px 50px rgba(0,0,0,.42)!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-popover-head{
  border-bottom-color:#314050!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-popover-head strong{
  color:#f3f6fa!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-popover-head span{
  color:#9eacba!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-popover button{
  background:transparent!important;
  color:#e8eef5!important;
  border-color:transparent!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-popover button:hover{
  background:#202b37!important;
  color:#fff!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-popover .account-logout{
  color:#ff8b90!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-popover .account-logout:hover{
  background:#351c20!important;
  color:#ffb5b9!important;
}

/* Profilbutton selbst ebenfalls darkmodegerecht, sofern Initialen statt Foto. */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-top .global-account-access .account-avatar:not(.has-photo),
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-avatar:not(.has-photo){
  background:#19232e!important;
  color:#f3f6fa!important;
  border-color:#3b4b5d!important;
  box-shadow:none!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-top .global-account-access .account-avatar.has-initials{
  background:#19232e!important;
  color:#f3f6fa!important;
  border-color:#3b4b5d!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-top .global-account-access .account-avatar:hover{
  background:#202b37!important;
  border-color:#526477!important;
}

/* Account-Menü auf der Menüseite selbst */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-menu-section{
  background:#151e27!important;
  color:#f3f6fa!important;
  border-color:#314050!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-menu-section strong{
  color:#f3f6fa!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .account-menu-section span{
  color:#9eacba!important;
}

/* =========================================================
   KARALIO V12.238 – LOGO-MASTER + DARKMODE-KONTRASTLOGO
   ========================================================= */

/* Alle internen Voll-Logos verwenden im Darkmode das Kontrastlogo:
   KARA + blaue Bestandteile = weiß, LIO/Grün bleibt grün.
   Die öffentliche Start-/Loginseite bleibt beim normalen Farblogo. */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode)
img[src$="karalio-logo-color-uhd.png"]{
  content:url("assets/karalio-logo-color-uhd-dark.png")!important;
}

/* Bereits als Light/Dark-Paar eingebundene Logos. */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-brand-light{
  display:none!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-brand-dark{
  display:block!important;
}

/* Logo niemals browserseitig weich hochskalieren. */
.karalio-logo,
.section-karalio,
.mfa-brand-logo,
.karalio-reset-logo,
.karalio-brand-picture img{
  image-rendering:auto!important;
  object-fit:contain!important;
  height:auto;
}

/* Der Header nutzt immer das UHD-Asset; keine alte Logo-Datei als Fallback. */
.karalio-top .karalio-logo{
  max-width:100%!important;
}

/* =========================================================
   KARALIO V12.239 – GLOBAL REBRAND: WHITE / GREEN / BLACK
   ========================================================= */

:root{
  --karalio-brand-bg:#071016;
  --karalio-brand-bg-2:#0d171f;
  --karalio-brand-surface:#121d26;
  --karalio-brand-surface-2:#182630;
  --karalio-brand-border:#2b3a45;
  --karalio-brand-white:#ffffff;
  --karalio-brand-muted:#a9b7c2;
  --karalio-brand-green:#31d158;
  --karalio-brand-green-2:#22b847;
  --karalio-brand-danger:#ff6b6f;
}

/* Logo: künftig global ausschließlich Weiß/Grün */
.karalio-brand-light{display:none!important}
.karalio-brand-dark{display:block!important}

img[src$="karalio-logo-color-uhd.png"]{
  content:url("assets/karalio-logo-color-uhd-dark.png")!important;
}

/* Globale Markenflächen */
.karalio-top,
.top,
.public-registration-header,
.karalio-legal-top,
.karalio-public-shell,
.karalio-login-panel{
  background:var(--karalio-brand-bg)!important;
  color:var(--karalio-brand-white)!important;
  border-color:var(--karalio-brand-border)!important;
}

/* Öffentliche Start-/Login-/Registrierungsseiten jetzt im neuen Branding */
body.karalio-public-mode{
  background:var(--karalio-brand-bg)!important;
  color:var(--karalio-brand-white)!important;
}
body.karalio-public-mode .karalio-login-card,
body.karalio-public-mode .registration-card,
body.karalio-public-mode .karalio-legal-card{
  background:var(--karalio-brand-surface)!important;
  color:var(--karalio-brand-white)!important;
  border-color:var(--karalio-brand-border)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.28)!important;
}
body.karalio-public-mode :is(h1,h2,h3,strong,label){
  color:var(--karalio-brand-white)!important;
}
body.karalio-public-mode :is(p,small,.sub,.subtitle){
  color:var(--karalio-brand-muted)!important;
}
body.karalio-public-mode :is(input,select,textarea){
  background:#0c151c!important;
  color:#fff!important;
  border-color:#33434f!important;
}
body.karalio-public-mode :is(input,textarea)::placeholder{
  color:#71818d!important;
}
body.karalio-public-mode a{
  color:#66df83!important;
}

/* Marke: Grün statt altem Blau */
.eyebrow,
.context-kicker,
.karalio-public-kicker,
.player-dashboard-list-main>span,
.player-calendar-event .eyebrow,
.staff-personal-calendar-kind{
  color:var(--karalio-brand-green)!important;
}

/* Hauptnavigation */
.karalio-dock,
.bottom{
  background:#0b151d!important;
  border-color:var(--karalio-brand-border)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.34)!important;
}
.karalio-dock button,
.bottom button{
  color:#a9b7c2!important;
}
.karalio-dock button.active,
.bottom button.active{
  background:#16252e!important;
}
.karalio-dock button.active :is(.dock-icon,.dock-label),
.bottom button.active :is(.dock-icon,.dock-label){
  color:var(--karalio-brand-green)!important;
}

/* Profil-/Kontozugang */
.account-avatar:not(.has-photo),
.karalio-top .global-account-access .account-avatar:not(.has-photo){
  background:#17242d!important;
  color:#fff!important;
  border-color:#3b4b57!important;
}
.account-popover{
  background:#121d26!important;
  color:#fff!important;
  border-color:#2b3a45!important;
}
.account-popover-head{border-bottom-color:#2b3a45!important}
.account-popover-head strong{color:#fff!important}
.account-popover-head span{color:#9eacba!important}
.account-popover button{color:#edf3f7!important}
.account-popover button:hover{background:#1b2a34!important}
.account-popover .account-logout{color:#ff8185!important}

/* Primäraktionen konsequent grün */
.primary,
button.primary,
a.primary{
  background:var(--karalio-brand-green)!important;
  border-color:var(--karalio-brand-green)!important;
  color:#071016!important;
  box-shadow:none!important;
}
.primary:hover,
button.primary:hover,
a.primary:hover{
  background:var(--karalio-brand-green-2)!important;
  border-color:var(--karalio-brand-green-2)!important;
}

/* Sekundärflächen im Markensystem */
.secondary{
  background:#182630!important;
  color:#fff!important;
  border-color:#334550!important;
}
.secondary:hover{
  background:#20313c!important;
}

/* Statusfarben bleiben funktional, aber harmonisiert */
.badge.green,
.accepted{
  background:#12301d!important;
  color:#a9f1ba!important;
  border-color:#2a6940!important;
}
.badge.amber,
.maybe{
  background:#332a16!important;
  color:#f4d487!important;
  border-color:#765f28!important;
}
.badge.red,
.declined{
  background:#361b20!important;
  color:#ffb2b6!important;
  border-color:#7b343d!important;
}

/* Footer / rechtliche Links */
.karalio-legal-footer{
  color:#8fa0ad!important;
  border-top-color:#2a3944!important;
}
.karalio-legal-footer button:hover{
  color:var(--karalio-brand-green)!important;
}

/* Wasserzeichen und alte blaue UI-Akzente neutralisieren */
[style*="#111111" i],
[style*="#161616" i]{
  color:inherit;
}

/* Darkmode bleibt kompatibel, Branding selbst ändert sich nicht mehr zwischen den Modi */
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-top,
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-dock,
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .bottom{
  background:var(--karalio-brand-bg)!important;
  color:#fff!important;
}

/* Logo scharf darstellen */
.karalio-logo,
.section-karalio,
.mfa-brand-logo,
.karalio-reset-logo,
.karalio-brand-picture img{
  image-rendering:auto!important;
  object-fit:contain!important;
  height:auto;
}

/* =========================================================
   KARALIO V12.240 – FINAL BRAND SYSTEM
   SCHWARZ / WEISS / GRÜN – KEIN BLAU
   ========================================================= */

:root{
  --kara-black:#0a0a0a;
  --kara-black-2:#111111;
  --kara-surface:#181818;
  --kara-surface-2:#202020;
  --kara-border:#383838;
  --kara-white:#ffffff;
  --kara-muted:#a9a9a9;
  --kara-green:#31d158;
  --kara-green-dark:#22b847;
}

/* Offizielles Logo:
   hell = Schwarz/Grün, dunkel = Weiß/Grün */
.karalio-brand-light{display:block!important}
.karalio-brand-dark{display:none!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-brand-light{display:none!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-brand-dark{display:block!important}

img[src$="karalio-logo-color-uhd.png"],
img[src$="karalio-logo-black-green-uhd.png"]{
  content:url("assets/karalio-logo-black-green-uhd.png")!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode)
img[src$="karalio-logo-black-green-uhd.png"],
body.karalio-public-mode img[src$="karalio-logo-black-green-uhd.png"]{
  content:url("assets/karalio-logo-white-green-uhd.png")!important;
}

/* Markenflächen immer schwarz/anthrazit */
.karalio-top,
.karalio-dock,
.bottom,
.account-popover,
body.karalio-public-mode,
.karalio-public-shell,
.karalio-login-panel,
.public-registration-header,
.karalio-legal-top{
  background:var(--kara-black)!important;
  border-color:var(--kara-border)!important;
}

/* Kein blauer Text in Header/Navi */
.karalio-top,
.karalio-top a,
.karalio-top button,
.karalio-dock button,
.bottom button{
  color:var(--kara-white)!important;
}

/* aktive Navigation ausschließlich Grün */
.karalio-dock button.active,
.bottom button.active{
  background:var(--kara-surface-2)!important;
  color:var(--kara-green)!important;
}
.karalio-dock button.active *,
.bottom button.active *{
  color:var(--kara-green)!important;
}

/* Primäraktion = Grün */
.primary, button.primary, a.primary,
.btn-primary, .button-primary{
  background:var(--kara-green)!important;
  border-color:var(--kara-green)!important;
  color:var(--kara-black)!important;
}
.primary:hover, button.primary:hover, a.primary:hover,
.btn-primary:hover, .button-primary:hover{
  background:var(--kara-green-dark)!important;
  border-color:var(--kara-green-dark)!important;
}

/* Sekundär = Schwarz/Weiß */
.secondary, button.secondary, a.secondary{
  background:var(--kara-surface)!important;
  border-color:var(--kara-border)!important;
  color:var(--kara-white)!important;
}

/* Kicker, aktive Links und Markenakzente = Grün */
.eyebrow, .context-kicker, .karalio-public-kicker,
.player-dashboard-list-main>span,
.player-calendar-event .eyebrow,
.staff-personal-calendar-kind,
a.active, .active-link{
  color:var(--kara-green)!important;
}

/* Inputs: keine blauen Fokusrahmen */
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible{
  outline-color:var(--kara-green)!important;
  border-color:var(--kara-green)!important;
  box-shadow:0 0 0 3px rgba(49,209,88,.18)!important;
}

/* Checkbox/Radio/Progress in Marken-Grün */
input[type="checkbox"], input[type="radio"], progress{
  accent-color:var(--kara-green)!important;
}

/* Lightmode: Inhaltsflächen weiß/grau/schwarz/grün */
html[data-resolved-appearance="light"] body:not(.karalio-public-mode){
  --ink:#111111;
  --muted:#666666;
  --line:#dddddd;
  --surface:#ffffff;
  --surface-soft:#f4f4f4;
}

/* Darkmode: ausschließlich neutral + Grün */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode){
  --ink:#ffffff;
  --muted:#aaaaaa;
  --line:#363636;
  --surface:#151515;
  --surface-soft:#1c1c1c;
}

/* Profilmenü */
.account-popover{
  color:#fff!important;
}
.account-popover-head strong,
.account-popover button:not(.account-logout){
  color:#fff!important;
}
.account-popover-head span{color:#aaa!important}
.account-popover button:hover{background:#202020!important}

/* Öffentliche Karten */
body.karalio-public-mode .karalio-login-card,
body.karalio-public-mode .registration-card,
body.karalio-public-mode .karalio-legal-card{
  background:#151515!important;
  border-color:#383838!important;
  color:#fff!important;
}
body.karalio-public-mode :is(h1,h2,h3,strong,label){color:#fff!important}
body.karalio-public-mode :is(p,small,.sub,.subtitle){color:#aaa!important}
body.karalio-public-mode :is(input,select,textarea){
  background:#0e0e0e!important;
  border-color:#3a3a3a!important;
  color:#fff!important;
}
body.karalio-public-mode a{color:var(--kara-green)!important}

/* Footer */
.karalio-legal-footer{color:#999!important;border-top-color:#333!important}
.karalio-legal-footer button:hover{color:var(--kara-green)!important}

/* SVG/Icon strokes that inherit currentColor now follow black/white/green. */
.karalio-logo, .section-karalio, .mfa-brand-logo, .karalio-reset-logo{
  image-rendering:auto!important;
  object-fit:contain!important;
}

/* V12.241 – Logos auf allen Seiten auf neue Markenassets umgestellt */
.karalio-top .karalio-logo,
body.karalio-public-mode .karalio-logo,
.karalio-reset-logo,
.mfa-brand-logo,
.section-karalio{
  content:url("assets/karalio-logo-white-green-uhd.png")!important;
}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) main .section-karalio{
  content:url("assets/karalio-logo-black-green-uhd.png")!important;
}
.karalio-brand-light{
  content:url("assets/karalio-logo-black-green-uhd.png")!important;
}
.karalio-brand-dark{
  content:url("assets/karalio-logo-white-green-uhd.png")!important;
}
body.karalio-public-mode .karalio-brand-light,
body.karalio-public-mode .karalio-brand-dark{
  content:url("assets/karalio-logo-white-green-uhd.png")!important;
}

/* KARALIO V12.243 – intelligenter Kalender */
.calendar-today-marker{
 display:flex;align-items:center;gap:10px;margin:14px 0 12px;padding:9px 12px;
 border:1px solid var(--kara-green,#31d158);border-left:5px solid var(--kara-green,#31d158);
 border-radius:10px;background:rgba(49,209,88,.08)
}
.calendar-today-marker span{
 display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border-radius:999px;
 background:var(--kara-green,#31d158);color:#071016!important;font-size:10px;font-weight:900;letter-spacing:.08em
}
.calendar-today-marker strong{color:inherit!important;font-size:13px}
.calendar-collapsible{
 margin:10px 0 14px;border:1px solid var(--line,#d9dde2);border-radius:12px;overflow:hidden;background:var(--surface,#fff)
}
.calendar-collapsible>summary{
 display:flex;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;list-style:none;user-select:none;font-size:12px
}
.calendar-collapsible>summary::-webkit-details-marker{display:none}
.calendar-collapsible>summary strong{flex:1}
.calendar-toggle-arrow{color:var(--kara-green,#31d158)!important;font-weight:900}
.calendar-toggle-count{
 min-width:24px;padding:3px 7px;border-radius:999px;background:rgba(127,127,127,.12);
 text-align:center;font-size:10px;font-weight:800
}
.calendar-collapsible-content{padding:0 8px 8px;border-top:1px solid var(--line,#d9dde2)}
.calendar-past:not([open]){opacity:.78}
.calendar-later{margin-top:16px}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .calendar-collapsible{
 background:#151515!important;border-color:#363636!important
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .calendar-collapsible-content{border-top-color:#363636!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .calendar-today-marker{
 background:rgba(49,209,88,.10)!important;border-color:#31d158!important
}
@media(max-width:620px){
 .calendar-today-marker{margin:10px 0;padding:8px 10px}
 .calendar-collapsible>summary{padding:9px 10px}
}

/* =========================================================
   KARALIO V12.244 – RECHTSSEITEN IM GLOBALEN LAYOUT
   ========================================================= */

.global-legal-page{
  width:100%!important;
  max-width:1100px!important;
  margin:0 auto!important;
  padding:28px 20px 120px!important;
  box-sizing:border-box!important;
}

.global-legal-page .unified-page-header{
  margin-bottom:20px!important;
}

.global-legal-page .unified-page-navigation{
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  margin:0 0 10px!important;
}

.global-legal-page #legalBack.compact-back-link{
  appearance:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:4px 2px!important;
  margin:0!important;
  color:#aeb9c2!important;
  font-size:.9rem!important;
  line-height:1.2!important;
  font-weight:700!important;
  cursor:pointer!important;
  width:auto!important;
  min-height:0!important;
}

.global-legal-page #legalBack.compact-back-link:hover{
  color:var(--kara-green,#31d158)!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

.karalio-legal-content{
  display:grid!important;
  gap:14px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

.karalio-legal-content section{
  margin:0!important;
  padding:20px 22px!important;
  background:var(--surface,#fff)!important;
  border:1px solid var(--line,#ddd)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

.karalio-legal-content section h2{
  margin:0 0 10px!important;
  font-size:1.05rem!important;
  line-height:1.25!important;
}

.karalio-legal-content section p{
  margin:0!important;
  line-height:1.65!important;
}

.karalio-legal-content a{
  color:var(--kara-green,#31d158)!important;
  font-weight:700!important;
  text-decoration:none!important;
}

.karalio-legal-content a:hover{
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

.karalio-public-legal-header{
  position:relative!important;
  z-index:20!important;
}

/* Darkmode: exakt dieselben Flächenregeln wie normale Karten */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-content section,
body.karalio-public-mode .karalio-legal-content section{
  background:#151515!important;
  color:#f5f5f5!important;
  border-color:#363636!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-content section h2,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-content section strong,
body.karalio-public-mode .karalio-legal-content section h2,
body.karalio-public-mode .karalio-legal-content section strong{
  color:#fff!important;
}

html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-content section p,
body.karalio-public-mode .karalio-legal-content section p{
  color:#c2c2c2!important;
}

/* Alte Sondergestaltung neutralisieren */
.karalio-legal-page,
.karalio-legal-card,
.karalio-legal-top{
  max-width:none!important;
  box-shadow:none!important;
}

@media(max-width:760px){
  .global-legal-page{
    max-width:100%!important;
    padding:20px 14px 110px!important;
  }
  .karalio-legal-content section{
    padding:17px 16px!important;
    border-radius:12px!important;
  }
  .global-legal-page .unified-page-heading h1{
    font-size:1.9rem!important;
  }
}

/* =========================================================
   KARALIO V12.245 – GLOBALER LEGACY-FLÄCHEN-CLEANUP
   Kein weißer Alt-Balken mehr im Darkmode.
   ========================================================= */

/* Einheitliche Darkmode-Flächen für alte Seiten-/Kontextköpfe */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
  .karalio-section,
  .section,
  .context-header,
  .karalio-page-context,
  .record-tabs,
  .roster-position-list,
  .inline-info-content,
  .exercise-detail-section,
  .scope-team-targets,
  .event-row-menu>div,
  .calendar-global-menu>div,
  .event-create-mode,
  .club-account-logo-preview,
  .club-account-logo-placeholder,
  .club-logo-upload-account input[type=file]
){
  background:#151515!important;
  background-color:#151515!important;
  color:#f5f5f5!important;
  border-color:#363636!important;
  box-shadow:none!important;
}

/* Seitenkopf/Balken: exakt wie normale Karalio-Karten, aber kompakter */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-section{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  margin-bottom:16px!important;
  border:1px solid #363636!important;
  border-radius:14px!important;
  background:#151515!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-section strong{
  color:#fff!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-section small{
  color:#aaa!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-section .back{
  background:#202020!important;
  color:#fff!important;
  border:1px solid #3a3a3a!important;
  box-shadow:none!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-section .back:hover{
  background:#292929!important;
  color:#31d158!important;
  border-color:#31d158!important;
}

/* Abschnitts-/Vereinslogos niemals auf weißem Träger */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
  .section-club-logo,
  .club-context-logo
){
  background:#202020!important;
  border-color:#3a3a3a!important;
}

/* Profil-/Akte-Tabs */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .record-tabs{
  background:rgba(10,10,10,.96)!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .record-tab{
  background:#181818!important;
  color:#ccc!important;
  border-color:#3a3a3a!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .record-tab.active{
  background:#31d158!important;
  color:#0a0a0a!important;
  border-color:#31d158!important;
}

/* Info-Elemente */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .inline-info-disclosure summary{
  background:#202020!important;
  color:#31d158!important;
  border-color:#444!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .inline-info-content{
  color:#bbb!important;
}

/* Listen/Kader */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .roster-position-heading{
  color:#fff!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .roster-position-heading span{
  background:#242424!important;
  color:#fff!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .roster-position-list{
  background:#151515!important;
  border-color:#363636!important;
}

/* Übungsbibliothek und Übungsdetails */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-library-exercise{
  background:#151515!important;
  color:#fff!important;
  border:1px solid #363636!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-library-exercise h2,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-library-exercise strong{
  color:#fff!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-library-exercise p,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-library-exercise small{
  color:#aaa!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .exercise-detail-section{
  background:#151515!important;
  color:#eee!important;
  border-color:#363636!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .exercise-detail-section h3{
  color:#31d158!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .exercise-detail-section p{
  color:#c3c3c3!important;
}
/* Bildflächen dürfen neutral hell bleiben, wenn das Bild selbst einen hellen Hintergrund braucht */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .exercise-detail-hero img,
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .player-library-exercise img{
  background:#ededed!important;
}

/* Menüs/Dropdowns mit alten weißen Flächen */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .event-row-menu summary,
 .calendar-global-menu summary
){
  background:#202020!important;
  color:#fff!important;
  border-color:#3a3a3a!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .event-row-menu>div,
 .calendar-global-menu>div
){
  background:#151515!important;
  border-color:#363636!important;
  box-shadow:0 14px 36px rgba(0,0,0,.35)!important;
}

/* Auswahl-/Modusschalter */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .event-create-mode button{
  background:#181818!important;
  color:#ddd!important;
}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .event-create-mode button.active{
  background:#31d158!important;
  color:#0a0a0a!important;
}

/* Bottom-Logo-Kachel gehört im neuen Branding ebenfalls in die dunkle Navigation */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-brand,
body.karalio-public-mode nav.bottom.karalio-dock .dock-brand{
  background:#fff!important; /* bewusst nur Logo-Träger für Kontrast */
  border-color:#3a3a3a!important;
  box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
}

/* Generisches Sicherheitsnetz:
   direkte weiße Legacy-Flächen werden im Darkmode neutralisiert,
   aber Medien, Inputs und explizite Logo-Träger sind ausgenommen. */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode)
:is(div,section,article,header,aside,details,summary,button)
[style*="background:#fff" i],
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode)
:is(div,section,article,header,aside,details,summary,button)
[style*="background: #fff" i],
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode)
:is(div,section,article,header,aside,details,summary,button)
[style*="background:white" i]{
  background:#151515!important;
  color:#fff!important;
  border-color:#363636!important;
}

/* Kein Blau in Legacy-Kontexten */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(
 .context-title,
 .record-tab,
 .roster-position-heading,
 .inline-info-disclosure summary,
 .player-menu-entry>div strong,
 .player-menu-icon,
 .exercise-detail-top h1,
 .exercise-detail-facts
){
  color:inherit!important;
}

/* =========================================================
   KARALIO V12.246 – DARK BRANDING ONLY
   Hellmodus vollständig entfernt. Schwarz / Weiß / Grün ist
   auf Login, Registrierung, Rechtsseiten und im eingeloggten
   Bereich verbindlicher Markenstandard.
   ========================================================= */
html{
  color-scheme:dark!important;
  background:#0a0a0a!important;
}
html,html[data-appearance],html[data-resolved-appearance]{
  --ink:#ffffff;
  --muted:#aaaaaa;
  --line:#363636;
  --surface:#151515;
  --surface-soft:#1c1c1c;
}
body,
body.karalio-public-mode,
#app,
main.page,
.player-page,
.karalio-public-shell,
.karalio-login-panel,
.karalio-legal-page,
.karalio-legal-main{
  background:#0a0a0a!important;
  color:#f5f5f5!important;
}

/* Öffentliche Oberflächen sind genauso dunkel wie die App. */
body.karalio-public-mode :is(
  .karalio-login-card,.registration-card,.registration-block,
  .karalio-legal-card,.registration-privacy,.registration-help,
  .registration-flow-steps>div,.registration-confirm-note,
  .registration-email-state,.credential
){
  background:#151515!important;
  color:#f5f5f5!important;
  border-color:#363636!important;
  box-shadow:none!important;
}
body.karalio-public-mode .registration-block h2,
body.karalio-public-mode .registration-label,
body.karalio-public-mode .registration-check,
body.karalio-public-mode :is(h1,h2,h3,strong,label){
  color:#fff!important;
}
body.karalio-public-mode :is(
  .registration-intro,.registration-help,.registration-privacy p,
  p,small,.sub,.subtitle
){
  color:#aaa!important;
}

/* Formulare: Beschriftung, Wert und Placeholder jederzeit eindeutig lesbar. */
body :is(input,select,textarea){
  color-scheme:dark!important;
}
body.karalio-public-mode :is(input,select,textarea),
html[data-resolved-appearance="dark"] body :is(input,select,textarea){
  background:#0e0e0e!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#3a3a3a!important;
  caret-color:#31d158!important;
}
body.karalio-public-mode :is(input,textarea)::placeholder,
html[data-resolved-appearance="dark"] body :is(input,textarea)::placeholder{
  color:#777!important;
  -webkit-text-fill-color:#777!important;
  opacity:1!important;
}
body.karalio-public-mode :is(input,select,textarea):focus,
html[data-resolved-appearance="dark"] body :is(input,select,textarea):focus{
  border-color:#31d158!important;
  outline:2px solid rgba(49,209,88,.22)!important;
  box-shadow:0 0 0 3px rgba(49,209,88,.14)!important;
}

/* iOS/Safari Autofill darf keine helle Fläche in die Formulare bringen. */
body.karalio-public-mode input:-webkit-autofill,
body.karalio-public-mode input:-webkit-autofill:hover,
body.karalio-public-mode input:-webkit-autofill:focus,
html[data-resolved-appearance="dark"] body input:-webkit-autofill{
  -webkit-text-fill-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px #0e0e0e inset!important;
  box-shadow:0 0 0 1000px #0e0e0e inset!important;
  caret-color:#31d158!important;
  transition:background-color 9999s ease-out 0s;
}

/* Warn-/Erfolgsboxen bleiben funktional, aber dunkel. */
body.karalio-public-mode .registration-age-notice,
body.karalio-public-mode .registration-confirm-note,
body.karalio-public-mode .registration-email-state.waiting{
  background:#2b2514!important;
  color:#f3d987!important;
  border-color:#6b5925!important;
}
body.karalio-public-mode .registration-age-notice :is(strong,p),
body.karalio-public-mode .registration-confirm-note :is(strong,p){color:#f3d987!important}
body.karalio-public-mode .registration-privacy.accepted,
body.karalio-public-mode .registration-email-state.confirmed,
body.karalio-public-mode .credential.success{
  background:#12301d!important;
  color:#a9f1ba!important;
  border-color:#2a6940!important;
}
body.karalio-public-mode .registration-error,
body.karalio-public-mode .credential.error{
  background:#361b20!important;
  color:#ffb2b6!important;
  border-color:#7b343d!important;
}

/* Feste Darstellung in Einstellungen – keine Theme-Auswahl mehr. */
.karalio-fixed-appearance{
  background:#181818!important;
  border-color:#383838!important;
}
.karalio-fixed-appearance strong{color:#fff!important}
.karalio-fixed-appearance span:not(.badge){color:#aaa!important}

/* Logos im festen Dark Branding ausschließlich Weiß/Grün. */
.karalio-brand-light{display:none!important}
.karalio-brand-dark{display:block!important}
.karalio-logo,.section-karalio,.mfa-brand-logo,.karalio-reset-logo,
body.karalio-public-mode .karalio-brand-light,
body.karalio-public-mode .karalio-brand-dark{
  content:url("assets/karalio-logo-white-green-uhd.png")!important;
}
body.karalio-public-mode .karalio-brand-light{display:none!important}
body.karalio-public-mode .karalio-brand-dark{display:block!important}

/* =========================================================
   KARALIO V12.247 – KOMPAKTER REGISTRIERUNGSHEADER
   Das Markenlogo darf auf öffentlichen Registrierungsseiten
   niemals seine intrinsische UHD-Breite übernehmen.
   ========================================================= */
.public-registration-header,
.public-registration-header-clean{
  min-height:64px!important;
  height:64px!important;
  padding:0 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#0a0a0a!important;
}
.public-registration-header a,
.public-registration-header-clean a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:min(44vw,190px)!important;
  height:40px!important;
  flex:0 0 auto!important;
}
.public-registration-header .karalio-brand-picture,
.public-registration-header-clean .karalio-brand-picture{
  display:inline-grid!important;
  place-items:center!important;
  width:180px!important;
  max-width:100%!important;
  height:34px!important;
  overflow:hidden!important;
}
.public-registration-header .karalio-brand-picture>img,
.public-registration-header-clean .karalio-brand-picture>img,
.public-registration-header img,
.public-registration-header-clean img{
  grid-area:1/1!important;
  display:block!important;
  width:100%!important;
  max-width:180px!important;
  height:34px!important;
  max-height:34px!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (max-width:600px){
  .public-registration-header,
  .public-registration-header-clean{
    min-height:58px!important;
    height:58px!important;
    padding:0 14px!important;
  }
  .public-registration-header a,
  .public-registration-header-clean a{
    max-width:160px!important;
    height:34px!important;
  }
  .public-registration-header .karalio-brand-picture,
  .public-registration-header-clean .karalio-brand-picture,
  .public-registration-header .karalio-brand-picture>img,
  .public-registration-header-clean .karalio-brand-picture>img,
  .public-registration-header img,
  .public-registration-header-clean img{
    width:150px!important;
    max-width:150px!important;
    height:29px!important;
    max-height:29px!important;
  }
}

/* =========================================================
   KARALIO V12.248 – MARKENGRÜN + SICHTBARE FREIGABEWARNUNG
   ========================================================= */
:root{
  --karalio-green:#31d158!important;
  --green:#31d158!important;
}
/* Markengrün überall dort, wo Grün als Schrift-/Akzentfarbe eingesetzt wird. */
html[data-resolved-appearance="dark"] .eyebrow,
html[data-resolved-appearance="dark"] .context-kicker,
html[data-resolved-appearance="dark"] .unified-page-heading .eyebrow,
html[data-resolved-appearance="dark"] .active,
html[data-resolved-appearance="dark"] .karalio-dock .active,
html[data-resolved-appearance="dark"] .bottom-nav .active,
html[data-resolved-appearance="dark"] .nav-item.active,
html[data-resolved-appearance="dark"] .dashboard-individual-change-note,
body.superadmin-theme .eyebrow,
body.superadmin-theme .nav-item.active,
body.superadmin-theme .bottom-nav .active,
.super-admin-shell .eyebrow,
.super-admin-shell .nav-item.active,
.super-admin-shell .bottom-nav .active{
  color:var(--karalio-green)!important;
}
/* Super-Admin: offene Freigaben sind eine echte, nicht übersehbare Aktion. */
html[data-resolved-appearance="dark"] .superadmin-approval-alert{
  background:#32181b!important;
  border:1px solid #a83a42!important;
  border-left:6px solid #ff4d57!important;
  color:#fff!important;
  box-shadow:0 8px 26px rgba(255,77,87,.16)!important;
}
html[data-resolved-appearance="dark"] .superadmin-approval-alert>span{background:#ff4d57!important;color:#fff!important}
html[data-resolved-appearance="dark"] .superadmin-approval-alert strong{color:#fff!important;font-size:15px!important}
html[data-resolved-appearance="dark"] .superadmin-approval-alert small{color:#ffc4c7!important}
html[data-resolved-appearance="dark"] .superadmin-approval-alert .secondary{
  background:#ff4d57!important;color:#fff!important;border-color:#ff4d57!important;font-weight:900!important
}

/* V12.249 – Lesbarkeit der öffentlichen Registrierung */
body.karalio-public-mode .registration-card{
  background:#151515!important;
  color:#f5f5f5!important;
}
body.karalio-public-mode .registration-card .eyebrow{
  color:#31d158!important;
}
body.karalio-public-mode .registration-intro{
  color:#d2d2d2!important;
}
body.karalio-public-mode .registration-label,
body.karalio-public-mode .registration-check,
body.karalio-public-mode .registration-privacy>strong{
  color:#f7f7f7!important;
}
body.karalio-public-mode .registration-privacy{
  background:#1c1c1c!important;
  border:1px solid #3a3a3a!important;
}
body.karalio-public-mode .registration-privacy p{
  color:#c9c9c9!important;
}
body.karalio-public-mode .registration-privacy p strong{
  color:#f2f2f2!important;
  display:inline!important;
}
body.karalio-public-mode .registration-check span{
  color:#e6e6e6!important;
}
body.karalio-public-mode .registration-submit.primary:not(:disabled){
  background:#31d158!important;
  color:#07150b!important;
  border-color:#31d158!important;
}
body.karalio-public-mode .registration-submit.primary:disabled{
  background:#2b2b2b!important;
  color:#8e8e8e!important;
  border-color:#3a3a3a!important;
  opacity:1!important;
}


/* V12.250 – Benutzerfreigabe vollständig im Karalio-Dark-Layout */
html[data-resolved-appearance="dark"] .pending-user{
  background:#111820!important;
  border:1px solid #344454!important;
  color:#f4f7fa!important;
  box-shadow:none!important;
}
html[data-resolved-appearance="dark"] .pending-user .grow>strong{
  color:#f4f7fa!important;
  font-weight:800!important;
}
html[data-resolved-appearance="dark"] .pending-user .sub{color:#aeb9c4!important}
html[data-resolved-appearance="dark"] .admin-user-avatar{
  background:#15281d!important;
  color:#31d158!important;
  border:1px solid #2f6540!important;
}
html[data-resolved-appearance="dark"] .pending-user .badge.grey{
  background:#25313d!important;color:#e9eef3!important;border-color:#3a4a59!important;
}
html[data-resolved-appearance="dark"] .pending-user .badge.green{
  background:#12351f!important;color:#31d158!important;border-color:#286b3d!important;
}
html[data-resolved-appearance="dark"] .pending-user .pending-actions .primary{
  background:#31d158!important;color:#07150b!important;border-color:#31d158!important;font-weight:900!important;
}
html[data-resolved-appearance="dark"] .pending-user .pending-actions .danger-button{
  background:#2a1719!important;color:#ff777d!important;border-color:#71353a!important;
}


/* =========================================================
   KARALIO V12.251 – GLOBALER DARK-TEXT-KONTRAST
   Keine zu dunklen Legacy-Schriftfarben mehr auf dunklen Flächen.
   ========================================================= */
:root{
  --karalio-green:#31d158!important;
  --karalio-green-dark:#31d158!important;
  --text:#f5f7fa!important;
  --muted:#aeb7c2!important;
}
html[data-resolved-appearance="dark"] body,
body.karalio-public-mode{
  color:#f5f7fa!important;
}
/* Normale und sekundäre Texte auf Dark-Flächen */
html[data-resolved-appearance="dark"] :is(.sub,.muted,.hint,.helper,.description,.registration-intro,small),
body.karalio-public-mode :is(.sub,.muted,.hint,.helper,.description,.registration-intro,small){
  color:#b7c0ca!important;
}
html[data-resolved-appearance="dark"] :is(h1,h2,h3,h4,label,strong,.registration-label),
body.karalio-public-mode :is(h1,h2,h3,h4,label,strong,.registration-label){
  color:#f7f9fb!important;
}
/* Sämtliche grünen Text-Akzente verwenden das helle Karalio-Grün. */
html[data-resolved-appearance="dark"] :is(.eyebrow,.context-kicker,.karalio-public-kicker,.active,.green-text,.text-green,.badge.green),
body.karalio-public-mode :is(.eyebrow,.context-kicker,.karalio-public-kicker,.active,.green-text,.text-green,.badge.green){
  color:#31d158!important;
  -webkit-text-fill-color:#31d158!important;
}
/* Registrierung: Titel und Wort REGISTRIERUNG garantiert lesbar. */
body.karalio-public-mode .registration-card :is(.eyebrow,h1,h2,h3),
body.karalio-public-mode .registration-page :is(.eyebrow,h1,h2,h3){
  opacity:1!important;
}
body.karalio-public-mode .registration-card .eyebrow,
body.karalio-public-mode .registration-page .eyebrow{
  color:#31d158!important;
  -webkit-text-fill-color:#31d158!important;
}
/* Links/Buttons, die aus dem alten hellen Theme noch dunkle Schrift erben. */
html[data-resolved-appearance="dark"] a:not(.primary):not(.danger-button),
body.karalio-public-mode a:not(.primary):not(.danger-button){color:#dce3ea!important}
html[data-resolved-appearance="dark"] button.secondary,
body.karalio-public-mode button.secondary{color:#edf2f6!important}


/* V12.253 – REGISTRIERUNG explizit im hellen Karalio-Grün */
.registration-word,
body .registration-word,
body.karalio-public-mode .registration-word,
.registration-card .registration-word,
.registration-page .registration-word{
 color:#31D158!important;
 -webkit-text-fill-color:#31D158!important;
 opacity:1!important;
 filter:none!important;
 text-shadow:none!important;
}

/* =========================================================
   KARALIO V12.257 – CLEANES VEREINSVERWALTER-DASHBOARD
   Vereinskalender nur noch über Navigation; Saisonverwaltung
   nicht mehr im Menü. Menü-Kacheln konsequent Dark Only.
   ========================================================= */

/* Vereinsdashboard ruhiger und kompakter */
.club-scope-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
@media(max-width:900px){
  .club-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .club-scope-grid{grid-template-columns:1fr!important}
}

/* Menü: keine hellen Legacy-Kacheln mehr */
body:not(.karalio-public-mode) .menu-module{
  background:#151515!important;
  color:#f7f7f7!important;
  border:1px solid #363636!important;
  box-shadow:none!important;
}
body:not(.karalio-public-mode) .menu-module:hover,
body:not(.karalio-public-mode) .menu-module:focus-visible{
  background:#1b1b1b!important;
  border-color:#31d158!important;
}
body:not(.karalio-public-mode) .menu-module .menu-module-icon{
  background:#202020!important;
  color:#31d158!important;
  border:1px solid #343434!important;
}
body:not(.karalio-public-mode) .menu-module strong{
  color:#fff!important;
}
body:not(.karalio-public-mode) .menu-module .grow>span,
body:not(.karalio-public-mode) .menu-module span{
  color:#b8b8b8!important;
}
body:not(.karalio-public-mode) .menu-module>.arrow{
  color:#31d158!important;
}

/* Kontoabschluss im Menü ebenfalls im gleichen System */
body:not(.karalio-public-mode) .account-menu-section{
  background:#151515!important;
  border:1px solid #363636!important;
  color:#fff!important;
}
body:not(.karalio-public-mode) .account-menu-section span{
  color:#aaa!important;
}

/* V12.258 – Vereinsfreigaben wie Super-Admin + harte Teamzuordnung */
.super-style-pending{background:#101820!important;border:1px solid #334155!important;border-radius:16px!important;padding:16px!important}
.super-style-pending .pending-user-main{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.super-style-pending .admin-user-avatar{flex:0 0 50px;width:50px;height:50px;border-radius:15px;background:#0d2a18!important;border:1px solid rgba(49,209,88,.38)!important;color:#31D158!important;display:grid;place-items:center;font-weight:900}
.super-style-pending .pending-staff-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px}
.super-style-pending .pending-staff-fields label{margin:0}
.super-style-pending .registration-email-state{margin:12px 0}
.compact-warning{margin:12px 0!important}
.invite-type-card.invite-disabled{opacity:1!important;border-color:#334155!important}
.invite-type-card.invite-disabled .primary:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:720px){.super-style-pending .pending-staff-fields{grid-template-columns:1fr}}

/* V12.259 – schlanke Trainer-/Mannschaftszuordnung */
.trainer-team-management .admin-user-grid{display:grid;gap:14px}
.trainer-assignment-card{background:#111a23!important;border:1px solid #314052!important;color:#f7f9fb!important}
.trainer-assignment-controls{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:16px;align-items:start;margin-top:14px}
.trainer-assignment-controls label,.trainer-team-checklist{color:#f7f9fb}
.trainer-assignment-controls select{background:#0c141c!important;color:#f7f9fb!important;border:1px solid #415064!important}
.trainer-team-checklist{display:grid;gap:8px}
.trainer-team-checklist .field-label{font-weight:800;color:#f7f9fb}
.team-choice{display:flex!important;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border-radius:10px;background:#0c141c!important;border:1px solid #314052!important;color:#f7f9fb!important}
.team-choice input{accent-color:#31D158}
.club-admin-compact{margin-top:14px;padding-top:14px;border-top:1px solid #314052;color:#f7f9fb}
.access-empty-card{max-width:760px;background:#111a23!important;border:1px solid #314052!important;color:#f7f9fb!important}
@media(max-width:700px){.trainer-assignment-controls{grid-template-columns:1fr}}
/* V12.260: kompakte Trainer-/Teamrollenverwaltung */
.compact-staff-grid{gap:12px!important}.trainer-assignment-card.compact{padding:16px!important}.trainer-assignment-card.compact .admin-user-summary{margin-bottom:12px}.team-role-list{display:grid;gap:8px}.team-role-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line,#334155);border-radius:12px;background:#0d1720}.team-role-row>strong{min-width:100px}.team-role-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.team-role-btn{appearance:none;border:1px solid #334155;background:#111c27;color:#cbd5e1;border-radius:999px;padding:7px 11px;font-weight:800;font-size:12px;cursor:pointer}.team-role-btn:hover{border-color:#31D158;color:#fff}.team-role-btn.active{background:#31D158;color:#07120b;border-color:#31D158}.compact-actions{margin-top:12px!important}.compact-actions button{padding:9px 13px!important}@media(max-width:700px){.team-role-row{align-items:flex-start;flex-direction:column}.team-role-buttons{width:100%;justify-content:flex-start}.team-role-btn{flex:1;min-width:90px}}

/* =========================================================
   KARALIO V12.261 – LEISTUNGSTEST DARK ONLY
   Sämtliche Leistungstest-Menüs, Karten, Formulare und
   Auswertungen an das globale Schwarz-Weiß-Grün-Branding.
   ========================================================= */
body:not(.karalio-public-mode) :is(
  .performance-hero,
  .performance-test-card,
  .performance-standard-note,
  .performance-setup,
  .performance-instructions,
  .performance-session-form,
  .performance-entry,
  .performance-player-picker label,
  .analytics-kpis>div,
  .performance-kpis>div,
  .entry-date,
  .attempt-grid>div,
  .attempt-grid>label,
  .best-preview,
  .material-line,
  .compare-row,
  .compare-row.header,
  .test-svg
){
  background:#111a23!important;
  color:#f7f9fb!important;
  border-color:#314052!important;
  box-shadow:none!important;
}
body:not(.karalio-public-mode) .performance-hero{
  background:linear-gradient(135deg,#111a23,#0c141c)!important;
}
body:not(.karalio-public-mode) .performance-test-card:hover,
body:not(.karalio-public-mode) .performance-test-card:focus-visible{
  background:#16212c!important;
  border-color:#31D158!important;
}
body:not(.karalio-public-mode) :is(
 .performance-hero h2,
 .performance-test-card h3,
 .performance-test-card b,
 .performance-setup h2,
 .performance-instructions h2,
 .performance-progress>b,
 .compare-row b,
 .compare-row span,
 .analytics-kpis b,
 .performance-kpis b,
 .material-line b
){color:#fff!important;-webkit-text-fill-color:#fff!important}
body:not(.karalio-public-mode) :is(
 .performance-test-card p,
 .performance-test-card small,
 .performance-player-picker small,
 .performance-progress small,
 .protocol-note,
 .analytics-kpis span,
 .performance-kpis span,
 .group-stat small
){color:#b8c0c8!important;-webkit-text-fill-color:#b8c0c8!important}
body:not(.karalio-public-mode) :is(.text-link,.performance-test-card small,.performance-test-icon,.eyebrow){
  color:#31D158!important;
  -webkit-text-fill-color:#31D158!important;
}
body:not(.karalio-public-mode) .performance-test-icon{
  background:#0d2a18!important;
  border:1px solid rgba(49,209,88,.35)!important;
}
body:not(.karalio-public-mode) :is(
 .performance-session-form input,
 .performance-session-form select,
 .performance-session-form textarea,
 .attempt-grid input,
 .analytics-toolbar input,
 .analytics-toolbar select
){
  background:#0c141c!important;
  color:#f7f9fb!important;
  border:1px solid #415064!important;
  color-scheme:dark!important;
}
body:not(.karalio-public-mode) :is(
 .performance-session-form input::placeholder,
 .performance-session-form textarea::placeholder
){color:#7f8a96!important}
body:not(.karalio-public-mode) .performance-player-picker input,
body:not(.karalio-public-mode) .invalid-attempt input{accent-color:#31D158!important}
body:not(.karalio-public-mode) .best-preview{
  background:#0d2a18!important;
  color:#31D158!important;
  border:1px solid rgba(49,209,88,.35)!important;
}
body:not(.karalio-public-mode) .player-bar-row>div{background:#1b2630!important}
body:not(.karalio-public-mode) .player-bar-row i{background:#31D158!important}
body:not(.karalio-public-mode) .group-stat,
body:not(.karalio-public-mode) .compare-row{border-bottom-color:#314052!important}
body:not(.karalio-public-mode) .trend-svg text{fill:#e8edf2!important}
body:not(.karalio-public-mode) .trend-svg polyline{stroke:#31D158!important}
body:not(.karalio-public-mode) .trend-svg circle{fill:#31D158!important}
body:not(.karalio-public-mode) .performance-standard-note,
body:not(.karalio-public-mode) .protocol-note{border-color:#314052!important}

/* =========================================================
   KARALIO V12.263 – LIGHT WEB APP SHELL / LINEAR OUTLINE
   Clean desktop shell. Dark mode follows in a later release.
   ========================================================= */
:root{--black:#111827;--green:#16863b;--green2:#edf8ef;--line:#e3e7e5;--bg:#f7f9f8;--text:#141816;--muted:#68716c}
html[data-resolved-appearance="light"],html[data-resolved-appearance="light"] body{background:#f7f9f8!important;color:#141816!important;color-scheme:light!important}
body.karalio-light:not(.karalio-public-mode){background:#f7f9f8!important;color:#141816!important}
body.karalio-light:not(.karalio-public-mode)::before{display:none!important}
body.karalio-light:not(.karalio-public-mode) .karalio-top{background:rgba(255,255,255,.96)!important;color:#141816!important;border-bottom:1px solid #e3e7e5!important;box-shadow:none!important;backdrop-filter:blur(12px)}
body.karalio-light:not(.karalio-public-mode) .topin{max-width:none!important;height:76px!important;padding:0 28px!important}
body.karalio-light:not(.karalio-public-mode) .karalio-logo{width:150px!important;max-height:42px!important;object-fit:contain!important}
body.karalio-light:not(.karalio-public-mode) .brand-context{color:#68716c!important}
body.karalio-light:not(.karalio-public-mode) .account-avatar{background:#f2f5f3!important;color:#18201b!important;border:1px solid #dce2de!important}
body.karalio-light:not(.karalio-public-mode) .context-switch select{background:#fff!important;color:#141816!important;border:1px solid #dce2de!important;color-scheme:light!important}
body.karalio-light:not(.karalio-public-mode) .page{max-width:1500px!important;margin:0 auto!important;padding:30px 34px 90px 292px!important}
body.karalio-light:not(.karalio-public-mode) :is(.card,.q,.row,.game,.menu-module,.account-menu-section,.performance-hero,.performance-test-card,.performance-standard-note,.performance-setup,.performance-instructions,.performance-session-form,.performance-entry,.analytics-kpis>div,.performance-kpis>div,.trainer-assignment-card,.access-empty-card,.super-style-pending){background:#fff!important;color:#141816!important;border:1px solid #e1e6e3!important;box-shadow:0 1px 2px rgba(16,24,20,.025)!important}

/* V12.393 · Trainingsbeteiligung */
.attendance-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.attendance-kpi-grid .card{display:flex;flex-direction:column;gap:4px;padding:15px}.attendance-kpi-grid span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.attendance-kpi-grid strong{font-size:26px;line-height:1.05}.attendance-kpi-grid small{color:var(--muted);font-size:11px}.attendance-today-card,.attendance-team-card,.attendance-history-card{margin-top:14px}.attendance-check-list,.attendance-overview-list,.attendance-history-list{display:grid;gap:8px;margin-top:13px}.attendance-check-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,2fr);align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.attendance-check-row:first-child{border-top:0}.attendance-check-player{display:flex;flex-direction:column;gap:4px}.attendance-current{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850}.attendance-current.is-open{background:#eef1f2;color:#6f777b}.attendance-current.is-present,.attendance-status-button.is-present{background:#e6f7eb;color:#126b32;border-color:#9bd0aa}.attendance-current.is-absent,.attendance-status-button.is-absent{background:#fff4d8;color:#76540a;border-color:#ecd18b}.attendance-current.is-unexcused,.attendance-status-button.is-unexcused{background:#fde9e9;color:#982f2f;border-color:#e6a1a1}.attendance-check-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.attendance-status-button,.attendance-check-actions select{min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--card,#fff);color:inherit;font-size:11px;font-weight:800}.attendance-status-button.is-selected{box-shadow:inset 0 0 0 2px currentColor}.attendance-overview-player{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:11px;width:100%;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--card,#fff);color:inherit;text-align:left}.attendance-overview-player small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.attendance-player-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e7f7eb;color:#157b35;font-weight:900}.attendance-player-avatar.large{width:58px;height:58px;border-radius:17px;font-size:18px}.attendance-rate{min-width:58px;padding:7px 8px;border-radius:10px;background:#e7f7eb;color:#126b32;text-align:center;font-size:13px;font-weight:900}.attendance-rate.is-low{background:#fff1dd;color:#8a5900}.attendance-player-hero{display:flex;align-items:center;gap:14px;margin-top:12px}.attendance-player-hero h2{margin:2px 0}.attendance-player-hero span{color:var(--muted)}.attendance-history-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.attendance-history-list>div:first-child{border-top:0}.attendance-history-list span strong,.attendance-history-list span small{display:block}.attendance-history-list span small{margin-top:3px;color:var(--muted)}
@media(max-width:720px){.attendance-kpi-grid{grid-template-columns:1fr 1fr}.attendance-kpi-grid>div:last-child{grid-column:1/-1}.attendance-check-row{grid-template-columns:1fr}.attendance-check-actions{justify-content:flex-start}.attendance-status-button{flex:1 1 calc(50% - 6px)}.attendance-check-actions select{width:100%}.attendance-overview-player{grid-template-columns:38px minmax(0,1fr) auto}.attendance-overview-player>.arrow{display:none}.attendance-rate{min-width:54px}}

/* V12.394 · kompakte Untermenüs und sichere Dropdown-Bedienung */
.attendance-subnav{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 0 12px;padding:4px;border:1px solid var(--line);border-radius:14px;background:rgba(120,130,125,.08)}.attendance-subnav button{min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:850}.attendance-subnav button.active{background:#fff;color:#157b35;box-shadow:0 1px 5px rgba(20,40,30,.1)}.attendance-compact-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.attendance-compact-head h2{margin:3px 0}.attendance-live-count{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 6px;min-width:96px;padding:10px 12px;border-radius:13px;background:#e8f7ec;color:#126b32}.attendance-live-count strong{font-size:24px}.attendance-live-count span{font-size:10px;font-weight:850;text-transform:uppercase}.attendance-live-count small{grid-column:1/-1;font-size:10px}.attendance-check-list{gap:0}.attendance-check-row{grid-template-columns:minmax(0,1fr) minmax(132px,38%);min-height:54px;padding:8px 0}.attendance-check-player small{color:var(--muted);font-size:10px}.attendance-compact-select,.attendance-player-picker select{width:100%;min-height:40px;padding:8px 34px 8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#29322d;font-size:12px;font-weight:800}.attendance-compact-select.is-present{background:#e6f7eb;color:#126b32;border-color:#9bd0aa}.attendance-compact-select.is-absent{background:#fff4d8;color:#76540a;border-color:#ecd18b}.attendance-compact-select.is-unexcused{background:#fde9e9;color:#982f2f;border-color:#e6a1a1}.attendance-overview-player{grid-template-columns:38px minmax(0,1fr) auto auto;padding:9px 10px}.attendance-detail-button{min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#157b35;font-size:11px;font-weight:850}.attendance-player-picker{max-width:560px}.attendance-player-picker h2{margin:4px 0}.attendance-player-picker p{margin:0 0 14px}
@media(max-width:620px){.attendance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.attendance-kpi-grid>div:last-child{grid-column:auto}.attendance-kpi-grid .card{padding:10px 8px}.attendance-kpi-grid strong{font-size:21px}.attendance-kpi-grid small{font-size:9px}.attendance-check-row{grid-template-columns:minmax(0,1fr) 132px}.attendance-overview-player{grid-template-columns:34px minmax(0,1fr) auto}.attendance-overview-player .attendance-rate{font-size:11px;min-width:48px}.attendance-detail-button{grid-column:2/-1;width:100%}.attendance-player-avatar{width:34px;height:34px;border-radius:10px;font-size:11px}}
body.karalio-light:not(.karalio-public-mode) :is(h1,h2,h3,strong,b,.performance-test-card h3,.performance-test-card b,.performance-hero h2,.compare-row b,.compare-row span){color:#141816!important;-webkit-text-fill-color:#141816!important}
body.karalio-light:not(.karalio-public-mode) :is(.sub,.subtitle,small,.meta,.performance-test-card p,.performance-test-card small,.analytics-kpis span,.performance-kpis span){color:#68716c!important;-webkit-text-fill-color:#68716c!important}
body.karalio-light:not(.karalio-public-mode) .eyebrow{color:#16863b!important;-webkit-text-fill-color:#16863b!important}
body.karalio-light:not(.karalio-public-mode) :is(input,select,textarea,.trainer-assignment-controls select,.performance-session-form input,.performance-session-form select,.performance-session-form textarea,.attempt-grid input,.analytics-toolbar input,.analytics-toolbar select){background:#fff!important;color:#141816!important;border:1px solid #cfd7d2!important;color-scheme:light!important}
body.karalio-light:not(.karalio-public-mode) .primary{background:#16863b!important;color:#fff!important;border-color:#16863b!important}
body.karalio-light:not(.karalio-public-mode) .secondary{background:#fff!important;color:#202823!important;border:1px solid #d5dcd8!important}
body.karalio-light:not(.karalio-public-mode) .qicon,body.karalio-light:not(.karalio-public-mode) .menu-module-icon,body.karalio-light:not(.karalio-public-mode) .performance-test-icon{background:#edf8ef!important;color:#16863b!important;border:0!important}
body.karalio-light:not(.karalio-public-mode) .section{background:transparent!important;color:#141816!important;border-bottom:1px solid #e3e7e5!important;margin:0 0 20px!important;padding:0 0 16px!important}
body.karalio-light:not(.karalio-public-mode) .section .back{color:#141816!important}
body.karalio-light:not(.karalio-public-mode) .section small{color:#68716c!important}
body.karalio-light:not(.karalio-public-mode) .karalio-legal-footer{margin-left:258px!important;background:transparent!important;color:#7a827d!important;border-top:1px solid #e3e7e5!important}

/* Desktop: the existing context dock becomes one stable left sidebar. */
@media(min-width:901px){
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock{position:fixed!important;z-index:25!important;left:0!important;top:76px!important;bottom:0!important;width:258px!important;height:auto!important;transform:none!important;border:0!important;border-right:1px solid #e3e7e5!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;padding:24px 14px!important;display:flex!important;flex-direction:column!important;gap:8px!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock button{width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;border:0!important;border-radius:11px!important;padding:11px 14px!important;background:transparent!important;color:#343b37!important;font-size:14px!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock button.active{background:#edf8ef!important;color:#147b35!important;font-weight:800!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock .dock-icon{width:22px!important;height:22px!important;display:grid!important;place-items:center!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock .dock-icon svg{width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock .dock-label{display:inline!important;font-size:14px!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock .dock-brand{display:none!important}
}
@media(max-width:900px){
 body.karalio-light:not(.karalio-public-mode) .page{padding:20px 16px 96px!important}
 body.karalio-light:not(.karalio-public-mode) .topin{height:68px!important;padding:0 16px!important}
 body.karalio-light:not(.karalio-public-mode) .karalio-logo{width:124px!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock{background:#fff!important;border-color:#e0e5e2!important;box-shadow:0 -6px 24px rgba(20,30,24,.06)!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock button{color:#4f5852!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock button.active{color:#16863b!important}
 body.karalio-light:not(.karalio-public-mode) nav.karalio-dock .dock-icon svg{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.karalio-light:not(.karalio-public-mode) .karalio-legal-footer{margin-left:0!important}
}

/* V12.264 final cascade guard: these rules intentionally stay last. */
.qicon svg,.menu-module-icon svg,.activity-icon svg,.player-menu-icon svg,.scope-icon svg,.player-bottom-icon svg,.performance-test-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(.pending-user,.team-role-row,.team-choice,.team-role-btn,.performance-player-picker label,.entry-date,.attempt-grid>div,.attempt-grid>label,.best-preview,.material-line,.compare-row,.compare-row.header,.test-svg){background:#fff!important;color:#141816!important;border-color:#e1e6e3!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .team-role-btn.active{background:#16863b!important;color:#fff!important;border-color:#16863b!important}
html[data-resolved-appearance="dark"]{--bg:#0b1117;--card:#121a21;--line:#26323b;--text:#f5f7f8;--muted:#a3adb5;--green:#31d158;--green2:#102b19;--nav-surface:#0e151b}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode){background:#0b1117!important;color:#f5f7f8!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode)::before{display:none!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-top{background:rgba(10,16,21,.97)!important;color:#f5f7f8!important;border-bottom:1px solid #26323b!important;box-shadow:none!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .topin{max-width:none!important;height:76px!important;padding:0 28px!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-logo{content:url('assets/karalio-logo-white-green-uhd.png');width:150px!important;max-height:42px!important;object-fit:contain!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .page{max-width:1500px!important;margin:0 auto!important;padding:30px 34px 90px 292px!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(.card,.q,.row,.game,.event,.menu-module,.account-menu-section,.pending-user,.super-style-pending,.trainer-assignment-card,.access-empty-card,.team-role-row,.team-choice,.performance-hero,.performance-test-card,.performance-standard-note,.performance-setup,.performance-instructions,.performance-session-form,.performance-entry,.performance-player-picker label,.analytics-kpis>div,.performance-kpis>div,.entry-date,.attempt-grid>div,.attempt-grid>label,.material-line,.compare-row,.compare-row.header,.test-svg){background:#121a21!important;color:#f5f7f8!important;border-color:#26323b!important;box-shadow:none!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(.qicon,.menu-module-icon,.activity-icon,.player-menu-icon,.scope-icon,.performance-test-icon){background:#102b19!important;color:#31d158!important;border:0!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(.primary,.team-role-btn.active){background:#168f3c!important;color:#fff!important;border-color:#168f3c!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .secondary{background:#182129!important;color:#f1f4f6!important;border-color:#33414c!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) :is(input,select,textarea,.team-role-btn){background:#0d141a!important;color:#f5f7f8!important;border-color:#34424d!important;color-scheme:dark!important}
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{margin-left:258px!important;background:transparent!important;border-top:1px solid #26323b!important;color:#8f9aa3!important}
@media(min-width:901px){html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock{position:fixed!important;z-index:25!important;left:0!important;top:76px!important;bottom:0!important;width:258px!important;height:auto!important;transform:none!important;border:0!important;border-right:1px solid #26323b!important;border-radius:0!important;background:#0e151b!important;box-shadow:none!important;padding:24px 14px!important;display:flex!important;flex-direction:column!important;gap:8px!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock button{width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;border:0!important;border-radius:11px!important;padding:11px 14px!important;background:transparent!important;color:#c4ccd2!important;font-size:14px!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock button.active{background:#102b19!important;color:#31d158!important;font-weight:800!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock .dock-label{display:inline!important;font-size:14px!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock .dock-brand{display:none!important}}
@media(max-width:900px){html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .page{padding:20px 16px 96px!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .topin{height:68px!important;padding:0 16px!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-logo{width:124px!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock{background:#0e151b!important;border-color:#26323b!important;box-shadow:0 -6px 24px rgba(0,0,0,.3)!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock button{color:#aeb8c0!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.karalio-dock button.active{color:#31d158!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{margin-left:0!important}.setting-select-row{align-items:flex-start!important;gap:14px!important}.setting-select-row select{width:100%!important}}

/* =========================================================
   V12.265 – FINALER HELLMODUS
   Muss nach allen historischen Dark-only-Regeln stehen.
   ========================================================= */
html[data-resolved-appearance="light"]{--bg:#f7f9f8!important;--card:#fff!important;--line:#e3e7e5!important;--text:#141816!important;--muted:#68716c!important;color-scheme:light!important}
html[data-resolved-appearance="light"] body{background:#f7f9f8!important;color:#141816!important}
html[data-resolved-appearance="light"] body::before{display:none!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(main,.main,.page,.player-page,.super-admin-shell){background:#f7f9f8!important;color:#141816!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-top{background:#fff!important;color:#141816!important;border-bottom:1px solid #e3e7e5!important;box-shadow:none!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-top .karalio-logo{content:url('assets/karalio-logo-black-green-uhd.png')!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(.brand-context,.karalio-top .user span){color:#68716c!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(.context-switch select,.team-switch){background:#fff!important;color:#141816!important;border-color:#d8dfdb!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-avatar{background:#f2f5f3!important;color:#18201b!important;border-color:#dce2de!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(h1,h2,h3,h4,h5,h6,strong,b,label,.context-title,.unified-page-heading h1,.player-menu-entry strong,.performance-hero h2,.performance-test-card h3){color:#141816!important;-webkit-text-fill-color:#141816!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(p,small,.sub,.subtitle,.muted,.hint,.helper,.description,.meta,.unified-page-subtitle,.player-menu-entry small){color:#68716c!important;-webkit-text-fill-color:#68716c!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(.eyebrow,.context-kicker,.text-link,.green-text,.text-green){color:#16863b!important;-webkit-text-fill-color:#16863b!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(.card,.q,.row,.game,.event,.empty,.credential,.menu-module,.account-menu-section,.pending-user,.super-style-pending,.trainer-assignment-card,.access-empty-card,.team-role-row,.team-choice,.karalio-section,.scope-summary-card,.player-menu-entry,.performance-hero,.performance-test-card,.performance-standard-note,.performance-setup,.performance-instructions,.performance-session-form,.performance-entry,.performance-player-picker label,.analytics-kpis>div,.performance-kpis>div,.entry-date,.attempt-grid>div,.attempt-grid>label,.material-line,.compare-row,.compare-row.header,.test-svg){background:#fff!important;color:#141816!important;border-color:#e1e6e3!important;box-shadow:0 1px 2px rgba(16,24,20,.025)!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(input,select,textarea,.trainer-assignment-controls select,.team-role-btn){background:#fff!important;color:#141816!important;-webkit-text-fill-color:#141816!important;border-color:#cfd7d2!important;color-scheme:light!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(input,textarea)::placeholder{color:#8a938e!important;-webkit-text-fill-color:#8a938e!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .primary{background:#16863b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#16863b!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .secondary{background:#fff!important;color:#202823!important;-webkit-text-fill-color:#202823!important;border-color:#d5dcd8!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) :is(.qicon,.menu-module-icon,.activity-icon,.player-menu-icon,.scope-icon,.performance-test-icon){background:#edf8ef!important;color:#16863b!important;border:0!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer{background:#f7f9f8!important;color:#7a827d!important;border-top-color:#e3e7e5!important}

/* Login, MFA und Registrierung sind im Standard ebenfalls vollständig hell. */
html[data-resolved-appearance="light"] body :is(.login,.karalio-public-shell,.karalio-reset-shell){background:#f4f7f6!important;color:#141816!important}
html[data-resolved-appearance="light"] body :is(.logincard,.mfa-card,.email-mfa-card,.registration-card,.karalio-reset-card){background:#fff!important;color:#141816!important;border-color:#dde4e0!important;box-shadow:0 18px 48px rgba(25,45,32,.10)!important}
html[data-resolved-appearance="light"] body :is(.logincard,.mfa-card,.email-mfa-card,.registration-card,.karalio-reset-card) :is(h1,h2,h3,h4,label,strong){color:#141816!important;-webkit-text-fill-color:#141816!important}
html[data-resolved-appearance="light"] body :is(.logincard,.mfa-card,.email-mfa-card,.registration-card,.karalio-reset-card) :is(p,small,.sub,.mfa-loading,.registration-intro){color:#68716c!important;-webkit-text-fill-color:#68716c!important}
html[data-resolved-appearance="light"] body :is(.logincard,.mfa-card,.email-mfa-card,.registration-card,.karalio-reset-card) :is(input,select,textarea){background:#fff!important;color:#141816!important;-webkit-text-fill-color:#141816!important;border-color:#cfd7d2!important;color-scheme:light!important}
html[data-resolved-appearance="light"] body :is(.logincard,.mfa-card,.email-mfa-card,.registration-card,.karalio-reset-card) .primary{background:#16863b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#16863b!important}
html[data-resolved-appearance="light"] body :is(.logincard,.mfa-card,.email-mfa-card,.registration-card,.karalio-reset-card) .secondary{background:#fff!important;color:#202823!important;-webkit-text-fill-color:#202823!important;border-color:#d5dcd8!important}

@media(min-width:901px){
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .page{max-width:1500px!important;margin:0 auto!important;padding:30px 34px 90px 292px!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.karalio-dock{position:fixed!important;z-index:25!important;left:0!important;right:auto!important;top:76px!important;bottom:0!important;width:258px!important;max-width:none!important;height:auto!important;transform:none!important;border:0!important;border-right:1px solid #e3e7e5!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;padding:24px 14px!important;display:flex!important;flex-direction:column!important;gap:8px!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.karalio-dock button{width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;border:0!important;border-radius:11px!important;padding:11px 14px!important;background:transparent!important;color:#343b37!important;font-size:14px!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.karalio-dock button.active{background:#e5f4e8!important;color:#147b35!important;font-weight:800!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.karalio-dock .dock-label{display:inline!important;font-size:14px!important;max-width:none!important;opacity:1!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.karalio-dock .dock-brand{display:none!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer{margin-left:258px!important}
}
@media(max-width:900px){
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .page{padding:20px 16px 96px!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.karalio-dock{background:#fff!important;border-color:#e0e5e2!important;box-shadow:0 -6px 24px rgba(20,30,24,.06)!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.karalio-dock button{color:#4f5852!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.karalio-dock button.active{color:#16863b!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer{margin-left:0!important}
}

/* V12.266 – finaler Cascade-Guard */
html[data-resolved-appearance="light"] body,html[data-resolved-appearance="light"] body #app{background:#f7f9f8!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer{background:#f7f9f8!important;color:#7a827d!important;border-top:1px solid #e3e7e5!important;box-shadow:none!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer button{background:transparent!important;color:#7a827d!important;-webkit-text-fill-color:#7a827d!important}
@media(min-width:761px){
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .page,html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .page{max-width:1500px!important;margin:0 auto!important;padding:30px 34px 90px 292px!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock,html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock{position:fixed!important;z-index:25!important;left:0!important;right:auto!important;top:76px!important;bottom:0!important;width:258px!important;max-width:258px!important;height:auto!important;min-height:0!important;transform:none!important;margin:0!important;border:0!important;border-right:1px solid #e3e7e5!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;padding:24px 14px!important;display:flex!important;grid-template-columns:none!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:8px!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock{background:#0e151b!important;border-right-color:#26323b!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button,html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button{width:100%!important;max-width:none!important;min-height:48px!important;height:auto!important;display:flex!important;flex:none!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;margin:0!important;border:0!important;border-radius:11px!important;padding:11px 14px!important;background:transparent!important;color:#343b37!important;font-size:14px!important;line-height:1.2!important;transform:none!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button{color:#c4ccd2!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button.active{background:#e5f4e8!important;color:#147b35!important}html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button.active{background:#102b19!important;color:#31d158!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-icon,html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-icon{display:grid!important;place-items:center!important;width:22px!important;min-width:22px!important;height:22px!important;margin:0!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-label,html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-label{display:inline!important;width:auto!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;font-size:14px!important;line-height:1.2!important;opacity:1!important;margin:0!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-brand,html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-brand{display:none!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer,html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{box-sizing:border-box!important;width:calc(100% - 258px)!important;max-width:none!important;margin:24px 0 0 258px!important;padding:20px 24px 26px!important}
}
@media(max-width:760px){html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .page,html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .page{padding:20px 16px 96px!important}html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer,html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{width:100%!important;max-width:none!important;margin:18px 0 118px!important;padding:18px 14px 0!important}}

/* =========================================================
   V12.267 – HORIZONTALE WEB-SCHNELLWAHL + HELLES KONTOMENÜ
   ========================================================= */
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-popover{
 background:#fff!important;color:#141816!important;border:1px solid #dfe5e1!important;box-shadow:0 18px 45px rgba(20,35,26,.14)!important
}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-popover-head{border-bottom-color:#e3e7e5!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-popover-head strong{color:#141816!important;-webkit-text-fill-color:#141816!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-popover-head span{color:#68716c!important;-webkit-text-fill-color:#68716c!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-popover button{background:transparent!important;color:#202823!important;-webkit-text-fill-color:#202823!important;border-color:transparent!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-popover button:hover,
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-popover button:focus-visible{background:#edf8ef!important;color:#147b35!important;-webkit-text-fill-color:#147b35!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-popover .account-logout{color:#c33c45!important;-webkit-text-fill-color:#c33c45!important}
html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .account-popover .account-logout:hover{background:#fff1f2!important;color:#a82631!important;-webkit-text-fill-color:#a82631!important}

@media(min-width:761px){
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .page,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .page{max-width:1500px!important;margin:0 auto!important;padding:30px 34px 128px!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock{position:fixed!important;z-index:40!important;left:50%!important;right:auto!important;top:auto!important;bottom:18px!important;width:min(620px,calc(100% - 36px))!important;max-width:620px!important;height:76px!important;min-height:76px!important;transform:translateX(-50%)!important;margin:0!important;border:1px solid #dfe5e1!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 38px rgba(20,35,26,.16)!important;padding:7px!important;display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:stretch!important;justify-content:center!important;gap:6px!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock{background:#0e151b!important;border-color:#2b3842!important;box-shadow:0 14px 38px rgba(0,0,0,.38)!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button{width:auto!important;max-width:none!important;min-width:0!important;min-height:60px!important;height:60px!important;display:flex!important;flex:1 1 0!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;margin:0!important;border:0!important;border-radius:14px!important;padding:6px 10px!important;background:transparent!important;color:#46504a!important;font-size:12px!important;line-height:1.1!important;transform:none!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button{color:#b8c1c8!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button.active{background:#e8f6eb!important;color:#16863b!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock button.active{background:#102b19!important;color:#31d158!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-icon,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-icon{display:grid!important;place-items:center!important;width:24px!important;min-width:24px!important;height:24px!important;margin:0!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-icon svg,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-icon svg{width:23px!important;height:23px!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-label,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-label{display:block!important;width:auto!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11px!important;font-weight:750!important;line-height:1.1!important;opacity:1!important;margin:0!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-brand,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock .dock-brand{display:none!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) .karalio-legal-footer,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) .karalio-legal-footer{box-sizing:border-box!important;width:100%!important;max-width:1100px!important;margin:24px auto 118px!important;padding:20px 24px 0!important}
}

/* V12.268 – alle vier Web-Schnellwahlpunkte garantiert sichtbar */
@media(min-width:761px){
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-flow:column!important;align-items:stretch!important;justify-items:stretch!important;overflow:visible!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>button:not(.dock-brand),
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>button:not(.dock-brand){display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;inset:auto!important;width:100%!important;min-width:0!important;max-width:none!important;overflow:visible!important;pointer-events:auto!important;color:#46504a!important;-webkit-text-fill-color:#46504a!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>button:not(.dock-brand){color:#b8c1c8!important;-webkit-text-fill-color:#b8c1c8!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>button.active{color:#16863b!important;-webkit-text-fill-color:#16863b!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>button.active{color:#31d158!important;-webkit-text-fill-color:#31d158!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>button:not(.dock-brand) :is(.dock-icon,.dock-label),
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>button:not(.dock-brand) :is(.dock-icon,.dock-label){display:grid!important;visibility:visible!important;opacity:1!important;color:inherit!important;-webkit-text-fill-color:currentColor!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>button:not(.dock-brand) .dock-label,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>button:not(.dock-brand) .dock-label{display:block!important}
}

/* V12.269 – finaler Logo-Guard */
@media(min-width:761px){
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;inset:auto!important;width:100%!important;min-width:0!important;max-width:none!important;height:60px!important;min-height:60px!important;margin:0!important;padding:6px!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;justify-self:stretch!important;border:0!important;border-radius:14px!important;background:transparent!important;box-shadow:none!important;transform:none!important;pointer-events:auto!important;cursor:pointer!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand:hover,
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand:focus-visible{background:#e8f6eb!important}
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand:hover,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand:focus-visible{background:#102b19!important}
 html[data-resolved-appearance="light"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand img,
 html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand img{display:block!important;visibility:visible!important;opacity:1!important;width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;object-fit:contain!important;margin:0!important;filter:none!important}
}

/* V12.277 – Settings-Hinweis + mobiles Dock-Logo */
/* Das Dock hat auch im Darkmode eine helle Logo-Fläche: deshalb Schwarz/Grün statt Weiß/Grün. */
html[data-resolved-appearance="dark"] body:not(.karalio-public-mode) nav.bottom.karalio-dock>.dock-brand img{
  content:url("assets/karalio-mark-original.png")!important;
}

/* V12.312 – Pflichtangabe für passende Trainingsideen */
.planner-field-error{display:block;min-height:1.2em;margin-top:5px;color:#c83b45;font-size:11px;font-weight:750}
#planPlayers[aria-invalid="true"]{border-color:#c83b45!important;box-shadow:0 0 0 3px rgba(200,59,69,.14)!important}
html[data-resolved-appearance="dark"] #planPlayers[aria-invalid="true"]{border-color:#ff6b75!important;box-shadow:0 0 0 3px rgba(255,107,117,.16)!important}
html[data-resolved-appearance="dark"] .planner-field-error{color:#ff8790!important}

/* V12.313 – freier Generator und Ausbildungskonzept klar getrennt */
.planner-controls-clean [hidden]{display:none!important}
.planner-mode-field{max-width:520px;margin:0 0 18px}
.planner-mode-field>span{font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.planner-mode-field select{font-weight:850;border-color:#31D158!important;box-shadow:0 0 0 3px rgba(49,209,88,.10)}
#freeTopicFields{margin-bottom:18px}
#curriculumPlannerOverview{margin:0 0 18px}
#curriculumPlannerOverview .curriculum-overview{margin:0;padding:18px;border:1px solid rgba(49,209,88,.28);border-radius:16px;background:rgba(49,209,88,.055)}
html[data-resolved-appearance="dark"] #curriculumPlannerOverview .curriculum-overview{background:rgba(49,209,88,.065);border-color:rgba(49,209,88,.22)}

/* V12.314 – Saisonübersicht des Trainingslehrplans */
.season-curriculum{display:grid;gap:18px}
.season-curriculum-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.season-curriculum-summary h2{margin:5px 0 4px;font-size:26px;letter-spacing:-.025em}
.season-curriculum-summary p{margin:0;color:var(--muted)}
.season-progress-value{text-align:right;white-space:nowrap}.season-progress-value b{display:block;font-size:24px}.season-progress-value span{font-size:11px;color:var(--muted)}
.season-progress-track{height:7px;border-radius:99px;background:#e8ece9;overflow:hidden}.season-progress-track i{display:block;height:100%;border-radius:inherit;background:#31D158}
.season-phase-list{display:grid;gap:14px}
.season-phase{padding:15px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.55)}
.season-phase.current{border-color:rgba(49,209,88,.55);box-shadow:0 0 0 3px rgba(49,209,88,.08)}
.season-phase-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px}.season-phase-head span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#178d3c}.season-phase-head h3{margin:3px 0;font-size:18px}.season-phase-head p{margin:0;color:var(--muted);font-size:12px}.season-phase-head>b{font-size:11px;color:var(--muted);white-space:nowrap}
.season-week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.season-week{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.season-week summary{list-style:none;cursor:pointer;padding:12px;display:grid;grid-template-columns:1fr auto;gap:3px 8px}.season-week summary::-webkit-details-marker{display:none}.season-week summary>span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#69716c}.season-week summary>small{font-size:9px;color:#8a928d}.season-week summary>strong{grid-column:1/-1;font-size:13px;line-height:1.25}.season-week summary>em{grid-column:1/-1;font-size:9px;font-style:normal;font-weight:850;color:#78807b}.season-week>div{padding:0 12px 12px;border-top:1px solid var(--line)}.season-week>div b{display:block;margin-top:10px;font-size:11px}.season-week>div p{margin:5px 0 9px;font-size:11px;line-height:1.45;color:var(--muted)}.season-week-category{display:inline-block;padding:4px 7px;border-radius:99px;background:#eef5f0;color:#27613a;font-size:9px;font-weight:800}
.season-week.done{opacity:.66}.season-week.done summary>em{color:#4c7b5a}.season-week.current{border-color:#31D158;box-shadow:0 0 0 2px rgba(49,209,88,.14)}.season-week.current summary{background:#102f1b;color:#fff}.season-week.current summary :is(span,small,em){color:#75e994}.season-week.upcoming summary>em{color:#747d77}
html[data-resolved-appearance="dark"] .season-progress-track{background:#27323a}html[data-resolved-appearance="dark"] .season-phase{background:rgba(14,21,27,.66);border-color:#2b3842}html[data-resolved-appearance="dark"] .season-week{background:#111a21;border-color:#2b3842}html[data-resolved-appearance="dark"] .season-week>div{border-top-color:#2b3842}html[data-resolved-appearance="dark"] .season-week-category{background:#183324;color:#79df93}
@media(max-width:900px){.season-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.season-curriculum-summary{align-items:flex-start}.season-curriculum-summary h2{font-size:22px}.season-progress-value b{font-size:19px}.season-phase-head{display:block}.season-phase-head>b{display:block;margin-top:8px}.season-week-grid{grid-template-columns:1fr}}

/* V12.315 – Ausbildungskonzept als eigener Mannschaftsbereich */
.curriculum-current-brief{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid rgba(49,209,88,.28);border-radius:15px;background:rgba(49,209,88,.055)}.curriculum-current-brief h2{margin:5px 0;font-size:20px}.curriculum-current-brief p{margin:0;color:var(--muted);max-width:760px}.curriculum-current-brief button{white-space:nowrap}
.curriculum-team-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.curriculum-team-hero h1{margin:5px 0;font-size:32px;letter-spacing:-.03em}.curriculum-team-hero p{margin:0;color:var(--muted);max-width:760px}
.curriculum-team-progress{display:grid;grid-template-columns:1fr auto;gap:10px 18px;align-items:center;margin-top:12px}.curriculum-team-progress>div strong,.curriculum-team-progress>div span{display:block}.curriculum-team-progress>div span{margin-top:4px;color:var(--muted);font-size:11px}.curriculum-team-progress>b{font-size:23px}.curriculum-team-progress .season-progress-track{grid-column:1/-1}.curriculum-team-progress>button{grid-column:1/-1;justify-self:start}
.curriculum-team-phases{display:grid;gap:14px;margin-top:14px}.curriculum-team-phase.current{border-color:rgba(49,209,88,.52)!important;box-shadow:0 0 0 3px rgba(49,209,88,.08)!important}.curriculum-team-week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.curriculum-team-week{display:flex;flex-direction:column;gap:8px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.curriculum-team-week.done{background:#f1f8f3;border-color:#cce8d3}.curriculum-team-week.current{border-color:#31D158;box-shadow:0 0 0 2px rgba(49,209,88,.13)}.curriculum-team-week-head{display:flex;justify-content:space-between;gap:8px}.curriculum-team-week-head span,.curriculum-team-week-head em{font-size:9px;font-weight:850;letter-spacing:.04em}.curriculum-team-week-head em{font-style:normal;color:#178d3c}.curriculum-team-week h4{margin:0;font-size:14px;line-height:1.25}.curriculum-team-week>small{color:var(--muted)}.curriculum-team-week details{font-size:11px}.curriculum-team-week details summary{cursor:pointer;font-weight:800}.curriculum-team-week details p{color:var(--muted);line-height:1.45}.curriculum-team-week .curriculum-status-button{width:100%;margin-top:auto}
.curriculum-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.curriculum-compact-phase{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-items:start}.curriculum-compact-phase.current{border-color:#31D158!important;box-shadow:0 0 0 3px rgba(49,209,88,.08)!important}.curriculum-compact-phase.done{background:#f1f8f3!important}.curriculum-compact-number{font-size:30px;font-weight:900;color:#31D158;line-height:1}.curriculum-compact-phase span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#178d3c}.curriculum-compact-phase h3{margin:5px 0;font-size:19px}.curriculum-compact-phase p{margin:0 0 10px;color:var(--muted);font-size:12px}.curriculum-compact-phase strong{display:block;margin-top:10px;font-size:11px}.curriculum-compact-phase>button{grid-column:1/-1;width:100%}.curriculum-category-chips{display:flex;flex-wrap:wrap;gap:5px}.curriculum-category-chips small{padding:4px 7px;border-radius:99px;background:#eef5f0;color:#27613a;font-size:9px;font-weight:800}
html[data-resolved-appearance="dark"] .curriculum-current-brief{background:rgba(49,209,88,.06);border-color:rgba(49,209,88,.22)}html[data-resolved-appearance="dark"] .curriculum-team-week,html[data-resolved-appearance="dark"] .curriculum-compact-phase{background:#111a21;border-color:#2b3842}html[data-resolved-appearance="dark"] .curriculum-team-week.done,html[data-resolved-appearance="dark"] .curriculum-compact-phase.done{background:#12261a!important;border-color:#245d35}.curriculum-team-week button{min-height:40px}
@media(max-width:900px){.curriculum-team-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-compact-grid{grid-template-columns:1fr}}
@media(max-width:600px){.curriculum-current-brief,.curriculum-team-hero{display:block}.curriculum-current-brief button{width:100%;margin-top:12px}.curriculum-team-hero .badge{display:inline-block;margin-top:12px}.curriculum-team-week-grid{grid-template-columns:1fr}.curriculum-team-progress>button{width:100%}}

/* V12.316 – Themenliste in der kompakten Lehrplanansicht */
.curriculum-compact-topics{margin:12px 0 2px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.curriculum-compact-topics>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;cursor:pointer;color:#31D158;font-size:11px;font-weight:850}
.curriculum-compact-topics>summary::-webkit-details-marker,.curriculum-compact-topic>summary::-webkit-details-marker{display:none}
.curriculum-compact-topics>summary b{font-size:17px;line-height:1;transition:transform .16s ease}.curriculum-compact-topics[open]>summary b{transform:rotate(45deg)}
.curriculum-compact-topics>div{display:grid;gap:5px;padding:0 0 10px}
.curriculum-compact-topic{border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.035);overflow:hidden}
.curriculum-compact-topic>summary{list-style:none;display:grid;grid-template-columns:28px 1fr 16px;align-items:center;gap:7px;padding:8px 9px;cursor:pointer}
.curriculum-compact-topic>summary i{font-style:normal;font-size:9px;font-weight:900;color:#31D158}.curriculum-compact-topic>summary span{font-size:11px;font-weight:750;color:inherit}.curriculum-compact-topic>summary em{font-style:normal;color:#31D158;font-weight:900}
.curriculum-compact-topic>p{margin:0;padding:0 9px 9px 44px!important;font-size:10.5px!important;line-height:1.45!important;color:var(--muted)!important}
html[data-resolved-appearance="dark"] .curriculum-compact-topics{border-color:#2b3842}html[data-resolved-appearance="dark"] .curriculum-compact-topic{border-color:#2b3842;background:#0e171d}

/* V12.317 – editierbare Chronologie im Ausbildungskonzept */
.curriculum-order-editor{padding:0!important;overflow:hidden}.curriculum-order-editor>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer}.curriculum-order-editor>summary::-webkit-details-marker{display:none}.curriculum-order-editor>summary span{display:grid;gap:3px}.curriculum-order-editor>summary strong{font-size:15px}.curriculum-order-editor>summary small{color:var(--muted);font-size:11px}.curriculum-order-editor>summary>b{color:#31D158;font-size:12px}.curriculum-order-list{display:grid;gap:6px;padding:0 20px 14px}.curriculum-order-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.curriculum-order-row>i{font-style:normal;color:#31D158;font-size:11px;font-weight:900}.curriculum-order-row>span{display:grid;gap:2px}.curriculum-order-row>span strong{font-size:12px}.curriculum-order-row>span small{font-size:9px;color:var(--muted)}.curriculum-order-row>div{display:flex;gap:5px}.curriculum-order-row button{width:34px;min-height:32px!important;padding:0!important;font-size:17px}.curriculum-order-row button:disabled{opacity:.25}.curriculum-order-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}.curriculum-order-actions button{min-height:40px}
html[data-resolved-appearance="dark"] .curriculum-order-row{background:#0e171d;border-color:#2b3842}
@media(max-width:640px){.curriculum-order-editor>summary,.curriculum-order-list,.curriculum-order-actions{padding-left:14px;padding-right:14px}.curriculum-order-row{grid-template-columns:34px minmax(0,1fr) auto}.curriculum-order-actions{display:grid;grid-template-columns:1fr}.curriculum-order-actions button{width:100%}}

/* V12.318 – dunkle Themen-Chips im Darkmode */
html[data-resolved-appearance="dark"] .curriculum-category-chips small{background:rgba(49,209,88,.09);border:1px solid rgba(49,209,88,.24);color:#62df82;box-shadow:none}
.team-training-start-note,.curriculum-adaptation-note{border:1px solid color-mix(in srgb,var(--green) 34%,var(--line));background:color-mix(in srgb,var(--green) 8%,var(--card));color:var(--text);border-radius:16px;padding:16px}
.team-training-start-note{font-size:.92rem;line-height:1.45}
.curriculum-adaptation-note{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.curriculum-adaptation-note>div{display:grid;gap:5px}.curriculum-adaptation-note p{margin:0;color:var(--muted)}
.curriculum-combined-label{display:inline-flex;width:max-content;color:var(--green);font-weight:800}
@media(max-width:760px){.curriculum-adaptation-note{align-items:stretch;flex-direction:column}}
/* V12.356 Individualtraining: focused workout flow */
.individual-workout-page{max-width:900px}.individual-workout-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px 12px}.individual-workout-hero h1{margin:3px 0;font-size:30px}.individual-workout-hero p{margin:0;color:#667589}.individual-workout-progress{min-width:82px;height:82px;border-radius:24px;background:#101b17;color:#fff;display:grid;place-items:center;align-content:center}.individual-workout-progress strong{font-size:24px}.individual-workout-progress span{font-size:10px;color:#b9c5bf}.individual-workout-list{display:grid;gap:12px}.individual-workout-card{width:100%;border:1px solid #dce4df;background:#fff;border-radius:22px;padding:12px;display:grid;grid-template-columns:112px minmax(0,1fr) 44px;align-items:center;gap:14px;text-align:left;box-shadow:0 5px 18px rgba(10,31,59,.05);cursor:pointer}.individual-workout-card.is-done{border-color:#78b98a;background:#f5fbf6}.individual-workout-thumb{height:94px;border-radius:16px;background:#f2f5f3;overflow:hidden;display:grid;place-items:center}.individual-workout-thumb img{width:100%;height:100%;object-fit:contain}.individual-workout-copy h2{font-size:19px;margin:3px 0 5px}.individual-workout-copy p{margin:0 0 6px;font-weight:800;color:#2c3b33}.individual-workout-copy small{color:#748078}.individual-workout-state{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef3f0;font-size:22px;font-weight:900}.is-done .individual-workout-state{background:#31d158;color:#07120a}.individual-workout-finish{margin:18px 0}.individual-workout-finish .sub{text-align:center}.individual-workout-more{margin-top:12px}.individual-workout-more summary{font-weight:850;cursor:pointer}
.individual-exercise-focus{max-width:720px;padding-bottom:120px}.individual-exercise-visual{text-align:center}.individual-exercise-visual img{width:min(100%,480px);height:310px;object-fit:contain;background:#f4f6f5;border-radius:24px}.individual-exercise-visual h1{font-size:28px;margin:8px 0 5px}.individual-exercise-visual>strong{display:block;font-size:17px;color:#238642}.individual-exercise-description{margin:14px 0;color:#596a62;line-height:1.5}.individual-set-panel{background:#111814;color:#fff;border-radius:26px;padding:18px}.individual-set-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.individual-set-head h2{margin:0}.individual-set-head span{font-size:11px;color:#b7c2bc}.individual-timer-toggle{font-size:11px;display:flex;align-items:center;gap:6px}.individual-rest-timer{margin:14px 0;padding:14px;border-radius:18px;background:#1d2923;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.individual-rest-timer[hidden]{display:none}.individual-rest-timer strong{font-size:24px}.individual-rest-timer.is-ready{outline:2px solid #31d158}.individual-set-list{display:grid;gap:9px;margin-top:14px}.individual-set-row{border:1px solid #34423b;background:#1b2420;color:#fff;border-radius:16px;padding:12px;display:grid;grid-template-columns:36px 1fr 38px;gap:10px;align-items:center;text-align:left}.individual-set-row.is-done{border-color:#31d158;background:#183221}.individual-set-number{width:30px;height:30px;border-radius:50%;background:#2d3833;display:grid;place-items:center;font-weight:900}.individual-set-row small{display:block;color:#aeb9b3;margin-top:2px}.individual-set-check{font-size:25px;text-align:center;color:#31d158}.individual-exercise-finish{position:sticky;bottom:82px;margin-top:18px;z-index:8}
@media(max-width:680px){.individual-workout-hero h1{font-size:25px}.individual-workout-progress{min-width:70px;height:70px;border-radius:20px}.individual-workout-card{grid-template-columns:86px minmax(0,1fr) 36px;padding:10px;border-radius:18px}.individual-workout-thumb{height:78px}.individual-workout-copy h2{font-size:16px}.individual-exercise-visual img{height:250px}.individual-set-panel{margin-left:-4px;margin-right:-4px;padding:14px;border-radius:22px}.individual-rest-timer{grid-template-columns:1fr auto}.individual-rest-timer button{grid-column:1/-1}.individual-exercise-finish{bottom:18px}}

/* V12.365 – Teilnehmer & Baustein-Teilnahme */
.card-soft{margin:14px 0;padding:14px;border:1px solid var(--line,#d9dee5);border-radius:16px;background:var(--card,#fff)}
.participant-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 14px;margin:14px 0}
.participant-check-grid label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line,#d9dee5);border-radius:10px}
.element-player-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(170px,220px);align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line,#e5e7eb)}
.element-player-row select{width:100%}
@media(max-width:640px){.participant-check-grid{grid-template-columns:1fr}.element-player-row{grid-template-columns:1fr}.element-player-row select{margin-top:4px}}

/* V12.390 – finale Priorität für gleichmäßige Termin- und Antwortfelder */
.player-home-compact .player-next-events-list{padding:6px!important;background:transparent!important;border:0!important;box-shadow:none!important;gap:6px!important}.player-home-compact .player-dashboard-list-item.compact-event,.player-home-compact .player-dashboard-list-item.compact-event.training,.player-home-compact .player-dashboard-list-item.compact-event.game,.player-home-compact .player-dashboard-list-item.compact-event.individual{display:block!important;width:100%!important;margin:0!important;border:1px solid var(--line)!important;border-left-width:5px!important;border-radius:13px!important;overflow:hidden!important;box-sizing:border-box!important}.player-home-compact .player-dashboard-list-item.compact-event.training{border-left-color:#239548!important;background:#f3faf5!important}.player-home-compact .player-dashboard-list-item.compact-event.game{border-left-color:#5f6d7a!important;background:#f1f3f5!important}.player-home-compact .player-dashboard-list-item.compact-event.individual{border-left-color:#7656a8!important;background:#f7f2fb!important}.player-home-compact .player-dashboard-list-item.compact-event.club-event{border-left-color:#1f6e78!important;background:#f1f8f8!important}.player-home-compact .compact-event .player-dashboard-list-row,.player-home-compact .compact-event.game .player-dashboard-list-row,.player-home-compact .compact-event.training .player-dashboard-list-row,.player-home-compact .compact-event.individual .player-dashboard-list-row{display:grid!important;grid-template-columns:68px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;width:100%!important;min-height:50px!important;height:50px!important;padding:7px 10px!important;border:0!important;background:transparent!important;box-sizing:border-box!important}.player-home-compact .compact-event .player-dashboard-rsvp-row,.player-home-compact .compact-event.training .player-dashboard-rsvp-row,.player-home-compact .compact-event.game .player-dashboard-rsvp-row{position:static!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;gap:6px!important;width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 10px 8px 87px!important;box-sizing:border-box!important;background:transparent!important}.player-home-compact .compact-event .player-dashboard-rsvp-row button,.player-home-compact .compact-event.training .player-dashboard-rsvp-row button,.player-home-compact .compact-event.game .player-dashboard-rsvp-row button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;max-width:none!important;height:34px!important;min-height:34px!important;max-height:34px!important;margin:0!important;padding:0 4px!important;border-radius:8px!important;box-sizing:border-box!important;font-size:8px!important;line-height:1!important;white-space:nowrap!important}.player-home-compact .compact-event .player-dashboard-rsvp-row button.selected{outline:0!important;box-shadow:inset 0 0 0 2px currentColor!important}.player-home-compact .compact-event+.compact-event{margin-top:6px!important}.player-home-compact .compact-event .player-dashboard-rsvp-state{display:none!important}
html[data-resolved-appearance="dark"] .player-home-compact .player-dashboard-list-item.compact-event.training{background:#12251a!important}html[data-resolved-appearance="dark"] .player-home-compact .player-dashboard-list-item.compact-event.game{background:#171e24!important}html[data-resolved-appearance="dark"] .player-home-compact .player-dashboard-list-item.compact-event.individual{background:#211a29!important}
@media(max-width:420px){.player-home-compact .compact-event .player-dashboard-list-row,.player-home-compact .compact-event.game .player-dashboard-list-row,.player-home-compact .compact-event.training .player-dashboard-list-row,.player-home-compact .compact-event.individual .player-dashboard-list-row{grid-template-columns:62px minmax(0,1fr) auto!important;gap:7px!important;height:48px!important;min-height:48px!important;padding:6px 8px!important}.player-home-compact .compact-event .player-dashboard-rsvp-row,.player-home-compact .compact-event.training .player-dashboard-rsvp-row,.player-home-compact .compact-event.game .player-dashboard-rsvp-row{height:40px!important;min-height:40px!important;padding:0 8px 6px 77px!important}.player-home-compact .compact-event .player-dashboard-rsvp-row button,.player-home-compact .compact-event.training .player-dashboard-rsvp-row button,.player-home-compact .compact-event.game .player-dashboard-rsvp-row button{height:34px!important;min-height:34px!important;max-height:34px!important;font-size:7.5px!important}}

/* V12.391 – stabiles zweizeiliges Terminlayout ohne Überlagerungen */
.player-home-compact .player-next-events-list{
  display:grid!important;
  gap:10px!important;
  padding:8px!important;
}
.player-home-compact .player-dashboard-list-item.compact-event,
.player-home-compact .player-dashboard-list-item.compact-event.training,
.player-home-compact .player-dashboard-list-item.compact-event.game{
  display:grid!important;
  grid-template-rows:64px 48px!important;
  height:112px!important;
  min-height:112px!important;
  overflow:hidden!important;
}
.player-home-compact .compact-event .player-dashboard-list-row,
.player-home-compact .compact-event.game .player-dashboard-list-row,
.player-home-compact .compact-event.training .player-dashboard-list-row{
  position:static!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) 76px!important;
  gap:10px!important;
  width:100%!important;
  height:64px!important;
  min-height:64px!important;
  margin:0!important;
  padding:9px 12px!important;
  overflow:hidden!important;
}
.player-home-compact .compact-event .player-dashboard-list-main{
  min-width:0!important;
  overflow:hidden!important;
}
.player-home-compact .compact-event .player-dashboard-list-main strong,
.player-home-compact .compact-event .player-dashboard-list-main small{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.player-home-compact .compact-event .player-dashboard-list-main strong{
  font-size:14px!important;
  line-height:1.25!important;
}
.player-home-compact .compact-event .player-dashboard-list-main small{
  margin-top:3px!important;
  font-size:11px!important;
  line-height:1.2!important;
}
.player-home-compact .compact-event .player-event-type{
  width:76px!important;
  min-width:76px!important;
  height:30px!important;
  margin:0!important;
  padding:0 7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  border-radius:9px!important;
  font-size:9px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.player-home-compact .compact-event .badge{
  position:static!important;
  width:76px!important;
  min-width:76px!important;
  margin:0!important;
  justify-self:end!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.player-home-compact .compact-event .player-dashboard-rsvp-row,
.player-home-compact .compact-event.training .player-dashboard-rsvp-row,
.player-home-compact .compact-event.game .player-dashboard-rsvp-row{
  position:static!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 12px 10px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.player-home-compact .compact-event .player-dashboard-rsvp-row button,
.player-home-compact .compact-event.training .player-dashboard-rsvp-row button,
.player-home-compact .compact-event.game .player-dashboard-rsvp-row button{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0 5px!important;
  border-radius:9px!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  transform:none!important;
}
.player-home-compact .player-dashboard-list-item.compact-event.training{
  border-color:#b9dfc4!important;
  border-left-color:#239548!important;
  background:#f5fbf6!important;
}
.player-home-compact .player-dashboard-list-item.compact-event.game{
  border-color:#d5dbe0!important;
  border-left-color:#566574!important;
  background:#fff!important;
}
@media(max-width:420px){
  .player-home-compact .compact-event .player-dashboard-list-row,
  .player-home-compact .compact-event.game .player-dashboard-list-row,
  .player-home-compact .compact-event.training .player-dashboard-list-row{
    grid-template-columns:70px minmax(0,1fr) 68px!important;
    gap:7px!important;
    height:64px!important;
    min-height:64px!important;
    padding:8px!important;
  }
  .player-home-compact .compact-event .player-event-type{
    width:70px!important;
    min-width:70px!important;
  }
  .player-home-compact .compact-event .badge{
    width:68px!important;
    min-width:68px!important;
  }
  .player-home-compact .compact-event .player-dashboard-rsvp-row,
  .player-home-compact .compact-event.training .player-dashboard-rsvp-row,
  .player-home-compact .compact-event.game .player-dashboard-rsvp-row{
    height:48px!important;
    min-height:48px!important;
    padding:0 8px 10px!important;
  }
  .player-home-compact .compact-event .player-dashboard-rsvp-row button,
  .player-home-compact .compact-event.training .player-dashboard-rsvp-row button,
  .player-home-compact .compact-event.game .player-dashboard-rsvp-row button{
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    font-size:10px!important;
  }
}

/* V12.392 – höhere Terminkarten, vollständige Metadaten, Status oben rechts */
.player-home-compact .player-dashboard-list-item.compact-event,
.player-home-compact .player-dashboard-list-item.compact-event.training,
.player-home-compact .player-dashboard-list-item.compact-event.game{
  grid-template-rows:104px 50px!important;
  height:154px!important;
  min-height:154px!important;
}
.player-home-compact .compact-event .player-dashboard-list-row,
.player-home-compact .compact-event.game .player-dashboard-list-row,
.player-home-compact .compact-event.training .player-dashboard-list-row{
  grid-template-columns:76px minmax(0,1fr) 76px!important;
  grid-template-rows:30px minmax(0,1fr)!important;
  align-items:start!important;
  height:104px!important;
  min-height:104px!important;
  padding:11px 12px 8px!important;
}
.player-home-compact .compact-event .player-event-type,
.player-home-compact .compact-event .badge{
  align-self:start!important;
}
.player-home-compact .compact-event .player-event-type{
  grid-column:1!important;
  grid-row:1!important;
}
.player-home-compact .compact-event .badge{
  grid-column:3!important;
  grid-row:1!important;
  margin-top:0!important;
}
.player-home-compact .compact-event .player-dashboard-list-main{
  grid-column:1 / 4!important;
  grid-row:2!important;
  align-self:start!important;
  padding:7px 2px 0!important;
}
.player-home-compact .compact-event .player-dashboard-list-main strong{
  font-size:14px!important;
  line-height:1.22!important;
  white-space:normal!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:1!important;
}
.player-home-compact .compact-event .player-dashboard-list-main small{
  margin-top:5px!important;
  font-size:11px!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
.player-home-compact .compact-event .player-dashboard-rsvp-row,
.player-home-compact .compact-event.training .player-dashboard-rsvp-row,
.player-home-compact .compact-event.game .player-dashboard-rsvp-row{
  height:50px!important;
  min-height:50px!important;
  padding:0 12px 12px!important;
}
@media(max-width:420px){
  .player-home-compact .player-dashboard-list-item.compact-event,
  .player-home-compact .player-dashboard-list-item.compact-event.training,
  .player-home-compact .player-dashboard-list-item.compact-event.game{
    grid-template-rows:106px 50px!important;
    height:156px!important;
    min-height:156px!important;
  }
  .player-home-compact .compact-event .player-dashboard-list-row,
  .player-home-compact .compact-event.game .player-dashboard-list-row,
  .player-home-compact .compact-event.training .player-dashboard-list-row{
    grid-template-columns:70px minmax(0,1fr) 68px!important;
    align-items:start!important;
    grid-template-rows:30px minmax(0,1fr)!important;
    height:106px!important;
    min-height:106px!important;
    padding:10px 8px 8px!important;
  }
  .player-home-compact .compact-event .player-dashboard-list-main strong{font-size:13px!important}
  .player-home-compact .compact-event .player-dashboard-list-main small{font-size:10px!important}
  .player-home-compact .compact-event .player-dashboard-rsvp-row,
  .player-home-compact .compact-event.training .player-dashboard-rsvp-row,
  .player-home-compact .compact-event.game .player-dashboard-rsvp-row{
    height:50px!important;
    min-height:50px!important;
    padding:0 8px 12px!important;
  }
}
\n\n/* V12.395 · globale Zurück-Kachel */
.compact-back-link,
.player-profile-back{
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:38px!important;
  width:auto!important;
  padding:8px 13px!important;
  margin:0!important;
  border:1px solid #d9e0dc!important;
  border-radius:12px!important;
  background:#ffffff!important;
  color:#17201b!important;
  box-shadow:0 2px 8px rgba(20,35,27,.06)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  text-decoration:none!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.compact-back-link:hover,
.compact-back-link:focus-visible,
.player-profile-back:hover,
.player-profile-back:focus-visible{
  background:#f5f8f6!important;
  border-color:#c8d2cc!important;
  color:#111!important;
  text-decoration:none!important;
  outline:none!important;
}
.unified-page-navigation,
.menu-page-navigation,
.persistent-team-back{
  min-height:38px!important;
  margin-bottom:12px!important;
}
/* Individualtermine auf dem Spieler-Dashboard bleiben immer kompakt. */
.player-home-compact .player-dashboard-list-item.compact-event.individual,
.player-home-compact .compact-event.individual .player-dashboard-list-row{
  min-height:0!important;
}
.player-home-compact .compact-event.individual .player-dashboard-list-row{
  height:auto!important;
  min-height:50px!important;
}
@media(max-width:420px){
  .compact-back-link,.player-profile-back{min-height:36px!important;padding:8px 12px!important;font-size:12px!important}
}

/* V12.396 – Spieler Individualtraining: Überfälliges eindeutig rot markieren */
.athletic-task-card.is-overdue{border-left-color:#d92d20!important;background:rgba(217,45,32,.045)!important}
.athletic-task-card.is-overdue .athletic-task-date{color:#b42318!important}
.player-status-strip .is-overdue{background:rgba(217,45,32,.08)!important;border-color:rgba(217,45,32,.22)!important}
.player-status-strip .is-overdue span,.player-status-strip .is-overdue strong{color:#b42318!important}
.player-athletic-home-tile.has-overdue{border-left-color:#d92d20!important}
.player-athletic-home-tile.has-overdue .player-athletic-icon{background:rgba(217,45,32,.09)!important}
.individual-overdue-copy{color:#b42318!important;font-weight:800!important}

/* V12.397 – Individualtraining UI wie abgestimmt: Signalrot + Dark Mode */
.player-individual-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 12px}
.player-individual-summary-card{margin:0!important;min-height:112px;padding:16px 18px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.player-individual-summary-card span{color:var(--muted);font-size:13px}.player-individual-summary-card strong{font-size:30px;line-height:1.05}.player-individual-summary-card small{margin-top:5px;color:#d92d20;font-weight:900;font-size:12px}
.player-individual-summary-card.has-overdue{background:#fff3f3!important;border-color:#ff8a8a!important}
.player-individual-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}
.player-individual-tab{min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);font-weight:850;font-size:12px;padding:8px 6px}.player-individual-tab.active{border-color:#1aa64a;color:var(--text);box-shadow:inset 0 0 0 1px #1aa64a}.player-individual-tab b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:3px;border-radius:999px;background:#ef2d2d;color:#fff;font-size:10px}
.player-individual-sort{margin:0 0 14px}.player-individual-sort label{display:grid;gap:6px}.player-individual-sort label>span{text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900;color:var(--muted)}.player-individual-sort select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:var(--card);color:var(--text);font-weight:800}
.player-individual-list{gap:10px!important}.player-individual-list .athletic-task-card.is-overdue{background:#fff0f0!important;border:1px solid #ff9a9a!important;border-left:4px solid #ef2d2d!important}.player-individual-list .athletic-task-card.is-overdue .badge.red{background:#ffd6d6!important;color:#bd1e1e!important;border-color:#ffb0b0!important}.player-individual-list .athletic-task-card.is-overdue .athletic-task-date{color:#c9231b!important}
html[data-resolved-appearance="dark"] .player-individual-summary-card.has-overdue{background:#351d1f!important;border-color:#8f3d42!important}html[data-resolved-appearance="dark"] .player-individual-summary-card.has-overdue small{color:#ff8e94!important}html[data-resolved-appearance="dark"] .player-individual-tab{background:#18201c!important;border-color:#344139!important;color:#c3ccc6!important}html[data-resolved-appearance="dark"] .player-individual-tab.active{border-color:#31d158!important;color:#f5f8f6!important;box-shadow:inset 0 0 0 1px #31d158!important}html[data-resolved-appearance="dark"] .player-individual-sort select{background:#151d19!important;border-color:#344139!important;color:#f4f7f5!important}html[data-resolved-appearance="dark"] .player-individual-list .athletic-task-card.is-overdue{background:#321c1e!important;border-color:#7e373c!important;border-left-color:#ff575f!important;color:#f8f5f5!important}html[data-resolved-appearance="dark"] .player-individual-list .athletic-task-card.is-overdue .athletic-task-date{color:#ff777d!important}html[data-resolved-appearance="dark"] .player-individual-list .athletic-task-card.is-overdue .athletic-task-main span{color:#d9c7c8!important}html[data-resolved-appearance="dark"] .player-individual-list .athletic-task-card.is-overdue .badge.red{background:#5b2529!important;color:#ffb2b6!important;border-color:#8f3d42!important}
@media(max-width:430px){.player-individual-tabs{gap:5px}.player-individual-tab{font-size:10px;padding:7px 3px}.player-individual-summary-card{min-height:96px;padding:13px!important}}
.guardian-child-switch{display:flex;align-items:end;justify-content:space-between;gap:18px}.guardian-child-switch label{display:grid;gap:6px;min-width:240px}.guardian-child-switch>div:last-child{display:grid;gap:4px;text-align:right}.guardian-child-switch span,.guardian-event-row span,.guardian-consent-row span,.guardian-event-row small,.guardian-consent-row small{display:block;color:var(--muted,#68736d);font-size:12px}.guardian-event-list,.guardian-consent-list{display:grid;gap:10px}.guardian-event-row,.guardian-consent-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid var(--line,#e3e8e5);border-radius:12px}.guardian-response-buttons,.guardian-consent-row>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:700px){.guardian-child-switch,.guardian-event-row,.guardian-consent-row{align-items:flex-start;flex-direction:column}.guardian-child-switch>div:last-child{text-align:left}.guardian-response-buttons,.guardian-consent-row>div:last-child{justify-content:flex-start}}
