/* Session-Ansicht in festen Blöcken (Freigabe 23.10.2026) – nur PISTOP-Tokens aus tokens.css.
   Raster über Container-Abfragen auf dem Hauptbereich (main ist Container „main“):
   Handy 1 Spalte · ab 520 px Inhaltsbreite 2 Spalten (iPad) · ab 1200 px 12 Spalten (Laptop / Werkbank).
   Schnell-Einstellung „Layout“ erzwingt 1 / 2 / 12 Spalten (data-layout am Block-Bereich). */

/* ---------- Bereich ---------- */
.sv{min-width:0}
.sv-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);
  grid-template-areas:"head" "laps" "coach" "setup" "cond" "corn" "fb" "video" "notes" "data"}
.sv-head{grid-area:head}.sv-laps{grid-area:laps}.sv-corn{grid-area:corn}.sv-video{grid-area:video}.sv-coach{grid-area:coach}
.sv-setup{grid-area:setup}.sv-cond{grid-area:cond}.sv-fb{grid-area:fb}.sv-data{grid-area:data}.sv-notes{grid-area:notes}
@container main (min-width:520px){
  .sv[data-layout=auto] .sv-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"head head" "laps setup" "coach cond" "corn fb" "video data" "notes notes"}
}
@container main (min-width:1200px){
  .sv[data-layout=auto] .sv-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto repeat(3,minmax(max-content,1fr));
    grid-template-areas:"head head head head head head head head head head head head" "laps laps laps laps corn corn corn corn video video video video" "coach coach coach coach setup setup setup setup cond cond cond cond" "fb fb fb fb data data data data notes notes notes notes"}
}
.sv[data-layout=ipad] .sv-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"head head" "laps setup" "coach cond" "corn fb" "video data" "notes notes"}
.sv[data-layout=laptop] .sv-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto repeat(3,minmax(max-content,1fr));
  grid-template-areas:"head head head head head head head head head head head head" "laps laps laps laps corn corn corn corn video video video video" "coach coach coach coach setup setup setup setup cond cond cond cond" "fb fb fb fb data data data data notes notes notes notes"}

/* Werkbank: Raster füllt das Fenster; jede Zeile ist mindestens so hoch wie ihr Inhalt (nichts nur durch Scrollen im Block erreichbar) */
@media (min-width:1024px){
  body.wb.sv-on main{padding:0 0 12px;align-content:start}
  body.wb.sv-on .workarea{min-height:0}
  body.wb.sv-on.wb-exp .master{contain:size;align-self:stretch;height:auto;max-height:calc(100vh - var(--wb-top) - var(--wb-sb))}
  body.wb.sv-on .sv-grid{padding:10px 12px 0}
  @container main (min-width:1200px){
    body.wb.sv-on .sv[data-layout=auto] .sv-grid{height:var(--sv-h,auto);grid-template-rows:auto repeat(3,minmax(max-content,1fr))}
  }
  body.wb.sv-on .sv[data-layout=laptop] .sv-grid{height:var(--sv-h,auto);grid-template-rows:auto repeat(3,minmax(max-content,1fr))}
  body.wb.sv-on.sv-insp-off{--wb-insp-w:0px}
  body.wb.sv-on.sv-insp-off #wb-insp{display:none}
}

/* ---------- Block ---------- */
.sv-blk{background:var(--surface);border:1px solid var(--line-soft);border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0;box-shadow:var(--shadow)}
.sv-bh{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap}
.sv-bh h2{margin:0;font:600 var(--fs-15)/1.25 var(--font);flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.sv-act{display:flex;gap:6px;flex-wrap:wrap}
.sv-blk .btn.small.sv-ob{min-height:36px;padding:4px 10px;font-size:var(--fs-12);gap:5px;white-space:nowrap}
.sv-bb{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.sv-blk.flash{animation:svfl 1.4s ease-out}
@keyframes svfl{0%{box-shadow:0 0 0 3px var(--accent)}100%{box-shadow:var(--shadow)}}
.sv-hint{margin:0;font-size:var(--fs-12);color:var(--text-2)}
.sv-hint b{color:var(--text)}
.sv-empty{display:grid;gap:8px;justify-items:start;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;color:var(--text-2);font-size:var(--fs-13)}
.sv-empty p{margin:0}
.sv-miss{color:var(--warn-text);font-weight:600}
.lossT{color:var(--warn-text)}.gainT{color:var(--ok)}
.sv .dim,.sv-dlg .dim{color:var(--text-2);font-weight:400}

/* Werte: IBM Plex Mono, rechtsbündig mit Einheit */
.sv-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,112px),1fr));gap:6px;margin:0}
.sv-kv>div{background:var(--surface-2);border-radius:12px;padding:5px 8px;display:grid;gap:1px;min-width:0}
@container main (min-width:1200px){.sv[data-layout=auto] .sv-v{font-size:var(--fs-15)}.sv[data-layout=auto] .sv-kv dt{font-size:10px}.sv[data-layout=auto] .sv-blk{gap:6px}.sv[data-layout=auto] .sv-bb{gap:6px}}
.sv[data-layout=laptop] .sv-v{font-size:var(--fs-15)}.sv[data-layout=laptop] .sv-kv dt{font-size:10px}
@container main (min-width:1200px){.sv[data-layout=auto] .sv-kv{grid-template-columns:repeat(auto-fit,minmax(min(100%,92px),1fr))}}
.sv[data-layout=laptop] .sv-kv{grid-template-columns:repeat(auto-fit,minmax(min(100%,92px),1fr))}
.sv-v.sv-vt{font:600 var(--fs-13)/1.3 var(--font)}
.sv-kv dt{font-size:var(--fs-11);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);overflow-wrap:anywhere}
.sv-kv dt small{text-transform:none;letter-spacing:0}
.sv-kv dd{margin:0;text-align:right}
.sv-v{font:600 var(--fs-17)/1.2 var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sv-v small{font:500 var(--fs-12) var(--mono);color:var(--text-2);margin-left:3px}
.sv-kv .ch{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}
.sv-tw{overflow-x:auto;min-width:0}
.sv-t{width:100%;border-collapse:collapse;font-size:var(--fs-13)}
.sv-t th,.sv-t td{padding:5px 6px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top}
.sv-t thead th{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);font-weight:600}
.sv-t th[scope=row]{font-weight:500;color:var(--text-2)}
.sv-t td.n,.sv-t th.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.sv-t td.chc,.sv-t tr.ch td,.sv-t tr.ch th{background:var(--accent-soft)}
.sv-t td.chc{box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}
.sv-t tr.slow td{color:var(--text-3)}
/* Werte in Fenstern umbrechen statt seitlich scrollen; in Blöcken schmalere Zellen */
.sv-dlg .sv-t td.n,.sv-dlg .sv-t th.n{white-space:normal;overflow-wrap:break-word}
.sv-dlg .sv-t th,.sv-dlg .sv-t td{overflow-wrap:break-word}
.sv-blk .sv-t th,.sv-blk .sv-t td{padding:4px}
.sv-t th[scope=row]{white-space:normal}
.sv-dlg .sv-t th,.sv-dlg .sv-t td{white-space:normal}
/* schmale Fenster: breite Tabellen (Turns, Kurven) als gestapelte Zeilen mit Beschriftung je Wert */
@media (max-width:599px){
  .sv-dlg table.sv-t.sv-stk,.sv-dlg table.sv-t.sv-stk tbody{display:block}
  .sv-dlg table.sv-t.sv-stk thead{display:none}
  .sv-dlg table.sv-t.sv-stk tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
  .sv-dlg table.sv-t.sv-stk td{border:0;padding:0;text-align:left;min-width:0}
  .sv-dlg table.sv-t.sv-stk td:first-child{grid-column:1/-1;font-weight:600}
  .sv-dlg table.sv-t.sv-stk td[data-l]::before{content:attr(data-l);display:block;font:600 var(--fs-11)/1.3 var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--text-2)}
  .sv-dlg table.sv-t.sv-stk td:empty{display:none}
}
.sv-rt th{width:44%}
.sv-rt td.n{white-space:normal;overflow-wrap:anywhere}

/* Status-Chips */
.sv-st{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:var(--fs-12);font-weight:600;border:1px solid var(--line);color:var(--text-2);background:var(--surface-2);max-width:100%}
.sv-st span{overflow-wrap:anywhere}
.sv-st-ok{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}
.sv-st-warn{color:var(--warn-text);border-color:var(--warn);background:var(--warn-soft)}

