/* ============================================================
   IRON BARBELL — SALES ON A PHONE (.sp-*) [7.53 · Sep 2026].
   Scoped under .coach-app-root so nothing here can reach the
   client app. Same melamine as every other app screen: white
   cards on the cool Tier-3 ladder, 1px plate hairlines, ONE
   electric accent, statuses in turf / forge / rust. No new
   hues — a lane colour is always a status.
   ============================================================ */

/* ---- the day card. IT OWNS ITS OWN CLASSES, and that is the lesson: the first cut
   borrowed sales.css's `.sl-day` markup, whose header child is `.dk` — and desk.css
   defines `.dk` UNSCOPED as the desk shell root (a 1180px-min two-column grid at
   100vh). It matched inside the phone, blew the card to 649px and pushed all thirteen
   rows below the fold. Same precedent as the `.dyg-*` rename after the `.ring`
   collision: a phone screen never reuses another sheet's generic child names. ---- */
.coach-app-root .sp-day{background:var(--app-surface);border:1px solid var(--app-border);border-top:3px solid var(--rust);border-radius:8px;padding:14px 15px;margin-bottom:4px}
.coach-app-root .sp-day.clear{border-top-color:var(--turf)}
.coach-app-root .sp-day .sp-dh{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.coach-app-root .sp-day .sp-dk{font-weight:800;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}
.coach-app-root .sp-day.clear .sp-dk{color:var(--turf-deep)}
.coach-app-root .sp-day .sp-dn{font-family:var(--font-cond);font-weight:900;font-size:28px;line-height:1;color:var(--rust)}
.coach-app-root .sp-day.clear .sp-dn{color:var(--turf-deep)}
.coach-app-root .sp-day .sp-dd{font-size:12px;line-height:1.5;color:var(--app-fg-muted);margin-top:8px;text-wrap:pretty}

/* ---- section label ---- */
.coach-app-root .sp-hd{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-weight:800;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--app-fg-subtle);margin:18px 2px 9px}
.coach-app-root .sp-hd.hot{color:var(--rust)}
.coach-app-root .sp-hd span{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;color:var(--app-fg-subtle)}

/* ---- one person in a list: who, where they are, what was last said ---- */
.coach-app-root .sp-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;text-align:left;background:var(--app-surface);border:1px solid var(--app-border);border-left:3px solid var(--app-border-strong);border-radius:6px;padding:11px 12px;margin-bottom:8px;min-height:64px;cursor:pointer;font-family:inherit;transition:border-color 120ms var(--ease)}
.coach-app-root .sp-row:hover{border-color:var(--app-border-strong)}
.coach-app-root .sp-row.hot{border-left-color:var(--rust)}
.coach-app-root .sp-row.warm{border-left-color:var(--forge)}
.coach-app-root .sp-row.info{border-left-color:var(--electric)}
.coach-app-root .sp-row.calm{border-left-color:var(--app-border-strong)}
.coach-app-root .sp-row .av{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:5px;background:var(--app-surface-sunk);border:1px solid var(--app-border);font-family:var(--font-mono);font-size:12.5px;font-weight:700;color:var(--app-fg-muted)}
.coach-app-root .sp-row.hot .av{background:var(--rust-tint);border-color:var(--rust);color:var(--rust-deep)}
.coach-app-root .sp-row.info .av{background:var(--electric-tint);border-color:var(--electric);color:var(--electric-deep)}
.coach-app-root .sp-row .mid{min-width:0}
.coach-app-root .sp-row .nm{display:flex;align-items:center;gap:7px;min-width:0}
.coach-app-root .sp-row .nm b{font-family:var(--font-cond);font-weight:900;font-size:17px;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--app-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coach-app-root .sp-lane{flex:0 0 auto;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--app-fg-muted);background:var(--app-surface-sunk);border:1px solid var(--app-border);border-radius:999px;padding:2px 7px}
.coach-app-root .sp-row .ln{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.45;color:var(--app-fg-muted);margin-top:5px;text-wrap:pretty}
.coach-app-root .sp-row .ln i{font-style:normal;color:var(--app-fg-subtle)}
.coach-app-root .sp-row .rt{flex:0 0 auto;text-align:right;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--app-fg-subtle);white-space:nowrap}
.coach-app-root .sp-row.hot .rt{color:var(--rust)}
.coach-app-root .sp-row.info .rt{color:var(--electric)}
.coach-app-root .sp-row.warm .rt{color:var(--forge-deep)}

