/* === InBody-visualiseringens stilar (.ib-*) ===
   Hör ihop med embed/inbody-view.js. Färger, mått och radier är värdens tokens
   (--ink, --surface, --line, --ok, --s3, --r-sm …). DRIV har dem i driv.css.
   En värd som saknar dem laddar också inbody-view.host.css.

   Första delen är oförändrad från DRIV (driv.css 474–573, 2026-09-17). */
.ib-seg,.ib-mf{margin-top:var(--s3)}
.ib-seg__title,.ib-mf__title{font-size:var(--text-sm); font-weight:600; margin:0 0 var(--s2)}

.ib-seg__tabs{display:flex; gap:3px; background:var(--line); border-radius:var(--r-sm); padding:3px; margin-bottom:var(--s3)}
.ib-seg__tab{flex:1; padding:7px 12px; border:0; border-radius:calc(var(--r-sm) - 2px); background:transparent;
  color:var(--muted); font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:background var(--dur) var(--ease), color var(--dur) var(--ease)}
.ib-seg__tab.is-active{background:var(--surface); color:var(--ink); box-shadow:var(--shadow-sm)}

.ib-seg__grid{display:grid; grid-template-columns:1fr auto 1fr; gap:var(--s2); align-items:stretch; min-height:190px}
.ib-seg__col{display:flex; flex-direction:column; justify-content:space-between; padding:8px 0 18px}
.ib-seg__col--l{align-items:flex-end; text-align:right}
.ib-seg__col--r{align-items:flex-start; text-align:left}
.ib-seg__lbl{line-height:1.3}
.ib-seg__lbl-name{display:block; font-size:12px; color:var(--muted)}
.ib-seg__lbl-mass{display:block; font-size:14px; font-weight:600}
.ib-seg__lbl-pct{display:block; font-size:12px; font-weight:600}

.ib-seg__svg{display:block; width:132px; height:auto}
.ib-seg__part{transition:fill-opacity .8s var(--ease), fill var(--dur) var(--ease)}

.ib-seg__legend{display:flex; flex-wrap:wrap; gap:var(--s2) var(--s3); margin-top:var(--s2); font-size:12px; color:var(--muted)}
.ib-seg__key{display:inline-block; width:9px; height:9px; border-radius:3px; margin-right:5px; vertical-align:middle}

.ib-mf__bar{margin-bottom:var(--s3)}
.ib-mf__bar-top{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:5px; font-size:13px}
.ib-mf__bar-val{color:var(--muted)}
.ib-mf__track{position:relative; height:9px; border-radius:var(--r-pill); background:var(--line); overflow:hidden}
/* 100 % ligger mitt i spåret — skalan går 0–200 % */
.ib-mf__mid{position:absolute; left:50%; top:0; bottom:0; width:1px; background:var(--line); z-index:2}
.ib-mf__fill{height:100%; border-radius:var(--r-pill); width:0; transition:width .9s var(--ease)}
.ib-mf__scale{display:flex; justify-content:space-between; margin-top:4px; font-size:11px; color:var(--faint)}

/* ---------- InBody Fas 1 (2026-08-09): nyckeltal, tidsserie, historik ----------
   Se docs/INBODY_PLAN.md. Samma token-uttryck som resten av InBody-blocket:
   siffrorna är hjältarna, visualiseringen underställd. */
.ib-ksrow{display:grid; grid-template-columns:repeat(auto-fit,minmax(76px,1fr)); gap:var(--s3); margin-top:var(--s4)}
.ib-ks__v{font-size:var(--text-xl); font-weight:300; letter-spacing:-.03em; line-height:1.1}
.ib-ks__u{font-size:var(--text-sm); color:var(--muted); font-weight:400}
.ib-ks__l{font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; font-weight:600; margin-top:3px}
.ib-ks__d{font-weight:700; text-transform:none; letter-spacing:0}

.ib-series{margin-top:var(--s4)}
.ib-series__chips{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:var(--s2)}
.ib-chip{padding:6px 13px; border:1.5px solid var(--line); border-radius:var(--r-pill);
  background:var(--surface); color:var(--muted); font:inherit; font-size:12.5px; font-weight:600; cursor:pointer;
  transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease)}
.ib-chip.is-active{background:var(--ink); border-color:var(--ink); color:var(--surface)}
.ib-series__svg{display:block; width:100%; height:auto; margin-top:var(--s2)}
.ib-series__foot{display:flex; justify-content:space-between; gap:var(--s2); font-size:12px; color:var(--muted); margin-top:4px}