/* ---------- 1 Kopf mit Befehlszeile ---------- */
.sv-head{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 18px}
.sv-ttl{display:grid;gap:3px;min-width:0;flex:1 1 440px}
.sv-hrow{display:flex;gap:6px 12px;align-items:center;flex-wrap:wrap}
.sv-ttl h2{margin:0;font:600 var(--fs-22)/1.2 var(--font);overflow-wrap:anywhere}
.sv-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--fs-13);color:var(--text-2);align-items:center}
.sv-meta b{color:var(--text);font-weight:600}
.sv-cmds{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex:0 1 auto}
.sv .btn.sv-cmd{min-height:44px;padding:0 12px;font-size:var(--fs-13);gap:6px;white-space:nowrap}
.sv .btn.primary.sv-pri{min-height:48px;padding:0 16px}
.sv .btn.primary.sv-pri::after{display:none}
.sv .btn.sv-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 60%,var(--line))}
.sv-vsep{width:1px;align-self:stretch;background:var(--line);margin:4px 2px}
.sv .btn.sv-tonext{min-height:36px;padding:2px 10px;font-size:var(--fs-12)}
@container main (max-width:519px){
  .sv[data-layout=auto] .sv-cmds{justify-content:flex-start}
  .sv[data-layout=auto] .sv-cmds .btn{flex:1 1 auto}
  .sv[data-layout=auto] .sv-vsep{display:none}
}
.sv[data-layout=phone] .sv-cmds{justify-content:flex-start}.sv[data-layout=phone] .sv-cmds .btn{flex:1 1 auto}.sv[data-layout=phone] .sv-vsep{display:none}