/* ---- a group that is nobody's job: one line, tap to see it ---- */
.coach-app-root .sp-sum{width:100%;display:flex;align-items:center;gap:9px;background:var(--app-surface-sunk);border:1px solid var(--app-border);border-radius:6px;padding:11px 12px;margin-bottom:8px;min-height:46px;cursor:pointer;font-family:inherit;text-align:left}
.coach-app-root .sp-sum b{font-family:var(--font-cond);font-weight:900;font-size:14px;letter-spacing:.03em;text-transform:uppercase;color:var(--app-fg)}
.coach-app-root .sp-sum span{flex:1 1 auto;font-size:11.5px;line-height:1.4;color:var(--app-fg-muted)}
.coach-app-root .sp-sum svg{color:var(--app-fg-subtle)}

/* ---- Everyone: search + the lanes as a filter ---- */
.coach-app-root .sp-find{display:flex;align-items:center;gap:8px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:6px;padding:0 11px;min-height:46px;margin-bottom:10px}
.coach-app-root .sp-find svg{flex:0 0 auto;color:var(--app-fg-subtle)}
.coach-app-root .sp-find input{flex:1 1 auto;min-width:0;border:none;background:none;font-family:var(--font-body);font-size:14px;color:var(--app-fg);outline:none}
.coach-app-root .sp-lanes{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.coach-app-root .sp-lchip{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--app-fg-muted);background:var(--app-surface);border:1px solid var(--app-border);border-radius:999px;padding:13px 13px;min-height:44px;cursor:pointer}
.coach-app-root .sp-lchip b{font-weight:700;color:var(--app-fg);margin-left:5px}
.coach-app-root .sp-lchip.on{background:var(--electric);border-color:var(--electric);color:#fff}
.coach-app-root .sp-lchip.on b{color:#fff}

/* ---- THE CONVERSATION. Full height: header, thread, one dock. ---- */
.coach-app-root .sp-conv{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--app-bg)}
.coach-app-root .sp-chd{flex:0 0 auto;background:var(--app-surface);border-bottom:1px solid var(--app-border);padding:9px 12px 10px}
.coach-app-root .sp-chd .t{display:flex;align-items:center;gap:8px}
.coach-app-root .sp-chd .bk{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:-6px;background:none;border:none;border-radius:5px;color:var(--electric);cursor:pointer}
.coach-app-root .sp-chd .who{flex:1 1 auto;min-width:0}
.coach-app-root .sp-chd .who b{display:block;font-family:var(--font-cond);font-weight:900;font-size:19px;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--app-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coach-app-root .sp-chd .who span{display:block;font-size:11px;line-height:1.35;color:var(--app-fg-muted);margin-top:4px}
.coach-app-root .sp-chd .call{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:6px;color:var(--electric);cursor:pointer}
.coach-app-root .sp-stg{display:flex;align-items:center;gap:4px;margin-top:9px}
.coach-app-root .sp-stg i{flex:1 1 0;height:4px;border-radius:2px;background:var(--app-surface-sunk);border:1px solid var(--app-border)}
.coach-app-root .sp-stg i.on{background:var(--electric);border-color:var(--electric)}
.coach-app-root .sp-stgl{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:6px;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--app-fg-subtle)}
.coach-app-root .sp-stgl b{color:var(--electric-deep);font-weight:700}

.coach-app-root .sp-thread{flex:1 1 auto;min-height:110px;overflow-y:auto;display:flex;flex-direction:column-reverse;padding:14px 12px 4px}
.coach-app-root .sp-b{max-width:84%;margin-bottom:12px;align-self:flex-start}
.coach-app-root .sp-b.out{align-self:flex-end}
.coach-app-root .sp-b .bb{padding:10px 12px;border-radius:10px;font-size:13.5px;line-height:1.5;color:var(--app-fg);background:var(--app-surface);border:1px solid var(--app-border);text-wrap:pretty}
.coach-app-root .sp-b.in.form .bb{border-left:3px solid var(--app-border-strong)}
.coach-app-root .sp-b.out .bb{background:var(--electric);border-color:var(--electric);color:#fff}
.coach-app-root .sp-b.out.auto .bb{background:var(--iron);border-color:var(--iron);color:#fff}
.coach-app-root .sp-b.draft .bb{background:var(--app-surface);border:1px dashed var(--electric);color:var(--app-fg)}
.coach-app-root .sp-b .mt{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--app-fg-subtle)}
.coach-app-root .sp-b.out .mt{justify-content:flex-end}
.coach-app-root .sp-b .mt b{font-weight:700;color:var(--app-fg-muted)}
.coach-app-root .sp-sys{display:flex;align-items:center;gap:9px;margin:2px 0 12px;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--app-fg-subtle)}
.coach-app-root .sp-sys i{flex:1 1 auto;height:1px;background:var(--app-border)}
.coach-app-root .sp-sys b{font-weight:700;color:var(--app-fg-muted)}
.coach-app-root .sp-sys.good b{color:var(--turf-deep)}
.coach-app-root .sp-sys.bad b{color:var(--rust)}

/* ---- the dock: what is owed, the words, one key ---- */
.coach-app-root .sp-dock{flex:0 1 auto;max-height:64%;overflow-y:auto;background:var(--app-surface);border-top:1px solid var(--app-border);padding:10px 12px 12px}
.coach-app-root .sp-ask{margin-bottom:8px}
.coach-app-root .sp-ask em{display:block;font-style:normal;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--app-fg-subtle)}
.coach-app-root .sp-ask.due em{color:var(--electric)}
.coach-app-root .sp-ask.hot em{color:var(--rust)}
.coach-app-root .sp-ask b{display:block;font-family:var(--font-cond);font-weight:900;font-size:17px;line-height:1.1;letter-spacing:.02em;text-transform:uppercase;color:var(--app-fg);margin-top:3px}
.coach-app-root .sp-ask span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;line-height:1.45;color:var(--app-fg-muted);margin-top:4px;text-wrap:pretty}
.coach-app-root .sp-ta{width:100%;min-height:64px;max-height:130px;background:var(--app-surface);border:1px solid var(--app-border-strong);border-radius:6px;padding:10px 11px;font-family:var(--font-body);font-size:13.5px;line-height:1.5;color:var(--app-fg);resize:none;outline:none}
.coach-app-root .sp-ta:focus{border-color:var(--electric)}
.coach-app-root .sp-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 9px;font-family:var(--font-mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--app-fg-subtle)}
.coach-app-root .sp-meta button{background:none;border:none;font-family:var(--font-mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--electric);cursor:pointer;padding:0}
.coach-app-root .sp-keys{display:grid;gap:8px}
.coach-app-root .sp-keys.two{grid-template-columns:1fr 1fr}
.coach-app-root .sp-k{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border-radius:5px;font-family:var(--font-cond);font-weight:900;font-size:14px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background 120ms var(--ease)}
.coach-app-root .sp-k.pri{background:var(--electric);border:1px solid var(--electric);color:#fff}
.coach-app-root .sp-k.pri:hover{background:var(--electric-hover)}
.coach-app-root .sp-k.pri:disabled{background:var(--app-border-strong);border-color:var(--app-border-strong);color:#fff;cursor:default}
.coach-app-root .sp-k.gh{background:var(--app-surface);border:1px solid var(--app-border-strong);color:var(--app-fg)}
.coach-app-root .sp-k.gh:hover{border-color:var(--electric);color:var(--electric)}

/* ---- logged: the receipt, with the way back ---- */
.coach-app-root .sp-flash{display:flex;align-items:center;gap:10px;background:var(--turf-tint);border:1px solid var(--turf);border-radius:6px;padding:10px 12px;margin-bottom:9px}
.coach-app-root .sp-flash b{flex:1 1 auto;font-family:var(--font-cond);font-weight:900;font-size:14px;letter-spacing:.03em;text-transform:uppercase;color:var(--turf-deep)}
.coach-app-root .sp-flash button{background:none;border:none;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--turf-deep);text-decoration:underline;cursor:pointer;padding:0}

/* ---- the sheets: log what happened · the calendar · a date ---- */
.coach-app-root .sp-sheet{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:flex-end;background:rgba(5,5,5,.5)}
.coach-app-root .sp-pan{background:var(--app-surface);border-top:3px solid var(--electric);border-radius:12px 12px 0 0;padding:14px 13px 16px;max-height:82%;overflow-y:auto}
.coach-app-root .sp-pan .ph{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.coach-app-root .sp-pan .ph b{flex:1 1 auto;font-family:var(--font-cond);font-weight:900;font-size:19px;letter-spacing:.02em;text-transform:uppercase;color:var(--app-fg)}
.coach-app-root .sp-pan .ph button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid var(--app-border);border-radius:5px;color:var(--app-fg-muted);cursor:pointer}
.coach-app-root .sp-out{display:block;width:100%;text-align:left;background:var(--app-surface);border:1px solid var(--app-border);border-left:3px solid var(--app-border-strong);border-radius:6px;padding:11px 12px;margin-bottom:8px;min-height:56px;cursor:pointer;font-family:inherit}
.coach-app-root .sp-out.green{border-left-color:var(--turf)}
.coach-app-root .sp-out.blue{border-left-color:var(--electric)}
.coach-app-root .sp-out.amber{border-left-color:var(--forge)}
.coach-app-root .sp-out.grey{border-left-color:var(--app-border-strong)}
.coach-app-root .sp-out b{display:block;font-family:var(--font-cond);font-weight:900;font-size:16px;letter-spacing:.02em;text-transform:uppercase;color:var(--app-fg)}
.coach-app-root .sp-out span{display:block;font-size:11.5px;line-height:1.45;color:var(--app-fg-muted);margin-top:3px;text-wrap:pretty}
.coach-app-root .sp-note{font-size:11.5px;line-height:1.5;color:var(--app-fg-muted);background:var(--app-surface-sunk);border:1px solid var(--app-border);border-radius:6px;padding:10px 11px;margin-top:4px;text-wrap:pretty}
.coach-app-root .sp-note b{font-family:var(--font-body);font-weight:700;color:var(--app-fg)}
.coach-app-root .sp-chips{display:flex;flex-wrap:wrap;gap:7px}
.coach-app-root .sp-chip{font-family:var(--font-body);font-weight:700;font-size:12px;color:var(--app-fg);background:var(--app-surface);border:1px solid var(--app-border-strong);border-radius:5px;padding:12px 13px;min-height:44px;cursor:pointer}
.coach-app-root .sp-chip:hover{border-color:var(--electric);color:var(--electric)}
.coach-app-root .sp-dy{margin-bottom:12px}
.coach-app-root .sp-dy .dyh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--app-fg-subtle);margin-bottom:6px}
.coach-app-root .sp-dy .dyh b{font-family:var(--font-cond);font-weight:900;font-size:14px;letter-spacing:.03em;color:var(--app-fg)}
.coach-app-root .sp-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}
.coach-app-root .sp-sl{min-height:44px;border-radius:5px;border:1px solid var(--app-border-strong);background:var(--app-surface);font-family:var(--font-mono);font-size:11.5px;font-weight:700;color:var(--app-fg);cursor:pointer}
.coach-app-root .sp-sl:hover{border-color:var(--electric);color:var(--electric)}
.coach-app-root .sp-sl.taken{background:var(--app-surface-sunk);border-color:var(--app-border);color:var(--app-fg-subtle);cursor:default}

