/* Wochenplan – gemeinsame Styles */
.plan-head{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;margin-bottom:16px}
.plan-head h3{margin:0;font-size:24px}
.plan-head .goal{margin:6px 0 0;color:#d3e0ef}
.plan-tools{display:flex;gap:8px;flex-wrap:wrap}
.plan-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.plan-meta div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:12px 14px;font-size:15px;color:#d3e0ef}
.plan-meta b{display:block;color:#ffdc18;font-size:12px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:2px}
.blk{border:1px solid rgba(255,255,255,.13);border-left:4px solid var(--c,#5b7aa5);border-radius:12px;margin-bottom:8px;background:rgba(255,255,255,.035);overflow:hidden}
.blk>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:13px 14px}
.blk>summary::-webkit-details-marker{display:none}
.blk>summary:focus-visible{outline:2px solid #ffdc18;outline-offset:-2px}
.blk time{font-weight:900;color:#ffdc18;font-variant-numeric:tabular-nums}
.blk .t{font-weight:800;line-height:1.25}
.blk .t small{display:block;font-weight:500;color:#9fb0c8;font-size:13px;margin-top:2px}
.blk .chev{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:transform .2s;font-size:14px}
.blk[open] .chev{transform:rotate(180deg);background:#ffdc18;color:#071a39}
.blk[open]>summary{border-bottom:1px solid rgba(255,255,255,.1)}
.blk .body{padding:14px 16px 16px 84px;color:#d3e0ef;font-size:15px}
.blk .body h4{margin:12px 0 4px;font-size:12px;color:#ffdc18;text-transform:uppercase;letter-spacing:.6px}
.blk .body h4:first-child{margin-top:0}
.blk .body p{margin:0}
.blk .body ul{margin:0;padding-left:18px}
.blk .body li{margin:3px 0}
.blk .tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.tag{font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff}
.int{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.2)}
.var{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.var div{background:rgba(255,255,255,.05);border-radius:8px;padding:8px 10px}
.var b{display:block;font-size:13px;color:#fff}
.info{margin-top:12px;background:rgba(255,220,24,.12);border:1px solid rgba(255,220,24,.35);border-radius:10px;padding:10px 12px;color:#fff}
.c-Organisation{--c:#8a97ab}.c-Aufwärmen{--c:#f59e0b}.c-Athletik{--c:#ef4444}.c-Kraft{--c:#dc2626}.c-Test{--c:#a855f7}
.c-Technik{--c:#22c55e}.c-Taktik{--c:#3b82f6}.c-Mindset{--c:#ec4899}.c-Spiel{--c:#14b8a6}.c-Pause{--c:#64748b}.c-Turnier,.c-Abschluss{--c:#ffdc18}
.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:#9fb0c8;margin:6px 0 16px}
.legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c);margin-right:5px;vertical-align:-1px}
/* Wochenübersicht auf der Landingpage */
.week details{background:rgba(8,35,75,.78);border:1px solid rgba(255,255,255,.13);border-radius:16px;margin-bottom:10px;overflow:hidden}
.week summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:16px 18px}
.week summary::-webkit-details-marker{display:none}
.week .emo{font-size:30px;text-align:center}
.week .d{font-weight:900;font-size:18px}.week .d small{display:block;font-weight:600;color:#ffdc18;font-size:14px}
.week .chev{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:transform .2s}
.week details[open] .chev{transform:rotate(180deg);background:#ffdc18;color:#071a39}
.week .inner{padding:0 18px 18px 80px;color:#d3e0ef}
.week .inner ol{list-style:none;padding:0;margin:10px 0 0}
.week .inner li{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:6px 0;border-top:1px solid rgba(255,255,255,.08)}
.week .inner li time{color:#ffdc18;font-weight:800}
@media(max-width:640px){
 .plan-head{grid-template-columns:1fr}.plan-meta,.var{grid-template-columns:1fr}
 .blk>summary{grid-template-columns:48px 1fr auto;gap:10px;padding:12px}
 .blk .body{padding:12px 14px 14px}
 .week summary{grid-template-columns:36px 1fr auto;padding:14px}.week .emo{font-size:24px}
 .week .inner{padding:0 14px 14px}
}
@media print{
 body{background:#fff!important;color:#000!important}
 .nav,footer,.tabs,.plan-tools,.download,.no-print,.grid3,.lead,h1{display:none!important}
 .card{background:#fff!important;border:0!important;padding:0!important}
 .day{display:none!important}.day.active{display:block!important}
 .blk{break-inside:avoid;background:#fff!important;border-color:#ccc!important}
 .blk .body,.blk .t small,.plan-meta div,.plan-head .goal{color:#222!important}
 .blk time,.blk .body h4,.plan-meta b{color:#0c4e91!important}
 .blk .body{display:block!important;padding:8px 12px!important}
 .blk .chev{display:none}.tag,.int{color:#000;border:1px solid #999;background:#fff}
 .info{color:#000;background:#fffbe0}
 .plan-meta div,.var div{background:#fff!important;border:1px solid #ddd!important}
}
.chev:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
/* Fortschritt */
.blk>summary{grid-template-columns:58px 1fr auto auto}
.badge{min-width:0;font-size:13px;font-weight:900;color:#071a39;border-radius:999px;padding:0}
.badge.on{background:#22c55e;padding:3px 8px}
.trk{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px;margin-bottom:14px}
.trk-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tg{font:inherit;font-weight:800;padding:12px 8px;border-radius:10px;border:2px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer;min-height:48px}
.tg[aria-pressed=true]{background:#22c55e;border-color:#22c55e;color:#062b12}
.tg[data-field=understood][aria-pressed=true]{background:#38bdf8;border-color:#38bdf8;color:#04243a}
.grades{margin-top:10px}
.grades>span{display:block;font-weight:800;color:#fff;margin-bottom:6px}
.grades small{font-weight:500;color:#9fb0c8}
.gbtns{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.gb{font:inherit;font-weight:900;font-size:18px;min-height:46px;border-radius:10px;border:2px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer}
.gb[aria-pressed=true]{color:#071a39;border-color:transparent}
.gb.g1[aria-pressed=true]{background:#22c55e}.gb.g2[aria-pressed=true]{background:#84cc16}.gb.g3[aria-pressed=true]{background:#facc15}
.gb.g4[aria-pressed=true]{background:#fb923c}.gb.g5[aria-pressed=true]{background:#f87171}.gb.g6[aria-pressed=true]{background:#ef4444}
.trk-status{display:block;min-height:18px;margin-top:6px;color:#9fb0c8}
.trk-status.err{color:#fca5a5;font-weight:700}
.prog{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.ring{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;text-align:center;background:conic-gradient(var(--rc,#ffdc18) calc(var(--p,0)*1%),rgba(255,255,255,.1) 0)}
.ring>div{width:108px;height:108px;border-radius:50%;background:#0a2550;display:grid;place-content:center}
.ring b{font-size:38px;line-height:1;color:#fff}.ring small{font-size:12px;color:#9fb0c8;margin-top:4px}
.prog h2{margin:0 0 4px}
.bar{height:12px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden;margin:10px 0 6px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#ffdc18);width:0;transition:width .4s}
.pstats{display:flex;gap:14px;flex-wrap:wrap;color:#d3e0ef;font-size:14px}
.pdays{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px}
.pdays div{background:rgba(255,255,255,.06);border-radius:10px;padding:8px 4px;text-align:center;font-size:12px;color:#9fb0c8}
.pdays b{display:block;font-size:18px;color:#fff}
.dl-list{display:grid;gap:12px}
.dl{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:14px 16px}
.dl .ico{font-size:34px}.dl b{display:block;font-size:17px}.dl span{color:#c2d0e4;font-size:14px}
.dl .soon{font-size:13px;color:#9fb0c8;font-weight:700;white-space:nowrap}
@media(max-width:640px){
 .blk>summary{grid-template-columns:48px 1fr auto auto}
 .prog{grid-template-columns:1fr;justify-items:center;text-align:center}.pstats{justify-content:center}
 .dl{grid-template-columns:auto 1fr}.dl .btn,.dl .soon{grid-column:1/-1;width:100%;text-align:center}
}