.ib-hist{margin-top:var(--s4); display:flex; flex-direction:column; gap:6px}
.ib-hist__head{font-size:12px; color:var(--muted); margin-bottom:2px}

/* Varje vägning är ett kort, inte en textrad.
   Raderna hade bara en underkantslinje och läste därför som en tabell man
   tittar på — inte som något man trycker på. Att de öppnade hela mätningen var
   det ingen som hittade. Kortform, ram och tryckyta säger det i stället. */
.ib-hist__row{display:flex; align-items:center; gap:var(--s2);
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md);
  padding-right:4px; transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease)}
.ib-hist__row:active{transform:scale(.995); border-color:var(--accent)}
@media (hover:hover){ .ib-hist__row:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))} }
/* Dold i kurvan: kortet ligger kvar men tonas ner, så att det läses som
   undantaget och inte som borttaget. Knappen bredvid tar tillbaka det. */
.ib-hist__row--hidden{opacity:.55; border-style:dashed}
.ib-hist__row.is-sel{background:color-mix(in srgb,var(--accent) 7%,var(--surface)); border-color:var(--accent)}
.ib-hist__btn{flex:1; min-width:0; background:none; border:none; padding:11px 12px; text-align:left;
  font:inherit; font-size:14px; color:var(--ink); cursor:pointer; display:flex; flex-direction:column; gap:2px}
.ib-hist__del{flex:none; background:none; border:none; color:var(--danger); font-size:14px; padding:8px; cursor:pointer}
/* Chevron: bärs av kortet, inte av texten. Storlek och färg räcker för att
   säga "det finns mer här" utan att konkurrera med siffrorna. */
.ib-hist__go{flex:none; color:var(--muted); font-size:18px; line-height:1; padding:0 6px 0 0; pointer-events:none}

/* Jämför-väljaren i arket (Fas 3). Ligger överst i arket och ska läsas som en
   fråga man kan ställa, inte som ett formulärfält — därför pillerform och
   samma mått som .ib-chip. */
.ib-cmp{display:block; margin:0 0 var(--s3); padding:7px 13px; border:1.5px solid var(--line);
  border-radius:var(--r-pill); background:var(--surface); color:var(--ink);
  font:inherit; font-size:12.5px; font-weight:600; cursor:pointer}