.coach-app-root .sp-al{display:block;width:100%;text-align:left;background:var(--app-surface);border:1px solid var(--app-border);border-left:3px solid var(--app-border-strong);border-radius:6px;padding:11px 12px;margin-bottom:8px;min-height:56px;cursor:pointer;font-family:inherit;position:relative}
.coach-app-root .sp-al.hot{border-left-color:var(--rust)}
.coach-app-root .sp-al.info{border-left-color:var(--electric)}
.coach-app-root .sp-al.good{border-left-color:var(--turf)}
.coach-app-root .sp-al b{display:block;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--app-fg-subtle)}
.coach-app-root .sp-al.hot b{color:var(--rust)}
.coach-app-root .sp-al.info b{color:var(--electric)}
.coach-app-root .sp-al.good b{color:var(--turf-deep)}
.coach-app-root .sp-al span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.45;color:var(--app-fg);margin-top:5px;padding-right:44px;text-wrap:pretty}
.coach-app-root .sp-al i{position:absolute;top:11px;right:12px;font-style:normal;font-family:var(--font-mono);font-size:9.5px;font-weight:700;color:var(--app-fg-subtle)}
.coach-app-root .sp-al.hot i{color:var(--rust)}

.coach-app-root .sp-empty{text-align:center;padding:44px 20px;color:var(--app-fg-muted)}
.coach-app-root .sp-empty b{display:block;font-family:var(--font-cond);font-weight:900;font-size:20px;letter-spacing:.02em;text-transform:uppercase;color:var(--app-fg);margin-bottom:6px}
.coach-app-root .sp-empty div{font-size:12.5px;line-height:1.5;text-wrap:pretty}

