/* ============================================================
   LIFE PLANER — GYM S15 · Radar, Trainings-Serie, Bestenlisten, Monatsbericht

   Eine Datei statt der vier aus dem Entwurf: die vier Bausteine gehoeren zu
   einem Sprint und einem Bereich, und jede weitere <link>-Zeile im Template
   ist eine weitere Datei, die beim Deploy fehlen kann.
   Nur Tokens aus dem Style-Block in index.html.template.
   ============================================================ */

/* ---------- A · Radar Muskelverteilung ---------- */
.lp-rd-card{padding-bottom:11px}
.lp-rd-svg{display:block;margin:2px 0 0;overflow:visible}
.lp-rd-lbl{font-size:10.5px;font-weight:650;fill:var(--text-2);
  letter-spacing:-.01em;font-family:var(--font)}
.lp-rd-lbl .v{font-size:11px;font-weight:700;fill:var(--text);
  font-variant-numeric:tabular-nums}

.lp-rd-lg{display:flex;align-items:center;gap:14px;margin-top:4px;
  font-size:11px;color:var(--text-3);font-weight:600}
.lp-rd-lg span{display:flex;align-items:center;gap:6px}
.lp-rd-lg i{width:14px;height:0;border-top:2px solid var(--accent);border-radius:2px}
.lp-rd-lg u{width:14px;height:0;border-top:1.5px dashed rgba(255,255,255,.4)}
.lp-rd-lg .sum{margin-left:auto;color:var(--text-4)}

.lp-rd-foot{margin-top:9px;padding-top:9px;border-top:1px solid var(--hair);
  font-size:11px;line-height:1.5;color:var(--text-4)}
.lp-rd-single{margin-top:7px;font-size:11.5px;color:var(--text-3);line-height:1.5}

/* ---------- B · Trainings-Serie ---------- */
.lp-sk-chip{display:inline-flex;align-items:baseline;gap:6px;
  padding:5px 10px;border-radius:999px;border:1px solid var(--hair);
  background:var(--surface-2);white-space:nowrap}
.lp-sk-chip b{font-size:14px;font-weight:750;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;color:var(--text)}
.lp-sk-chip span{font-size:10.5px;font-weight:650;color:var(--text-3);
  text-transform:uppercase;letter-spacing:.07em}
.lp-sk-chip.zero b{color:var(--text-3)}
/* .lp-wkplan-head steht auf space-between — ohne das Auto-Margin saesse der
   Chip in der Mitte zwischen Label und Bearbeiten-Knopf. */
.lp-wkplan-head .lp-sk-chip{margin-left:auto;margin-right:9px}

.lp-sk-row{display:flex;align-items:center;gap:12px;padding:11px 0 2px;
  border-top:1px solid var(--hair);margin-top:11px}
.lp-sk-row .n{font-size:26px;font-weight:750;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;line-height:1;flex:0 0 auto}
.lp-sk-row .n small{font-size:11.5px;font-weight:650;color:var(--text-3);
  margin-left:5px;letter-spacing:0}
.lp-sk-row .tx{font-size:11.5px;line-height:1.45;color:var(--text-3);min-width:0}
.lp-sk-row .tx b{display:block;color:var(--text-2);font-weight:650}
.lp-sk-row.zero .n{color:var(--text-3)}

.lp-sk-dots{display:flex;gap:3px;margin-left:auto;flex:0 0 auto}
.lp-sk-dots i{width:6px;height:6px;border-radius:50%;background:var(--surface-3)}
.lp-sk-dots i.hit{background:var(--accent)}
.lp-sk-dots i.miss{background:transparent;box-shadow:inset 0 0 0 1px var(--red)}

/* ---------- C · Bestenlisten ---------- */
/* Kopfzeile, Rahmen und Scroll-Bereich kommen aus .lp-gy-layer/.lp-gy-head/
   .lp-gy-body (lp-gym.css, S7) — hier steht nur, was die Liste braucht. */
.lp-pr-entry{display:flex;align-items:center;gap:11px;width:100%;
  padding:13px 14px;border-radius:var(--r-card);border:1px solid var(--hair);
  background:var(--surface);color:var(--text);cursor:pointer;text-align:left}
.lp-pr-entry:active{background:var(--surface-2)}
.lp-pr-entry .tx{flex:1;min-width:0;font-size:13.5px;font-weight:650}
.lp-pr-entry .tx small{display:block;font-size:11.5px;font-weight:600;
  color:var(--text-3);margin-top:2px}
.lp-pr-entry .ch{color:var(--text-4);display:flex}

.lp-pr-list{padding:2px 14px}
.lp-pr-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto 14px;
  align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--hair);
  cursor:pointer}
.lp-pr-row:last-child{border-bottom:none}
.lp-pr-row:active{opacity:.6}
/* Ohne exercise_id gibt es kein Sheet zum Oeffnen — dann auch kein Chevron
   und kein Klickgefuehl, das eins verspricht. */
.lp-pr-row.flach{cursor:default}
.lp-pr-row.flach:active{opacity:1}
.lp-pr-row .r{font-size:11.5px;font-weight:700;color:var(--text-4);
  font-variant-numeric:tabular-nums}
