
.verdict.push{background:var(--volt);color:var(--ink)} .verdict.hold{background:var(--warn)} .verdict.ease{background:var(--accent)}
.verdict.none{background:var(--ink)}
.verdict .vs{font-family:var(--courier);font-size:11px;letter-spacing:0.03em;opacity:.9;line-height:1.4}
@media(max-width:520px){.verdict{min-width:100%}}

/* ---------- METRIC RINGS ---------- */
.metric{background:var(--paper);border:1px solid var(--line);padding:18px;display:flex;align-items:center;gap:15px;border-radius:var(--radius)}
.ring{width:72px;height:72px;flex-shrink:0}
.ring .rfill{transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1)}
.ring text{font-family:var(--courier);font-weight:500;fill:var(--ink)}
.metric .mk{font-family:var(--courier);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted)}
.metric .mv{font-family:var(--helv);font-weight:900;font-size:24px;letter-spacing:-0.02em;line-height:1;margin-top:5px}
.metric .ms{font-family:var(--courier);font-size:11px;color:var(--muted);margin-top:6px;line-height:1.4}
.up{color:var(--good);font-weight:700} .down{color:var(--accent);font-weight:700}
@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.metrics{grid-template-columns:1fr}}

/* ---------- SESSION / COACH ---------- */
.card h3{font-family:var(--helv);font-weight:900;font-size:19px;letter-spacing:-0.01em}
.tag{font-family:var(--courier);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--paper);background:var(--ink);padding:4px 8px;border-radius:4px}
.tag.rest{background:var(--muted)}
.sess{color:var(--ink);font-size:14px;margin-top:8px;line-height:1.55}
.row-btns{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.btn-line{background:transparent;border:1px solid var(--ink);color:var(--ink);font-weight:900;font-size:15px;letter-spacing:-.02em;padding:12px 18px;min-height:44px;border-radius:var(--r-action);transition:.15s}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-saved{background:var(--volt)!important;border-color:var(--volt)!important;color:var(--ink)!important}
.btn-line.done{background:var(--volt);border-color:var(--volt);color:var(--ink)}
.coach p{font-size:14px;line-height:1.6;color:var(--ink)}

/* ---------- MILESTONES ---------- */
.badge{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.badge:last-child{border-bottom:none}
.badge .bi{width:34px;height:34px;flex-shrink:0;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}
.badge .bi svg{width:16px;height:16px}.badge .bi svg use{fill:var(--accent)}
.badge .bt{font-weight:900;font-size:14px;letter-spacing:-0.01em}
.badge .bs{font-family:var(--courier);font-size:11px;color:var(--muted);margin-top:2px;letter-spacing:.04em}

/* ---------- PROGRESS VIEW ---------- */
.spark .base{stroke:var(--line);stroke-dasharray:3 3;stroke-width:1}
/* transaction-style log */
.log-tools{padding:2px 0 14px;border-bottom:1px solid var(--line)}
.log-search{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:16px;font-family:var(--helv);margin-bottom:10px}
.log-search:focus{outline:none;border-color:var(--ink)}
.log-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.lf-chip{font-family:var(--courier);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;border:1px solid var(--line);border-radius:100px;background:var(--paper);color:var(--ink)}
.lf-chip:hover{border-color:var(--ink)}
.lf-chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.lf-sel{margin-left:auto;font-family:var(--courier);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;padding:7px 10px;border:1px solid var(--line);border-radius:100px;background:var(--paper)}
/* the benchmark toggle — a flag, not a fifth type: label + the SETTINGS switch
   (.ut-switch, the one control this app already has), right-aligned across from the type chips */
.tglrow{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tglw{display:inline-flex;align-items:center;gap:10px}
/* drag-to-reorder grip + structural drop line */
.grip{cursor:grab;color:var(--platinum);font-size:15px;line-height:1;padding:2px 8px 2px 0;touch-action:none;user-select:none;-webkit-user-select:none}
.grip:hover{color:var(--ink)}
/* v3.16 · BUILDER PHYSICS — the card lifts, the list makes room, the rest fold to their headers */
body.dragging{user-select:none;-webkit-user-select:none;cursor:grabbing}
@media (pointer:fine){[data-handle]{cursor:grab}}
[data-drg],[data-drg-m]{transition:transform .16s cubic-bezier(.2,.8,.2,1),height .18s cubic-bezier(.2,.8,.2,1)}
.dl-fold{overflow:hidden}
.dl-slot{background:var(--wash)!important;border:1px dashed var(--muted)!important;box-shadow:none!important}
.dl-slot>*{visibility:hidden}
.dl-lift{position:fixed;z-index:400;pointer-events:none;margin:0;box-shadow:0 12px 32px rgba(40,32,26,.18),0 2px 6px rgba(40,32,26,.08);transform:scale(1.01);border-color:var(--ink);background:var(--paper);overflow:hidden;transition:none}
.dl-link{outline:2px solid var(--ink);outline-offset:2px}
.grip:focus-visible{color:var(--ink);outline:2px solid var(--volt-ink);outline-offset:2px;border-radius:2px}
.grip{color:var(--muted);opacity:.7}
.grip:hover{opacity:1}
.ld2{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 2px 6px;font-family:var(--courier);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.ld2-d b{color:var(--ink)}
.lg2{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 8px;border-radius:var(--radius);cursor:pointer;border-bottom:1px solid var(--line);-webkit-tap-highlight-color:transparent}
.lg2:hover{background:var(--wash)}
.lg2:active{background:var(--wash)}   /* iOS has no hover — a tap must LOOK received (v3.9.5) */
.lg2.bare{cursor:default}
.lg2.bare:hover,.lg2.bare:active{background:none}
.lg2-b{font-family:var(--courier);font-size:9px;letter-spacing:.06em;background:var(--wash);color:var(--muted);padding:5px 0;border-radius:var(--radius);width:44px;text-align:center;flex-shrink:0}
.lg2-main{flex:1;min-width:0}
.lg2-main b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg2-main small{display:block;font-size:12px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg2-main em{display:block;font-size:12px;color:var(--muted);font-style:italic;margin-top:2px}
.lg2-time{font-family:var(--courier);font-size:11px;color:var(--muted);flex-shrink:0}
.lg2-go{color:var(--muted);font-size:16px;flex-shrink:0}
.lg2 .pw-x{flex-shrink:0}
@media(max-width:560px){.lg2-time{display:none}}
.empty{text-align:center;padding:50px 20px;color:var(--muted)}
.empty .eh{font-family:var(--helv);font-weight:900;font-size:22px;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em}
.empty p{font-size:14px;max-width:360px;margin:0 auto 18px}