/* ---------- Inhalte der Blöcke ---------- */
.sv-bars{display:flex;align-items:flex-end;gap:3px;height:64px;min-height:44px;padding-top:4px;border-bottom:1px solid var(--line)}
.sv-bars i{flex:1;background:var(--accent);border-radius:3px 3px 0 0;min-width:3px}
.sv-bars i.slow{background:var(--line)}
.sv-bars i.best{background:var(--ok)}
.sv-tips{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.sv-tips li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;font-size:var(--fs-13);align-items:start}
.sv-tips li .ic{margin-top:1px}
.sv-tips li.praise .ic{color:var(--ok)}.sv-tips li.focus .ic{color:var(--accent)}
.sv-rule{margin:auto 0 0;padding-top:8px;border-top:1px solid var(--line-soft);font-size:var(--fs-12);color:var(--text-2)}
.sv-fbrow{display:grid;gap:5px;font-size:var(--fs-13)}
.sv-fbr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:3px 10px}
.sv-tri{display:inline-flex;flex-wrap:nowrap;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:var(--fs-12)}
.sv-tri span{padding:2px 8px;color:var(--text-2)}
.sv-tri span.on{background:var(--accent);color:var(--on-accent);font-weight:600}
.sv-tags{display:flex;gap:6px;flex-wrap:wrap}
.sv-tag{font-size:var(--fs-12);padding:3px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.sv-quote{margin:0;font-size:var(--fs-13);padding:6px 10px;background:var(--surface-2);border-radius:10px;overflow-wrap:anywhere}
.sv-log{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.sv-log li{display:grid;gap:2px;font-size:var(--fs-13);padding-bottom:7px;border-bottom:1px solid var(--line-soft);overflow-wrap:anywhere}
.sv-log li:last-child{border-bottom:0}
.sv-who{font-size:var(--fs-12);color:var(--text-2)}.sv-who b{color:var(--text)}
.sv-vbox{position:relative;aspect-ratio:1.47;width:100%;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.sv-vbox canvas{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain;display:block}
.sv-vbig{max-height:60vh}
/* Laptop: kompakter, damit bei 1920 × 1080 alle Blöcke ohne Scrollen passen (Notizen: die 2 neuesten, Rest unter Mehr Info) */
.sv-notes .sv-more2{display:none}
@container main (min-width:1200px){
  .sv[data-layout=auto] .sv-grid{gap:10px}
  .sv[data-layout=auto] .sv-blk{padding:10px 12px}
  .sv[data-layout=auto] .sv-blk .btn.small.sv-ob{min-height:32px}
  .sv[data-layout=auto] .sv-notes .sv-log li:nth-child(n+3){display:none}
  .sv[data-layout=auto] .sv-notes .sv-more3{display:none}.sv-notes .sv-more2{display:block}
  .sv[data-layout=auto] .btn.sv-cmd{min-height:40px}
  .sv[data-layout=auto] .btn.primary.sv-pri{min-height:44px}
  .sv[data-layout=auto] .btn.sv-tonext{min-height:30px}
  .sv[data-layout=auto] .sv-kv>div{padding:4px 8px}
}
.sv[data-layout=laptop] .sv-grid{gap:10px}
.sv[data-layout=laptop] .sv-blk{padding:10px 12px}
.sv[data-layout=laptop] .sv-blk .btn.small.sv-ob{min-height:32px}
.sv[data-layout=laptop] .sv-notes .sv-log li:nth-child(n+3){display:none}
.sv[data-layout=laptop] .sv-notes .sv-more3{display:none}.sv-notes .sv-more2{display:block}
.sv[data-layout=laptop] .btn.sv-cmd{min-height:40px}
.sv[data-layout=laptop] .btn.primary.sv-pri{min-height:44px}
.sv[data-layout=laptop] .btn.sv-tonext{min-height:30px}
.sv[data-layout=laptop] .sv-kv>div{padding:4px 8px}
/* Coach-Video: Bild immer im Seitenverhältnis der Zeichnung (1,47 : 1); im breiten Block 160 px hoch, Legende daneben */
.sv-video{container:svvid / inline-size}
.sv-vrow{display:grid;gap:8px}.sv-vside{display:grid;gap:8px;align-content:start}
@container svvid (min-width:330px){.sv-vrow{grid-template-columns:auto minmax(0,1fr);align-items:start}.sv-vrow .sv-vbox{width:auto;height:152px}}
.sv-lg{display:flex;gap:2px 10px;flex-wrap:wrap;font-size:var(--fs-11);color:var(--text-2)}
.sv-lg i{display:inline-block;width:14px;height:4px;border-radius:2px;vertical-align:middle;margin-right:5px}
.sv-chips{display:flex;gap:6px;flex-wrap:wrap}

/* ---------- Schnell-Einstellungen in der Kopfzeile ---------- */
.sv-qs{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sv-qseg{display:inline-flex;border:1px solid var(--line);border-radius:12px;padding:2px;background:var(--surface)}
.sv-qseg button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;min-width:40px;padding:0 9px;border:0;background:transparent;border-radius:9px;font:600 var(--fs-12) var(--font);color:var(--text-2);white-space:nowrap}
.sv-qseg button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.sv-qseg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media (max-width:1599px){.sv-qseg button .tx{display:none}}
@media (max-width:767px){.top-in{flex-wrap:wrap;row-gap:6px}.sv-qs{order:9;flex-basis:100%;justify-content:space-between}}

/* ---------- Detail-Fenster ---------- */
html.sv-dlg-open{overflow:hidden}
.sv-dlg{width:80vw;height:80vh;max-width:none;max-height:none;margin:auto;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 60px rgba(0,0,0,.45);overflow:hidden;overflow:clip}
.sv-dlg::backdrop{background:rgba(3,6,14,.66)}
:root[data-theme="sun"] .sv-dlg::backdrop{background:rgba(11,20,48,.45)}
/* Rückfrage „Session beenden“: kleines Fenster */
.sv-dlg[data-mode=end]{width:min(560px,calc(100vw - 16px));height:auto;max-height:80vh}
@media (max-width:599px){.sv-dlg:not([data-mode=end]){width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:16px}}
.sv-dw{height:100%;overflow:clip;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto}
.sv-dh{grid-row:1}.sv-dirty{grid-row:2}.sv-db{grid-row:3}.sv-cf{grid-row:4}.sv-cf.sv-af{grid-row:5;border-top-color:var(--accent);background:var(--accent-soft)}.sv-df{grid-row:6}
.sv-mechonly{margin:0;font-size:var(--fs-13)}
.sv-setupf{display:grid;gap:14px}
.sv-dh{display:flex;align-items:center;gap:12px;padding:12px 14px 10px 20px;border-bottom:1px solid var(--line-soft)}
.sv-dhl{flex:1;min-width:0}
.sv-dh h2{margin:2px 0 0;font:600 var(--fs-17)/1.25 var(--font);outline:none;overflow-wrap:anywhere}
.sv-x{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);display:grid;place-items:center;flex:none;color:var(--text)}
.sv-x .ic{width:20px;height:20px}
.sv-mode{font-size:var(--fs-11);font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:4px 9px;border-radius:999px;border:1px solid var(--line);color:var(--text-2);white-space:nowrap}
.sv-mode.ed{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
.sv-dirty{margin:0;padding:9px 20px;background:var(--warn-soft);color:var(--text);font-size:var(--fs-13);font-weight:600;border-bottom:1px solid var(--warn);display:flex;gap:8px;align-items:center}
.sv-dirty .ic{color:var(--warn-text)}
.sv-dirty.pulse{animation:svpu .9s ease-out 2}
@keyframes svpu{50%{background:color-mix(in srgb,var(--warn) 40%,var(--surface))}}
@media (prefers-reduced-motion:reduce){.sv-dirty.pulse{animation:none;outline:2px solid var(--warn)}.sv-blk.flash{animation:none}}
.sv-db{overflow:auto;padding:16px 20px 22px;display:grid;gap:14px;align-content:start;overscroll-behavior:contain;min-height:0}
.sv-h3{margin:4px 0 6px;font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);font-weight:600}
.sv-cols{display:grid;gap:14px 24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}
.sv-cols-w{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
.sv-ul{margin:0;padding-left:18px;display:grid;gap:6px}
.sv-ul li .btn{margin-left:6px}
.sv-df{display:flex;gap:8px;justify-content:flex-end;padding:10px 16px;border-top:1px solid var(--line-soft);flex-wrap:wrap}
.sv-df .btn.primary::after{display:none}
.sv-cf{display:grid;gap:10px;padding:12px 16px;border-top:1px solid var(--warn);background:var(--warn-soft)}
.sv-cf p{margin:0;font-weight:600}
.sv-cfr{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.sv-cf .btn.primary::after{display:none}
.sv-warnb{border-color:var(--warn);color:var(--warn-text)}
.sv-reason{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.sv-err{margin:0;color:var(--danger);font-weight:600;font-size:var(--fs-13)}
.sv-ro{display:grid;gap:10px}
.sv-map svg{max-width:420px}
/* wiederverwendete Karten im Fenster: ohne doppelte Rahmen, Platzhalter „kommt“ ausgeblendet */
.sv-dlg .sv-slot > .card{box-shadow:none}
.sv-dlg .imp-tile.soon{display:none}
.sv-dlg #ck-sugg .ck-sugg{position:static;box-shadow:none}
.sv-dlg[data-b=setup] #prep-card > details.more:last-child{display:none}
.sv-dlg:not([data-parts~="head"]) #phase-card > [data-svpart="head"],
.sv-dlg:not([data-parts~="fb"]) #phase-card > [data-svpart="fb"],
.sv-dlg:not([data-parts~="tyres"]) #phase-card > [data-svpart="tyres"],
.sv-dlg:not([data-parts~="laps"]) #phase-card > [data-svpart="laps"],
.sv-dlg:not([data-parts~="data"]) #phase-card > [data-svpart="data"],
.sv-dlg:not([data-parts~="phase"]) #phase-card > [data-svpart="phase"]{display:none}
.sv-dlg .ck-clock{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.sv-dlg .ck-cl{display:grid}
.sv-dlg .ck-cl b{font:600 var(--fs-22) var(--mono)}
.sv-dlg .fig svg,.sv-dlg .sv-ro svg.coachmap,.sv-dlg .sv-ro svg.coachspeed{max-width:440px;height:auto}
/* Sonne: Warn-Chip-Text dunkel (Kontrast ≥ 4,5 : 1 auf der hellen Warnfläche), Symbol und Rahmen bleiben orange */
:root[data-theme="sun"] .sv-st-warn span{color:var(--text)}
@media (prefers-color-scheme: light){:root[data-theme="system"] .sv-st-warn span{color:var(--text)}}
/* Sonne: ebenso der grüne ok-Chip (#1E7A46 auf der hellgrünen Fläche nur 4,3 : 1) – Text dunkel, Symbol und Rahmen bleiben grün */
:root[data-theme="sun"] .sv-st-ok span{color:var(--text)}
@media (prefers-color-scheme: light){:root[data-theme="system"] .sv-st-ok span{color:var(--text)}}

/* ===================== Gemeinsame Bausteine für Block-Seiten (Etappe 1 „alle Seiten“, 61_blocks.js) =====================
   Bewusst in dieser Datei (statt eigener blocks.css): sie ist schon in sw.js, build_site.sh und im Beta-Build eingetragen. */
/* Raster: Handy 1 Spalte · ab 520 px Inhalt 2 Spalten (Block: --m) · ab 1200 px 12 Spalten (Block: --l); Kopf immer ganze Breite */
.pb-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.pb-grid .sv-blk{grid-area:auto;grid-column:1/-1}
@container main (min-width:520px){.pb[data-layout=auto] .pb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb[data-layout=auto] .pb-grid .pb-blk{grid-column:span min(var(--m,1),2)}}
@container main (min-width:1150px){.pb[data-layout=auto] .pb-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.pb[data-layout=auto] .pb-grid .pb-blk{grid-column:span min(var(--l,4),12)}}
.pb[data-layout=ipad] .pb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb[data-layout=ipad] .pb-grid .pb-blk{grid-column:span min(var(--m,1),2)}
.pb[data-layout=laptop] .pb-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.pb[data-layout=laptop] .pb-grid .pb-blk{grid-column:span min(var(--l,4),12)}
body.wb .pb{padding:10px 12px 0}
/* Befehle mit Eltern-PIN: Schloss am Knopf */
.pb-lock{display:inline-flex;margin-left:2px;color:var(--text-2)}
.btn.primary .pb-lock{color:inherit}
/* Plaketten: rot (Problem), grau (Labor, Eltern-PIN, vorläufig) */
.sv-st-bad{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}
.sv-st-grey .ic{color:var(--text-2)}
/* „KOMMT“-Kacheln werden ausgeblendet (B10) */
.imp-tile.soon{display:none}

/* ---------- B13 Navigation ---------- */
@media (max-width:767px){
  .nav.pb-nav-phone{grid-template-columns:repeat(5,minmax(0,1fr))}
  .nav.pb-nav-phone .tab-coach{display:flex!important}
  .nav.pb-nav-phone button span{max-width:100%;overflow-wrap:anywhere;text-align:center;line-height:1.15}
}
@media (min-width:768px){
  .nav.pb-nav-side .tab-files{display:flex!important}
  .nav.pb-nav-side button.tab,.nav.pb-nav-side button.kt{min-height:42px;padding:7px 12px}
  .nav.pb-nav-side .nav-group{margin:8px 0 4px}
}
/* Cacciatore: keine Navigation (nichts anbieten, was gesperrt ist) */
body.cacc #nav,.nav.pb-nav-none{display:none}
body.cacc{--nav-h:0px;--nav-w:0px}
@media (min-width:768px){body.cacc .shell{grid-template-columns:minmax(0,1fr)}}
/* ☰ in der Werkbank hervorgehoben, wenn eine Seite aus „Mehr“ offen ist */
#menu-btn[aria-current="page"]{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}

/* ---------- Inspektor rechts entfällt auf allen Seiten (Explorer links bleibt) ---------- */
body.wb{--wb-insp-w:0px!important}
body.wb #wb-insp{display:none!important}

/* ---------- Seite „Mehr“: gruppierte Liste ---------- */
.pb-mgrid{display:grid;gap:12px;margin-top:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));align-items:start}
.pb-mg{background:var(--surface);border:1px solid var(--line-soft);border-radius:18px;padding:12px 14px;display:grid;gap:6px;min-width:0;box-shadow:var(--shadow)}
.pb-mg .sv-h3{margin:0 0 2px}
.pb-ml{display:grid;gap:4px}
.pb-mi{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 10px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);text-align:left;font:inherit}
.pb-mi:hover{background:var(--surface-2);border-color:var(--line)}
.pb-mi .kt-ic{width:38px;height:38px}
.pb-mi>.ic{margin-left:auto;color:var(--text-2);flex:none}
.pb-mi .sv-st{flex:none}
.pb-mt{display:grid;gap:2px;min-width:0;flex:1 1 auto}
.pb-mt b{font-weight:600;overflow-wrap:anywhere}
.pb-mt small{font-size:var(--fs-12);color:var(--text-2);overflow-wrap:anywhere}
.pb-mfoot{margin-top:12px}

/* ===================== Etappe 2 „alle Seiten“ (62_merge.js): Unter-Reiter, Listen-Seiten, Einstellungen, Wegweiser, Navigation ===================== */
/* B6 Unter-Reiter: eine Zeile unter dem Seitenkopf, am iPhone waagrecht scrollbar */
.pb-sub{flex:1 1 100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.seg.pb-subt{display:inline-flex;gap:3px;grid-template-columns:none;padding:3px}
.pb-subt button{padding:7px 14px;min-height:40px;white-space:nowrap;color:var(--text-2)}
.pb-subt button[aria-selected="true"]{background:var(--accent);color:var(--on-accent)}
.pb-subt button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* B7 Listen-Seite: Filterzeile, Tabelle (ab 520 px Inhalt) bzw. zweizeilige Karten (Handy), Auswahl-Spalte nur im 12er-Raster */
.pb-filt{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end}
.pb-fl{flex:1 1 150px;max-width:260px}
.pb-fl span{font-size:var(--fs-12);color:var(--text-2)}
.pb-fl select{min-height:44px}
.pb-cnt{font-size:var(--fs-12);color:var(--text-2);padding-bottom:12px;margin-left:auto;overflow-wrap:anywhere}
.pb-tab tbody tr{cursor:pointer}
.pb-tab tbody tr:hover td{background:var(--surface-2)}
.pb-tab tr.pb-sel td{background:var(--accent-soft)}
.pb-tab tr.pb-sel td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.pb-tab .lbl-ref,.pb-tab .lbl-own{white-space:normal;overflow-wrap:anywhere}
.pb-rb{border:0;background:none;color:var(--text);font:600 var(--fs-13)/1.3 var(--font);text-align:left;padding:4px 0;min-height:36px;cursor:pointer;overflow-wrap:anywhere}
.pb-rb:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.pb-tab input[type=checkbox]{width:22px;height:22px}
.pb-lc{list-style:none;margin:0;padding:0;display:none;gap:8px}
.pb-lc li{display:flex;align-items:stretch;gap:8px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-2);min-width:0}
.pb-lc li.pb-sel{border-color:var(--accent)}
.pb-card{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;text-align:left;border:0;background:none;color:var(--text);padding:10px 12px;min-height:56px;font:inherit;cursor:pointer}
.pb-card b{font-weight:600;overflow-wrap:anywhere}
.pb-card .mono{font-variant-numeric:tabular-nums;white-space:nowrap}
.pb-card small{grid-column:1/-1;color:var(--text-2);font-size:var(--fs-12);overflow-wrap:anywhere}
.pb-card-ro{cursor:default}
.pb-ck{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 10px;font-size:var(--fs-11);color:var(--text-2);border-left:1px solid var(--line-soft);min-width:64px}
.pb-ck input{width:24px;height:24px}
@container main (max-width:519px){.pb[data-layout=auto] .pb-lt{display:none}.pb[data-layout=auto] .pb-lc{display:grid}}
.pb[data-layout=phone] .pb-lt{display:none}.pb[data-layout=phone] .pb-lc{display:grid}
.pb-selcol{display:none!important}
@container main (min-width:1150px){.pb[data-layout=auto] .pb-selcol{display:flex!important}}
.pb[data-layout=laptop] .pb-selcol{display:flex!important}
.pb-selcol .sv-bb{overflow:auto}
.pb-listblk .sv-bb{min-width:0}
.pb-turn,.pb-trk{display:grid;gap:8px;min-width:0}
.pb-turn .kv,.pb-trk .kv{min-width:0}
.pb-tl{margin:0;overflow-wrap:anywhere}
.pb-cmpblk section.cmp{border:0;box-shadow:none;padding:0;margin:0;background:none}
/* Einstellungen: Aktionen im Block, Konten mit der bisherigen Team-Server-Oberfläche */
.pb-acts{gap:6px}
.pb-acts .btn{min-height:40px}
.pb-acst{margin:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;overflow-wrap:anywhere}
.pb-acct .tm{border:0;box-shadow:none;padding:0;margin:0;background:none}
.pb-acct .tm .field{min-width:0}
.pb-chg{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:var(--fs-13)}
.pb-chg li{overflow-wrap:anywhere}
.pb-chg .mono{color:var(--text-2)}
/* Karteien und Nachschlagen: Wegweiser-Kacheln */
.kt-tile.kt-moved,.tool-tile.kt-moved{border-style:dashed}
.kt-mv{display:flex;align-items:center;gap:4px;color:var(--text-2);font-size:var(--fs-12);overflow-wrap:anywhere}
.kt-mv .ic{color:var(--accent)}
.pb-sign h3{margin:4px 0 6px}
/* Rollen-Chip in der Kopfzeile (Handy, iPad hoch, klassische Ansicht unter 1280 px) */
.pb-role{display:none;align-items:center;gap:8px;min-height:40px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font:600 var(--fs-12)/1.2 var(--font);text-align:left;min-width:0;flex:0 1 auto;cursor:pointer}
.pb-role .drvsw-nr{min-width:26px;height:26px;flex:none}
.pb-role-t{overflow-wrap:anywhere;min-width:0}
@media (max-width:1279px){body:not(.wb):not(.cacc) .pb-role:not([hidden]){display:inline-flex}}
@media (max-width:767px){.top .top-sync{margin-left:auto}.pb-role{max-width:58vw}}
/* iPad hoch / klassische Ansicht: schmale Seitenleiste ~92 px, Symbol mit kurzer Beschriftung (freigegebener Prototyp) */
@media (min-width:768px){
  body[data-navkind=side]{--nav-w:92px}
  .nav.pb-nav-side{padding:8px 4px;gap:2px}
  .nav.pb-nav-side .nav-brand{display:flex;justify-content:center;padding:4px 0 8px}
  .nav.pb-nav-side .nav-drv,.nav.pb-nav-side .nav-group{display:none!important}
  .nav.pb-nav-side button.tab{flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:7px 2px;min-height:52px;font-size:var(--fs-11);font-weight:500;line-height:1.2;text-align:center;border-radius:12px;color:var(--text-2)}
  .nav.pb-nav-side button.tab span{max-width:100%;overflow-wrap:anywhere;hyphens:auto}
  .nav.pb-nav-side button.tab .ic{width:20px;height:20px;flex:none}
  .nav.pb-nav-side button.tab[aria-current="page"]{background:var(--accent-soft);color:var(--text);font-weight:600}
  .nav.pb-nav-side button.tab[aria-current="page"] .ic{color:var(--accent)}
  .nav.pb-nav-side .tab-files,.nav.pb-nav-side .tab-tracks{display:flex!important}
  .nav.pb-nav-side .nav-foot{padding:8px 0 2px;border-top:1px solid var(--line);display:grid;gap:2px;justify-items:stretch}
  .nav.pb-nav-side .nav-sync{display:flex;justify-content:center}
  .nav.pb-nav-side .nav-sync .sync{font-size:0;gap:0;border:0;padding:6px}
  .nav.pb-nav-side .nav-sync .sync-dot{width:10px;height:10px}
  .nav.pb-nav-side .pb-nf .kbd{font-size:var(--fs-12)}
}
@media (min-width:768px){.nav.pb-nav-side .nav-sync .sync.warn{font-size:var(--fs-11);white-space:normal;text-align:center;border:1px solid var(--warn);padding:2px 4px}}
/* Handy: Rollen-Chip neben dem Logo – die Wortmarke weicht, damit Rolle und Name ganz sichtbar bleiben */
@media (max-width:767px){body:not(.cacc):not(.wb):has(#top-role:not([hidden])) .top .brand .wordmark{display:none}.top-in:has(#top-role:not([hidden])){gap:8px}.pb-role{max-width:none}}
.pb-tab td,.pb-tab th{vertical-align:middle}
.pb-acct .tm{max-width:760px}.pb-acct .tm-login{display:grid;gap:8px;max-width:520px}
/* ---------- Etappe 3: Block-Seiten Start, Setup, Telemetrie (Reihenfolge je Gerät, Reihen am Laptop) ---------- */
.pb-grid>.pb-head{order:-1}
.pb-grid .pb-blk{order:var(--p,0)}
@container main (min-width:520px){.pb[data-layout=auto] .pb-grid .pb-blk{order:var(--t,0)}}
@container main (min-width:1150px){.pb[data-layout=auto] .pb-grid .pb-blk{order:0;grid-row:span var(--r,1)}}
.pb[data-layout=ipad] .pb-grid .pb-blk{order:var(--t,0)}
.pb[data-layout=laptop] .pb-grid .pb-blk{order:0;grid-row:span var(--r,1)}
.pb[data-layout=phone] .pb-grid .pb-blk{order:var(--p,0)}
.pb-blk .sv-bb{display:flex;flex-direction:column;gap:8px;min-width:0}
.pb-lead{margin:0;font-size:var(--fs-14);overflow-wrap:anywhere;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.pb-lead .ic{align-self:center;color:var(--accent);flex:none}
.pb-dl{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:var(--fs-13)}
.pb-dl li{overflow-wrap:anywhere;padding:6px 8px;border-radius:10px;background:var(--surface-2)}
.pb-dl li b{font-weight:600}
.pb-dl .mono{white-space:nowrap}
.pb-dl small{color:var(--text-2)}
.pb-bt{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}
/* Wochenende: Balken je Turn */
.pb-wk{display:flex;align-items:flex-end;gap:8px;min-height:104px;padding:4px 0 2px;border-bottom:1px solid var(--line);overflow-x:auto}
.pb-wkb{flex:1 1 0;min-width:54px;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;color:var(--text);font:inherit;padding:0 0 4px;cursor:pointer;border-radius:8px}
.pb-wkb i{display:block;width:70%;max-width:56px;border-radius:4px 4px 0 0;background:var(--surface-2);border:1px solid var(--line)}
.pb-wkb.best i{background:var(--ok);border-color:var(--ok)}
.pb-wkb .mono{font-size:var(--fs-12)}
.pb-wkb small{font-size:var(--fs-11);color:var(--text-2)}
.pb-wkb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pb-coach{display:grid;gap:8px}
.pb .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px}
.pb .tiles .tile{min-width:0}
/* Labor-Block */
.pb-labst{margin:0}
.pb-labs{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.pb-lab{display:grid;gap:4px;align-content:start;padding:8px 10px;border:1px dashed var(--line);border-radius:12px;min-width:0}
.pb-lab b{font-weight:600;overflow-wrap:anywhere}
.pb-lab small{color:var(--text-2);font-size:var(--fs-12);overflow-wrap:anywhere}
.pb-lab .note{margin:0}
/* Setup: Turn-Wahl als Chips */
.pb-chips{display:flex;flex-wrap:wrap;gap:6px}
.pb-chip{min-height:40px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text-2);font:600 var(--fs-12)/1.2 var(--font);cursor:pointer;overflow-wrap:anywhere}
.pb-chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pb-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pb .sv-pt td.chc{background:var(--warn-soft);color:var(--text)}
/* Telemetrie in Blöcken: Strecken-Menü und Befehle im Kopf, Grafik groß, Befund rechts daneben, Unterschiede unten quer */
.pb-head .sv-cmds:has(.tz-track){flex:0 1 auto}
.pb-head .pb-tecmd{flex:1 1 100%;justify-content:flex-end}
.pb .v-bar{margin:0}
.pb .vmap{max-width:420px;margin:0 auto}
.pb .v-diff{margin-top:0}
.pb .wb-finding{border:0;padding:0;display:grid;gap:8px}
.pb .wb-finding p,.pb .wb-finding ol{margin:0}
.pb-trace #wb-charts{min-width:0}
.pb-laps .wb-t{width:100%}
.pb-lap-dots .note{margin:0}
.pb-corn .tablewrap,.pb-diff .tablewrap,.pb-laps .tablewrap{overflow-x:auto;max-width:100%}
.pb #wb-map svg{max-height:220px}
@container main (min-width:1150px){.pb[data-layout=auto] .pb-laps .sv-bb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;align-content:start}.pb[data-layout=auto] .pb-laps .pb-lap-dots{grid-column:1/-1}}
.pb[data-layout=laptop] .pb-laps .sv-bb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;align-content:start}.pb[data-layout=laptop] .pb-laps .pb-lap-dots{grid-column:1/-1}
.pb-head .sv-cmds{align-items:stretch}
/* ---------- Etappe 3b: Berichte, Coach, Karteien, Profil ---------- */
.pb-sub-in{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;scrollbar-width:thin}
.pb .rep-tabs.pb-subt{display:inline-flex;flex-wrap:nowrap;gap:3px;padding:3px;grid-template-columns:none}
.pb .rep-tabs.pb-subt button{white-space:nowrap;min-height:40px;padding:7px 14px}
.pb-repf{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-top:8px}
.pb-repf .field{flex:1 1 200px;max-width:320px;margin:0}
.pb-repf .coach-trk{max-width:360px}
.pb-cview{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pb-cview>span{font-size:var(--fs-12);color:var(--text-2)}
.pb-repmap svg,.pb-repmap .repmap{max-height:300px;width:100%}
.pb-keep{display:grid;gap:8px;min-width:0}
.pb-keep>header{display:none}
/* Listen-Seite B7: feste erste Spalte, iPhone Karten */
.pb table.pb-fix1 th:first-child,.pb table.pb-fix1 td:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}
.pb table.pb-fix1 thead th{position:sticky;top:0;z-index:2;background:var(--surface-2)}
.pb table.pb-fix1 thead th:first-child{z-index:3}
.pb table.pb-fix1 tbody tr{cursor:pointer}
.pb table.pb-fix1 tbody tr:hover td{background:var(--surface-2)}
.pb table.pb-fix1 tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.pb-replist .tablewrap{overflow:auto;max-width:100%}
.pb-ktst{font-weight:500}
.pb-ktst .mono{font-family:var(--mono)}
.pb-back{min-height:36px}
.pb-radios{display:grid;gap:8px}
.pb-radios .kart-radio{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px}
.pb-cacc{margin-top:12px}
.pb-fold>summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-weight:600;color:var(--text)}
.pb-fold[open]>summary{margin-bottom:6px}
.pb-fold{min-width:0;max-width:100%}
.pb-keep .tablewrap,.pb-fold .tablewrap{overflow-x:auto;max-width:100%}
.pb-keep table:not(.tablewrap table){display:block;overflow-x:auto;max-width:100%}
.pb-keep details{min-width:0;max-width:100%;overflow-x:auto}.pb-keep>*{min-width:0;max-width:100%}
.pb-contents{display:grid;grid-column:1/-1;grid-template-columns:subgrid;gap:inherit;min-width:0}
.pb-gnote{grid-column:1/-1;order:0}.pb-gnote>*{margin:0}
.pb-print-only{display:none}
@media print{body.print-report .pb-print-only{display:block}}
.pb-reprole{margin:6px 0 0}
.pb-hist{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@container main (min-width:1150px){.pb[data-layout=auto] .pb-hist{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}}
.pb[data-layout=laptop] .pb-hist{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}
/* ---------- Etappe 4a: Listen-Seiten B7 (Reifen, Ausrüstung, Nachschlagen, Team), iPhone-Tabellen, Datumsfelder ---------- */
/* fester Kopf: Tabelle scrollt in ihrem Block (ab iPad); feste erste Spalte; Auswahl auch in der ersten Spalte sichtbar */
@container main (min-width:520px){.pb[data-layout=auto] .pb-lt{max-height:min(68vh,640px);overflow:auto;overscroll-behavior:contain}}
.pb[data-layout=ipad] .pb-lt,.pb[data-layout=laptop] .pb-lt{max-height:min(68vh,640px);overflow:auto;overscroll-behavior:contain}
.pb table.pb-fix1 tr.pb-sel td:first-child{background:linear-gradient(var(--accent-soft),var(--accent-soft)),var(--surface)}
.pb table.pb-fix1 td,.pb table.pb-fix1 th{white-space:normal}
.pb table.pb-fix1 td.n,.pb table.pb-fix1 th.n{white-space:nowrap}
.pb .pb-lt .pb-hcol{display:none}
/* iPhone: breite Tabellen ohne eigene Karten als gestapelte Zeilen (Beschriftung je Wert) – kein Hinauslaufen */
table.pb-stk,table.pb-stk tbody{display:block;width:100%;max-width:100%}
table.pb-stk thead{display:none}
table.pb-stk tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
table.pb-stk tr[hidden]{display:none}
table.pb-stk td,table.pb-stk th{border:0;padding:0!important;text-align:left!important;min-width:0;white-space:normal!important;overflow-wrap:anywhere;position:static!important;background:none!important}
table.pb-stk tr>:first-child{grid-column:1/-1;font-weight:600}
table.pb-stk [data-l]::before{content:attr(data-l);display:block;font:600 var(--fs-11)/1.3 var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--text-2)}
table.pb-stk td:empty{display:none}
.tablewrap:has(> table.pb-stk),.sv-tw:has(> table.pb-stk){overflow:visible;border:0}
/* Datumsfeld im Format der Sprache */
input.pb-date,input.pb-time{font-variant-numeric:tabular-nums}
input.pb-date[aria-invalid="true"],input.pb-time[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}
/* Schlüssel-Wert-Tabelle in Auswahl und Fenster */
.pb-kvt th{font-weight:500;color:var(--text-2);text-align:left}
.pb-kvt td.n{text-align:right;overflow-wrap:anywhere}
.pb-kvt tr.pb-own th,.pb-kvt tr.pb-own td{color:var(--text);font-weight:600}
.pb-fs{border:1px solid var(--line-soft);border-radius:12px;padding:8px 12px 4px;margin:0 0 10px;min-width:0}
.pb-fs legend{font-weight:600;padding:0 6px}
.pb-q{max-width:320px}
.pb-q input{min-height:44px}
/* Nachschlagen: Inhaltsverzeichnis links (Laptop, sticky), sonst aufklappbar oben */
.pb-toc{display:none!important}
@container main (min-width:1150px){.pb[data-layout=auto] .pb-toc{display:flex!important}.pb[data-layout=auto] .pb-tocm{display:none}}
.pb[data-layout=laptop] .pb-toc{display:flex!important}.pb[data-layout=laptop] .pb-tocm{display:none}
.pb-toc{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 140px)}
.pb-toc .sv-bb{overflow:auto}
.pb-tocn{display:grid;gap:2px}
.pb-tocn button{border:0;background:none;color:var(--text);text-align:left;padding:8px 10px;min-height:40px;border-radius:8px;font:500 var(--fs-13)/1.3 var(--font);cursor:pointer;overflow-wrap:anywhere}
.pb-tocn button:hover{background:var(--surface-2)}
.pb-tocn button:disabled{color:var(--text-3);opacity:.55;cursor:default}
.pb-tocn button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.pb-tocm{border:1px solid var(--line-soft);border-radius:12px;padding:0 10px}
.pb-tocm>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
.pb-lks{display:grid;gap:8px;min-width:0;scroll-margin-top:12px;padding-top:4px;border-top:1px solid var(--line-soft)}
.pb-lks:first-of-type{border-top:0}
.pb-lks .fig svg{max-width:100%;height:auto}
.pb-lks ul,.pb-lks ol{margin:0;padding-left:1.2rem;line-height:1.5}
.pb-lks .tablewrap{overflow:auto;max-width:100%;max-height:min(70vh,560px)}
.pb-lkc .sv-bb{gap:12px}
.pb-abc{display:flex;flex-wrap:wrap;gap:4px}
.pb-abc button{min-width:40px;min-height:40px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-2);color:var(--text);font:600 var(--fs-13)/1 var(--font);cursor:pointer}
.pb-abc button:disabled{opacity:.4;cursor:default}
.pb-lexl{display:grid;gap:6px}
.pb-lex{border:1px solid var(--line-soft);border-radius:12px;padding:0 12px;scroll-margin-top:12px}
.pb-lex>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pb-lex>summary b{overflow-wrap:anywhere}
.pb-lexd p{margin:0 0 10px}
.pb-refst:empty{display:none}
/* Team: Unter-Reiter in einer Zeile, Inhalte im Block */
.pb .tc-tabs.pb-subt{display:inline-flex;flex-wrap:nowrap;margin:0;border-bottom:0;gap:3px;padding:3px;background:var(--surface-2);border-radius:12px}
.pb .tc-tabs.pb-subt button{white-space:nowrap;min-height:40px;padding:7px 14px;border-radius:9px;border-bottom:0}
.pb .tc-tabs.pb-subt button[aria-selected="true"]{background:var(--accent);color:var(--on-accent)}
.pb-tcblk .sv-bb,.pb-tcsel .sv-bb{min-width:0}
.pb-tcsel .tc-insp-inline{border:0;padding:0;margin:0;background:none;box-shadow:none}
.pb-fl-w{flex-basis:240px;max-width:340px}
@container main (max-width:519px){.pb[data-layout=auto] .pb-filt .pb-fl{flex:1 1 100%;max-width:none}.pb[data-layout=auto] .pb-cnt{padding-bottom:0}}
.pb[data-layout=phone] .pb-filt .pb-fl{flex:1 1 100%;max-width:none}
/* ---------- Etappe 4b: Videoanalyse als Kurven-Spieler ---------- */
.pb-lsbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}
.pb-lskc{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.pb-lskc button{min-width:44px;min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font:600 var(--fs-13)/1 var(--font);cursor:pointer;position:relative}
.pb-lskc button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.pb-lskc button.pb-lsk-yellow::after,.pb-lskc button.pb-lsk-green::after{content:"";position:absolute;right:4px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--warn)}
.pb-lskc button.pb-lsk-green::after{background:var(--ok)}
.pb-lskc button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pb-lsbar .ls-spd,.pb-lsov .ls-spd{margin:0;max-width:130px;flex:0 0 auto}
.pb-lsbar .ls-tog{margin:0;flex:1 1 100%}
.pb-lsc{display:grid;gap:8px;min-width:0}
.pb-lsc[hidden]{display:none}
.pb-lsg{display:grid;gap:10px;min-width:0}
.pb-lscv canvas{display:block;border-radius:12px;width:100%;max-width:360px}
.pb-lst{display:grid;gap:8px;align-content:start;min-width:0}
.pb-ls1{margin:0;line-height:1.45;overflow-wrap:anywhere}
@container main (min-width:700px){.pb[data-layout=auto] .pb-lsg{grid-template-columns:minmax(0,360px) minmax(0,1fr)}}
.pb[data-layout=ipad] .pb-lsg,.pb[data-layout=laptop] .pb-lsg{grid-template-columns:minmax(0,360px) minmax(0,1fr)}
@container main (max-width:519px){.pb[data-layout=auto] .pb-lskc{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;flex:1 1 100%}.pb[data-layout=auto] .pb-lstog{display:none}}
.pb[data-layout=phone] .pb-lskc{flex-wrap:nowrap;overflow-x:auto;flex:1 1 100%}.pb[data-layout=phone] .pb-lstog{display:none}
.pb-lsmap .ls-ov canvas{max-width:100%;height:auto!important;cursor:pointer}
.pb-lsmap .ls-tog{margin:4px 0}
.pb-lsot tbody tr{cursor:pointer}
.pb-lsmw .tablewrap{overflow-x:auto}
.pb-lshd{margin-top:0}
.pb-lshd .field{max-width:320px}
.pb-lsgoal .ls-tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.pb-lsply .sv-bb,.pb-lsmap .sv-bb,.pb-lsover .sv-bb,.pb-lsgoal .sv-bb{min-width:0}