/* Daily measurements: shared by client and coach. */
.ib-latest{display:flex;gap:16px;align-items:center;padding:12px 0}
.ib-latest__figure{flex:0 0 66px;border:0;border-radius:40px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent);padding:18px 9px;cursor:pointer}
.ib-latest__figure svg{display:block;width:100%;height:auto}
.ib-latest__body{min-width:0;flex:1}.ib-latest__body>b{display:block;font-size:14px}
.ib-latest .ib-ksrow{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ib-latest .ib-ks__v{font-size:24px}.ib-latest .ib-ks__u{font-size:11px}
.ib-text-btn{border:0;background:none;color:var(--accent);padding:12px 0 0;font:inherit;font-size:13px;text-align:left;cursor:pointer}
.ib-all-days{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.ib-all-days>summary,.progress-settings>summary{cursor:pointer;font-weight:600;font-size:14px}
.ib-day{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:0 12px;overflow:hidden}
.ib-day__head{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:13px 0;border:0;background:none;color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.ib-day__head .muted{display:block;font-size:12px;margin-top:4px}
.ib-day__originals{border-top:1px solid var(--line);padding:10px 0;font-size:12px}
.ib-day__originals>summary{cursor:pointer;color:var(--muted)}.ib-day__originals>p{margin:10px 0}
.ib-day__originals .ib-hist{margin-top:10px}.ib-day__originals .ib-hist__head{display:none}
.progress-settings{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.progress-settings .card{box-shadow:none;border:0;padding:12px 0;margin-bottom:0}
.progress-links{margin:0 0 20px}.progress-links .listrow{margin:0}
.checkin-answer{margin-top:12px}.checkin-answer dt{font-size:12px;color:var(--muted)}.checkin-answer dd{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:360px){.ib-latest{gap:10px}.ib-latest__figure{flex-basis:42px;padding:16px 5px}.ib-latest .ib-ks__v{font-size:21px}.ib-latest .ib-ks__l{font-size:10px}}

/* ── Tillägg 2026-09-19: tidsfönster, poäng, alla värden, vågens förslag ── */
.ib-series__spans{display:flex; gap:2px; margin:0 0 var(--s2); padding:2px; width:max-content; background:var(--line); border-radius:var(--r-pill)}
.ib-span{padding:4px 11px; border:0; border-radius:var(--r-pill); background:transparent; color:var(--muted); font:inherit; font-size:12px; font-weight:600; cursor:pointer}
.ib-span.is-active{background:var(--surface); color:var(--ink)}

.ib-score{display:flex; align-items:center; gap:var(--s3); margin:var(--s3) 0; padding:var(--s3) var(--s4); border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface-2)}
.ib-score__v{font-size:34px; font-weight:300; letter-spacing:-.04em; line-height:1; min-width:1.4em; text-align:center}
.ib-score__t{display:flex; flex-direction:column; gap:2px; font-size:13px; line-height:1.35}
.ib-score__t b{font-weight:600}
.ib-score__t .muted{font-size:12.5px}

.ib-vals{margin-top:var(--s5)}
.ib-vals__hint{font-size:12.5px; margin:-2px 0 var(--s2); line-height:1.4}
.ib-vals__h{margin:var(--s4) 0 2px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--muted)}
.ib-val{border-bottom:1px solid var(--line)}
.ib-val>summary{display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"name num" "badge d"; column-gap:var(--s3); row-gap:3px; align-items:baseline; padding:11px 18px 11px 0; cursor:pointer; list-style:none; position:relative}
.ib-val>summary::-webkit-details-marker{display:none}
.ib-val>summary::after{content:"›"; position:absolute; right:2px; top:50%; transform:translateY(-50%); color:var(--muted); font-size:16px; transition:transform var(--dur,.2s) var(--ease,ease)}
.ib-val[open]>summary::after{transform:translateY(-50%) rotate(90deg)}
.ib-val__name{grid-area:name; font-size:14px; font-weight:500}
.ib-val__num{grid-area:num; text-align:right; font-size:17px; font-weight:500; letter-spacing:-.01em; font-variant-numeric:tabular-nums}
.ib-val__d{grid-area:d; text-align:right; font-size:12px; font-weight:600; font-variant-numeric:tabular-nums}
.ib-badge{grid-area:badge; justify-self:start; padding:2px 8px; border-radius:var(--r-pill); font-size:11px; font-weight:600; line-height:1.5}
.ib-badge--ok{background:color-mix(in srgb,var(--ok) 15%,var(--surface)); color:var(--ok)}
.ib-badge--good{background:color-mix(in srgb,var(--blue) 15%,var(--surface)); color:var(--blue)}
.ib-badge--warn{background:color-mix(in srgb,var(--amber) 18%,var(--surface)); color:var(--amber)}
.ib-badge--plain{background:color-mix(in srgb,var(--muted) 16%,var(--surface)); color:var(--muted)}
.ib-val__more{padding:2px 18px var(--s4) 0}
.ib-val__more p{margin:var(--s2) 0 0; font-size:13px; line-height:1.5; color:var(--muted)}

/* Mätaren: mittersta tredjedelen är normalintervallet */
.ib-g{position:relative; height:8px; margin-top:6px; border-radius:var(--r-pill); background:var(--line)}
.ib-g__zone{position:absolute; left:33.33%; width:33.34%; top:0; bottom:0; background:color-mix(in srgb,var(--ok) 45%,var(--line)); border-radius:2px}
.ib-g__dot{position:absolute; top:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; background:var(--ink); border:2.5px solid var(--surface); box-shadow:0 1px 3px rgba(0,0,0,.25)}
.ib-g__scale{display:grid; grid-template-columns:1fr 1fr 1fr; margin-top:5px; font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums}
.ib-g__scale span:nth-child(1){text-align:right; padding-right:4px; transform:translateX(-50%)}
.ib-g__scale span:nth-child(2){text-align:center}
.ib-g__scale span:nth-child(3){text-align:left; padding-left:4px; transform:translateX(50%)}

.ib-rec{margin-top:var(--s5); padding:var(--s4); border:1px solid var(--line); border-radius:var(--r-md)}
.ib-rec__row{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s3)}
.ib-rec__v{display:block; font-size:20px; font-weight:400; letter-spacing:-.02em}
.ib-rec__t{font-size:12.5px; margin-top:var(--s2); line-height:1.4}

/* ── 2026-09-19: ny kroppsfigur (fem egna former), lilla figuren i översikten borttagen ── */
.ib-seg__svg{width:138px}
.ib-seg__part{transition:fill .5s var(--ease)}
.ib-seg__grid{min-height:206px}
.ib-latest .ib-ks__v{font-size:28px}