/* [8.12 · v8.31] the funnel: a row a stage, the bar to scale, tap one → the ‹ stage › stepper */
.coach-app-root .sp-fun{background:var(--app-surface);border:1px solid var(--app-border);border-radius:9px;padding:4px 6px 6px;margin-bottom:12px}
.coach-app-root .sp-fg{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--app-fg-subtle);padding:11px 8px 3px}
.coach-app-root .sp-fr{display:grid;grid-template-columns:104px minmax(0,1fr) 30px;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 8px;background:none;border:0;border-radius:6px;cursor:pointer;text-align:left}
.coach-app-root .sp-fr:hover:not(:disabled){background:var(--app-bg)}
.coach-app-root .sp-fr:disabled{cursor:default}
.coach-app-root .sp-fr .l{font-family:var(--font-cond);font-weight:800;font-size:14.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--app-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coach-app-root .sp-fr .tr{height:16px;display:flex;justify-content:center}
.coach-app-root .sp-fr .tr i{display:block;height:100%;background:var(--electric);border-radius:2px}
.coach-app-root .sp-fr.in .tr i{background:var(--iron)}
.coach-app-root .sp-fr.det .tr i{background:var(--rust)}
.coach-app-root .sp-fr .n{font-family:var(--font-cond);font-weight:900;font-size:19px;line-height:1;text-align:right;color:var(--app-fg)}
.coach-app-root .sp-fr.z .l,.coach-app-root .sp-fr.z .n{color:var(--app-fg-subtle)}
.coach-app-root .sp-fr.all{border-bottom:1px solid var(--app-border);border-radius:6px 6px 0 0;margin-bottom:2px}
.coach-app-root .sp-fstep{display:flex;align-items:stretch;gap:8px;margin-bottom:10px}
.coach-app-root .sp-fstep .nv{flex:0 0 44px;min-height:48px;display:grid;place-items:center;background:var(--app-surface);border:1px solid var(--app-border);border-radius:7px;color:var(--app-fg-muted);font-size:20px;cursor:pointer}
.coach-app-root .sp-fstep .nv:disabled{opacity:.35;cursor:default}
.coach-app-root .sp-fstep .cur{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:9px;background:var(--iron);border:0;border-radius:7px;color:#fff;padding:0 14px;cursor:pointer}
.coach-app-root .sp-fstep .cur .l{font-family:var(--font-cond);font-weight:800;font-size:16px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coach-app-root .sp-fstep .cur b{font-family:var(--font-cond);font-weight:900;font-size:21px;line-height:1}
.coach-app-root .sp-fstep .cur .all{margin-left:auto;flex:0 0 auto;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75)}