/* ===================== Etappe 5a: Ablauf B8 (Neue Session, Massen-Import), Hilfe, Fenster in B5-Optik (67_flow.js) ===================== */
.pb-fgrid{display:grid;gap:12px;min-width:0;grid-template-columns:minmax(0,1fr)}
.pb-fgrid > *,.pb-fwrap > *{grid-area:auto;min-width:0}
.pb-steps{display:flex;gap:6px;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:thin}
.pb-steps li{flex:1 0 auto}
.pb-steps button{width:100%;display:flex;align-items:center;gap:8px;min-height:var(--hit,44px);padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font:500 var(--fs-13) var(--font);white-space:nowrap;color:var(--text-2);cursor:pointer}
.pb-steps button b{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;border:1px solid var(--line);font:600 var(--fs-12) var(--mono);color:var(--text)}
.pb-steps button[aria-current="step"]{border-color:var(--accent);color:var(--text);font-weight:600;box-shadow:inset 0 0 0 1px var(--accent)}
.pb-steps button[aria-current="step"] b,.pb-steps button.done b{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.pb-steps button:disabled{cursor:default;opacity:1}
.pb-steps button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pb-fwrap{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);align-items:start}
.pb-flow .pb-fform .sv-bb,.pb-flow .pb-nsq .sv-bb{gap:16px}
.pb-fsec{display:grid;gap:10px;min-width:0}
.pb-fsec + .pb-fsec{border-top:1px solid var(--line-soft);padding-top:14px}
.pb-fsh{display:flex;gap:8px 10px;align-items:center;flex-wrap:wrap}
.pb-fsh h3{margin:0;flex:1 1 auto;font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);font-weight:600}
.pb-fsx{display:flex;gap:6px;flex-wrap:wrap}
.pb-flow .fields{grid-template-columns:minmax(0,1fr)}
.pb-flow .field{min-width:0}
.pb-flow .field > span{overflow-wrap:anywhere}
@container main (min-width:520px){.pb-flow[data-layout=auto] .fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container main (min-width:1150px){.pb-flow[data-layout=auto] .fields{grid-template-columns:repeat(3,minmax(0,1fr))}.pb-flow[data-layout=auto] .pb-fwrap{grid-template-columns:minmax(0,3fr) minmax(250px,1fr)}.pb-flow[data-layout=auto] .pb-fsum{position:sticky;top:calc(var(--wb-top,64px) + 12px)}}
.pb-flow[data-layout=ipad] .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.pb-flow[data-layout=laptop] .fields{grid-template-columns:repeat(3,minmax(0,1fr))}.pb-flow[data-layout=laptop] .pb-fwrap{grid-template-columns:minmax(0,3fr) minmax(250px,1fr)}
.pb-flow .engbox .fields{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr))}
.pb-flow #gps-box .gpsbox > .btns{display:none}
.pb-flow #gps-box:not(:has(.msg, .list, .note)){display:none}
.pb-flow .pb-fsec-eng .eng-hours > .btns{display:none}
.pb-best:empty{display:none}
.pb-best .bestbox{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-top:1px solid var(--line-soft);padding-top:14px}
.pb-best .bestbox > h4{margin:0;font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2)}
.pb-best .bestbox > .btns{grid-column:2;grid-row:1;margin:0}
.pb-best .bestbox > :not(h4):not(.btns){grid-column:1/-1}
.pb-fsum .sv-rt td{white-space:normal;overflow-wrap:anywhere}
/* Schritt Start */
.pb-band{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-radius:14px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);font-size:var(--fs-14,14px);color:var(--text)}
.pb-band .pb-sp{flex:1}
/* Gefahr-Knopf im Band auf eigener Fläche (rote Schrift auf der getönten Band-Fläche lag unter 4,5 : 1) */
.pb-band .btn.sv-danger{background:var(--surface)}
/* Fenster-Kopf: leere Zeile über dem Titel ausgeblendet (61_blocks.js) */
.sv-dlg .sv-dhl > .eyebrow[hidden]{display:none}
.pb-choice{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.pb-choice-c{text-align:left;display:grid;gap:6px;align-content:start;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);min-height:120px;cursor:pointer;font:inherit}
.pb-choice-c b{font-size:var(--fs-17,17px)}
.pb-choice-c > span:last-child{font-size:var(--fs-13);color:var(--text-2)}
.pb-choice-i{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--text)}
.pb-choice-c:hover:not(:disabled){border-color:var(--accent)}
.pb-choice-c:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pb-choice-c:disabled{cursor:default;opacity:.6}
.pb-choice-c[data-act="q1-yes"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.pb-nseq{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.pb-nseq select{min-height:var(--hit,44px)}
.pb-nsrow{width:100%}
/* feste Fußleiste: bisherige Aktionsleiste, Zurück links · Schritt · Weiter rechts */
.actionbar:has(.pb-ffh) .in{max-width:none;align-items:center;justify-content:space-between}
.actionbar:has(.pb-ffh) .btn{flex:0 1 auto;min-width:min(42%,220px)}
.actionbar .pb-ffh{flex:1 1 auto;text-align:center;font-size:var(--fs-13);color:var(--text-2);white-space:nowrap}
.actionbar .pb-ffsp{flex:0 1 min(42%,220px)}
@media (max-width:519px){.actionbar:has(.pb-ffh) .btn{min-width:0;flex:1 1 0}.actionbar .pb-ffh{flex:0 0 auto;font-size:var(--fs-12)}.actionbar .pb-ffsp{flex:1 1 0}}
/* Massen-Import */
.bi-flow .bulk-drop{border:2px dashed var(--line);border-radius:14px;padding:22px;display:grid;gap:6px;justify-items:center;text-align:center;color:var(--text-2)}
.bi-flow .tablewrap{overflow-x:auto;max-width:100%}
/* Turn-Liste (Taste E) */
.pb-tps{display:grid;gap:4px}
.pb-tpl{display:grid;gap:4px}
.pb-tpr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;width:100%;min-height:var(--hit,44px);padding:6px 12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:left;font:inherit}
.pb-tpr[aria-current="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.pb-tpr small{color:var(--text-2)}
/* sonstige Fenster (#modal) in der Optik des Detail-Fensters */
.modal.pb-modal{background:rgba(3,6,14,.66);place-items:center;padding:8px}
:root[data-theme="sun"] .modal.pb-modal{background:rgba(11,20,48,.45)}
.pb-modal > .card{position:relative;max-width:min(720px,80vw);max-height:80vh;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 24px 60px rgba(0,0,0,.45);padding:0 20px 0;display:grid;gap:12px;align-content:start}
.pb-modal > .card > .eyebrow{margin:14px 60px 0 0}
.pb-modal > .card > h2{margin:-6px 60px 0 0;padding-bottom:10px;border-bottom:1px solid var(--line-soft);font:600 var(--fs-17)/1.25 var(--font)}
.pb-modal > .card > .eyebrow:first-of-type:not(:nth-child(2)){margin-top:14px}
.pb-modal .pb-mdx{position:absolute;top:10px;right:12px}
.pb-modal > .card > .btns.pb-mdf{position:sticky;bottom:0;margin:0 -20px;padding:10px 16px;border-top:1px solid var(--line-soft);background:var(--surface);justify-content:flex-end;flex-wrap:wrap}
.pb-modal > .card > :last-child:not(.pb-mdf){margin-bottom:18px}
@media (max-width:599px){.pb-modal > .card{max-width:none;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px}}
/* Videoanalyse: „Tempo“ nur in der Befehlsreihe */
#pb-ideal label:has(#ls-speed),#pb-ideal label:has(#ls-ovspeed){display:none!important}
@container main (max-width:519px){.pb-choice-c{grid-template-columns:auto minmax(0,1fr);column-gap:12px;min-height:0;padding:12px 14px}.pb-choice-c .pb-choice-i{grid-row:1/3}.pb-choice-c b{font-size:var(--fs-15,15px)}.pb-band > .ic:first-child{display:none}}
.pb-flow[data-layout=phone] .pb-choice-c{grid-template-columns:auto minmax(0,1fr);column-gap:12px;min-height:0;padding:12px 14px}.pb-flow[data-layout=phone] .pb-choice-c .pb-choice-i{grid-row:1/3}

/* ===================== Etappe 5b: Verwaltung, Anmeldung (B9), Cacciatore, Labor (68_admin.js) ===================== */
/* Anmeldekarte zentriert (B9); Unter-Bildschirme des Eltern-Bereichs liegen wie ein Fenster über der Seite „Verwaltung“ */
.lock:not([hidden]){display:grid}
.lock:not([hidden]) > .lock-in{margin:auto;width:100%}   /* auto-Ränder: mittig, bei langen Karten ohne Abschneiden oben */
.lock.pb-over{background:rgba(3,6,14,.66)}
:root[data-theme="sun"] .lock.pb-over{background:rgba(11,20,48,.45)}
.lock.pb-over .lockcard{box-shadow:0 24px 60px rgba(0,0,0,.45);border-radius:20px}
.gate-drv button small.pb-drvsub{display:block;font-size:var(--fs-12);color:var(--text-2);font-weight:500}
/* Verwaltung */
#pb-vw .gate-list{display:grid;gap:8px}
#pb-vw .gate-row{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;justify-content:space-between;padding:8px 10px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2)}
#pb-vw .gate-row > span:first-child{min-width:0;overflow-wrap:anywhere}
#pb-vw .gate-row .btns{display:flex;gap:6px;flex-wrap:wrap;margin:0}
#pb-vw label.toggle.field,#lock[data-mode=admin-menu] label.toggle.field{display:flex!important;flex-direction:row;gap:10px;align-items:flex-start;justify-content:flex-start;font-weight:500}
#pb-vw label.toggle.field input,#lock[data-mode=admin-menu] label.toggle.field input{flex:none;margin-top:2px}
.lock.pb-over .gate-brand{display:none}
#pb-vw .btns:empty{display:none}
/* Labor-Seiten aus bisherigen Karten */
.pb-subcard{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-2)}
.pb-subcard + .pb-subcard{margin-top:8px}
.pb-intro{display:block;font-weight:400}
.pb-intro p{margin:0}
/* Cacciatore: Berichte als Liste */
.pb-cwl{list-style:none;margin:0;padding:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.pb-cwb{width:100%;text-align:left;min-height:var(--hit,44px);padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit}
.pb-cwb[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.pb-crep{min-width:0}
.pb-cardin{display:grid;gap:10px;min-width:0}
/* Feinschliff: Kartei Rekorde (69_rekorde.js) */
.pb-wrapc{display:contents}
.pb-tab.rec-t td.pb-rec-wrap,.pb-tab.rec-t th.pb-rec-wrap{white-space:normal;overflow-wrap:anywhere;min-width:7em}
.pb-tab.rec-t tbody tr{cursor:default}
.pb-rec-tr td{vertical-align:middle}
.pb-filt label.toggle.field{display:flex;flex-direction:row;align-items:center;gap:8px;align-self:end;min-height:var(--hit,44px)}
/* Feinschliff: Fenster „Kart und Telemetrie ändern“ – vorgemerktes Entfernen/Hinzufügen */
.pb-mark-on{opacity:.6;outline:2px dashed var(--bad,#e5484d);outline-offset:2px;border-radius:12px}
.pb-dlg [aria-pressed="true"][data-pbkadd],.pb-dlg [aria-pressed="true"][data-pblhadd]{box-shadow:inset 0 0 0 2px var(--accent)}
.pb-kart{margin:0 0 12px}
/* Feinschliff: Labor-Bereich unter „Mehr“ */
.pb-labbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 12px}
.pb-labbar-t{font-family:var(--display,inherit);font-size:var(--fs-14,14px);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
/* Feinschliff: Titel der Anmeldekarte (lange Wörter, iPhone) */
.lockcard h2{overflow-wrap:break-word;hyphens:manual;max-width:100%}
@media (max-width:480px){.lockcard h2{font-size:var(--fs-20,20px);letter-spacing:.02em}}
.lockcard label.toggle.field{display:flex;flex-direction:row;align-items:center;gap:10px;text-align:left}

/* ===== Turn beenden in einem Fenster (27.10.2026) ===== */
.sv-dlg[data-b=turn] #phase-card{display:flex;flex-direction:column;gap:12px}
.sv-dlg[data-b=turn] #phase-card > *{margin-top:0;margin-bottom:0;min-width:0}
.sv-dlg[data-b=turn] #phase-card > [data-svpart=tefbh]{order:0}
.sv-dlg[data-b=turn] #phase-card > [data-svpart=fb]{order:1}
.sv-dlg[data-b=turn] #phase-card > [data-svpart=teloh]{order:2}
.sv-dlg[data-b=turn] #phase-card > [data-svpart=data].imp-block,.sv-dlg[data-b=turn] #phase-card > #alf-out{order:3}
.sv-dlg[data-b=turn] #phase-card > [data-svpart=laps]{order:4}
.sv-dlg[data-b=turn] #phase-card > [data-svpart=tyres]{order:5}
.sv-dlg[data-b=turn] #phase-card > [data-svpart=data]{order:6}
.te-ph{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--surface-2)}
.te-pht{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;justify-content:space-between}
.te-pht h3{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-16,16px);min-width:0;overflow-wrap:anywhere}
.te-phx{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.te-phx .wb-kind{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.te-phx .te-kindh,.te-phx .te-stat{flex:1 1 220px;margin:0;min-width:0;overflow-wrap:anywhere}
.te-stat{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.te-done{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--field-border,var(--line));border-radius:999px;background:var(--surface);font-weight:700;cursor:pointer}
.te-done input{width:22px;height:22px;accent-color:var(--ok)}
.te-done:has(input:checked){border-color:var(--ok);background:var(--ok-soft)}
.te-lead{margin:0 0 10px}
.te-prop{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.te-prop .te-ph{border-left-color:var(--ok)}
.te-prop .sv-rule{margin:0}
.te-wl{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}
.te-wl li{padding:8px 10px;border:1px solid var(--line-soft);border-radius:10px}
.te-wl li.done{background:var(--ok-soft);border-color:var(--ok)}
.te-wk{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.te-wk input{width:22px;height:22px;flex:none;accent-color:var(--ok)}
.te-toe{max-width:260px;margin-top:6px}
.mental-q[hidden],.toggle[hidden],label[hidden]{display:none!important}
.te-mental > .mental{margin-top:8px}
/* Vorschläge je Turn: übernommen = grün */
.te-pl{list-style:none;padding:0;margin:6px 0;display:flex;flex-direction:column;gap:8px}
.te-pi{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface)}
.te-pi.ok{border-color:var(--ok);background:var(--ok-soft)}
.te-pi.ok .te-pic{color:var(--ok)}
.te-pi.blk{opacity:.8}
.te-pi .t{overflow-wrap:anywhere}.te-pi .te-pd{margin-top:4px;overflow-wrap:anywhere}
.te-pic{display:flex;align-items:flex-start;justify-content:center;padding-top:2px}
.te-pic input{width:20px;height:20px}
.te-okc{color:var(--ok);font-weight:700}
.te-late,.te-tpl,.te-stx{margin-top:14px}
.te-al li{display:flex;flex-wrap:wrap;gap:4px 8px}
/* Setup-Vorschlag: rotes Band, Felder „noch nicht bestätigt“ */
.te-band{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0;padding:10px 14px;border:2px solid var(--danger);border-radius:14px;background:var(--danger-soft);color:var(--text)}
.te-band .te-bt{flex:1 1 260px;min-width:0;overflow-wrap:anywhere}
.te-band .te-bb{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.te-band select{min-height:44px;max-width:100%}
.sv-head .te-band{grid-column:1/-1;width:100%}
.te-unc{outline:2px dashed var(--danger);outline-offset:3px;border-radius:8px}
.te-uncv{display:block;margin-top:4px;color:var(--text);font-size:var(--fs-12,12px);overflow-wrap:anywhere}
.te-ask .sv-db{padding:12px 16px}
.te-tpll li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 10px;align-items:center}
.te-fbs{margin-bottom:10px}
.pb-grid > .te-band-wrap{grid-column:1/-1;min-width:0}
/* Was beim laufenden Turn fehlt: dezenter oranger Hinweis (Warnfarbe), Klick öffnet „Turn # – nach dem Lauf“ */
.te-missw{display:flex;min-width:0}
.te-miss{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:32px;padding:4px 10px;border:1px solid var(--warn);border-radius:999px;background:var(--warn-soft);color:var(--warn-text);font:600 var(--fs-13) var(--font);text-align:left;white-space:normal;overflow-wrap:anywhere}
.te-miss .ic{flex:none;color:var(--warn-text)}
.te-miss .te-misst{min-width:0}
button.te-miss{cursor:pointer;min-height:44px}
button.te-miss:hover{border-width:2px;padding:3px 9px}
button.te-miss:focus-visible{outline:2px solid var(--warn-text);outline-offset:2px}
.wk-row .te-miss{flex:0 0 auto;max-width:220px;border-radius:10px;align-self:stretch}