.lp-pr-row .nm{font-size:13px;font-weight:650;letter-spacing:-.01em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lp-pr-row .nm small{display:block;font-size:11px;font-weight:600;color:var(--text-3);
  margin-top:1px}
.lp-pr-row .kg{text-align:right;font-size:14px;font-weight:700;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.lp-pr-row .kg small{display:block;font-size:10.5px;font-weight:600;
  color:var(--text-4);letter-spacing:0}
.lp-pr-row .ch{color:var(--text-4);display:flex}

.lp-pr-filter{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 4px;
  scrollbar-width:none}
.lp-pr-filter::-webkit-scrollbar{display:none}
.lp-pr-filter button{flex:0 0 auto;padding:6px 11px;border-radius:999px;
  border:1px solid var(--hair);background:var(--surface-2);color:var(--text-3);
  font-size:11.5px;font-weight:650;cursor:pointer}
.lp-pr-filter button.on{background:var(--surface-3);border-color:var(--hair-2);color:var(--text)}
.lp-pr-note{font-size:11px;line-height:1.5;color:var(--text-4);padding:9px 2px 0}
.lp-pr-list.ohne-rang .lp-pr-row{grid-template-columns:minmax(0,1fr) auto 14px}

/* ---------- D · Monatsbericht ---------- */
.lp-mr-nav{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.lp-mr-nav button{width:34px;height:34px;border-radius:11px;border:1px solid var(--hair);
  background:var(--surface-2);color:var(--text-2);display:flex;align-items:center;
  justify-content:center;cursor:pointer;flex:0 0 auto}
.lp-mr-nav button:active{background:var(--surface-3);color:var(--text)}
.lp-mr-nav button[disabled]{opacity:.3;cursor:default}
.lp-mr-nav .mo{flex:1;text-align:center;font-size:15px;font-weight:700;letter-spacing:-.02em}
.lp-mr-nav .mo small{display:block;font-size:10.5px;font-weight:600;color:var(--text-3);
  text-transform:uppercase;letter-spacing:.08em;margin-top:1px}

.lp-mr-kpis{display:grid;grid-template-columns:1fr 1fr;padding:0}
.lp-mr-kpi{padding:13px 14px;border-bottom:1px solid var(--hair)}
.lp-mr-kpi:nth-child(odd){border-right:1px solid var(--hair)}
.lp-mr-kpi:nth-last-child(-n+2){border-bottom:none}
.lp-mr-kpi .k{display:block;font-size:10.5px;font-weight:650;color:var(--text-3);
  text-transform:uppercase;letter-spacing:.07em}
.lp-mr-kpi .v{display:block;font-size:22px;font-weight:750;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;margin-top:4px;line-height:1.1}
.lp-mr-kpi .v small{font-size:11px;font-weight:650;color:var(--text-3);margin-left:3px}
.lp-mr-kpi .dl{display:flex;align-items:center;gap:4px;margin-top:5px;font-size:11px;
  font-weight:650;color:var(--text-3);font-variant-numeric:tabular-nums}
.lp-mr-kpi .dl svg{color:var(--text-4)}
.lp-mr-kpi .dl em{font-style:normal;color:var(--text-4);font-weight:600}
.lp-mr-kpi .dl.none,.lp-mr-kpi .dl.flat{color:var(--text-4)}

.lp-mr-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:11px}
.lp-mr-day{aspect-ratio:1;border-radius:6px;background:rgba(255,255,255,.045);
  display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:650;
  color:var(--text-4);font-variant-numeric:tabular-nums}
.lp-mr-day.hit{background:var(--accent);color:#0a0a0b;font-weight:750}
.lp-mr-day.miss{box-shadow:inset 0 0 0 1px var(--red-dim);color:var(--text-3)}
.lp-mr-day.void{background:transparent}
.lp-mr-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:9px;
  font-size:9.5px;font-weight:650;color:var(--text-4);text-transform:uppercase;
  letter-spacing:.06em;text-align:center}
.lp-mr-leg{margin-top:9px;font-size:11px;color:var(--text-4);line-height:1.5}

.lp-mr-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  gap:10px;padding:10px 0;border-bottom:1px solid var(--hair);cursor:pointer}
.lp-mr-row:last-child{border-bottom:none}
.lp-mr-row:active{opacity:.6}
.lp-mr-row .nm{font-size:12.5px;font-weight:650;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.lp-mr-row .nm small{display:block;font-size:10.5px;font-weight:600;color:var(--text-3);margin-top:1px}
.lp-mr-row .vv{text-align:right;font-size:13px;font-weight:700;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.lp-mr-row .vv small{display:block;font-size:10.5px;font-weight:600;color:var(--text-4)}

.lp-mr-mg{display:flex;flex-direction:column;gap:8px;margin-top:11px}
.lp-mr-mgrow{display:grid;grid-template-columns:70px minmax(0,1fr) 34px;align-items:center;gap:9px}
.lp-mr-mgrow .n{font-size:11.5px;font-weight:650;color:var(--text-2)}
.lp-mr-mgrow .t{height:6px;border-radius:3px;background:rgba(255,255,255,.06);
  position:relative;overflow:hidden}
.lp-mr-mgrow .t i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--accent)}
.lp-mr-mgrow .v{text-align:right;font-size:11.5px;font-weight:700;
  font-variant-numeric:tabular-nums;color:var(--text-2)}
