/* Client home: week view, session logging and the status cards (js/client.js).
   soto-ops look, same tokens as account.css and the Nutrition tab (.nut2-* in styles.css). */
.mbc{
  --c-bg:#0a1428;--c-card:#111f3b;--c-card2:#162847;--c-ink:#eef2fa;--c-muted:#9aa7c0;--c-line:#1e2f52;--c-well:#0b1730;
  --c-grad:linear-gradient(135deg,#14b8a6,#3b82f6);--c-teal:#5eead4;--c-chip:rgba(20,184,166,.14);--c-link:#8fc1ff;--c-bad:#ef6b6b;
  --c-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.45);
  font-family:-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif;color:var(--c-ink);font-size:17px;line-height:1.45;
  text-align:left;-webkit-tap-highlight-color:transparent;
}
[data-theme="light"] .mbc{
  --c-bg:#faf7f0;--c-card:#ffffff;--c-card2:#f4f1e8;--c-ink:#14213d;--c-muted:#5d6577;--c-line:#e8e2d4;--c-well:#efeadf;
  --c-teal:#0d9488;--c-chip:rgba(13,148,136,.12);--c-link:#1d5fd1;--c-bad:#c0392b;
  --c-shadow:0 1px 2px rgba(20,33,61,.06),0 8px 24px rgba(20,33,61,.08);
}
.mbc *{box-sizing:border-box;}
.mbc button{font-family:inherit;}

/* ── Week view ── */
.mbc-card{background:var(--c-card2);border:1px solid var(--c-line);border-radius:20px;padding:16px;margin-bottom:6px;}
.mbc-wk{display:flex;align-items:baseline;gap:8px;}
.mbc-wk > span{color:var(--c-muted);font-weight:600;}
.mbc-wk > b{font-size:1.9rem;font-weight:800;line-height:1;}
.mbc-phase{margin-left:auto;align-self:center;max-width:55%;font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;background:var(--c-chip);color:var(--c-teal);text-align:center;line-height:1.25;}
.mbc-bar{height:8px;border-radius:6px;background:var(--c-well);margin:12px 0 6px;overflow:hidden;}
.mbc-bar i{display:block;height:100%;border-radius:6px;background:var(--c-grad);transition:width .4s ease;}
.mbc-sub{font-size:.88rem;color:var(--c-muted);}
.mbc-lbl{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);margin:16px 2px 8px;}
.mbc-ses{display:flex;align-items:center;gap:12px;width:100%;padding:14px;margin-bottom:10px;border:1px solid var(--c-line);border-radius:18px;
  background:var(--c-card2);color:var(--c-ink);text-align:left;cursor:pointer;touch-action:manipulation;}
.mbc-ses:active{transform:scale(.99);}
.mbc-num{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;background:var(--c-well);color:var(--c-link);}
.mbc-ses.done .mbc-num{background:var(--c-grad);color:#fff;font-size:1.15rem;}
.mbc-ses-m{flex:1;min-width:0;}
.mbc-ses-m b{display:block;font-size:1.02rem;font-weight:800;line-height:1.3;}
.mbc-ses-m span{display:block;font-size:.85rem;color:var(--c-muted);margin-top:2px;}
.mbc-chev{color:var(--c-muted);flex:none;}
.mbc-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-top:14px;border-radius:999px;background:var(--c-well);border:1px solid var(--c-line);}
.mbc-seg button{border:0;border-radius:999px;padding:10px 8px;background:none;color:var(--c-muted);font-size:.95rem;font-weight:700;cursor:pointer;}
.mbc-seg button[aria-checked="true"]{background:var(--c-grad);color:#fff;box-shadow:0 4px 14px rgba(20,184,166,.25);}
.mbc-fine{font-size:.85rem;color:var(--c-muted);margin:12px 2px 0;}
.mbc-status:empty{display:none;}

/* ── Session view ── */
.mbc-back{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--c-link);font-size:1rem;font-weight:600;padding:4px 0;margin-bottom:6px;cursor:pointer;}
.mbc-sh{margin:0 2px 12px;}
.mbc-sh b{display:block;font-size:1.45rem;font-weight:800;letter-spacing:-.01em;color:#27A9E0;}
[data-theme="light"] .mbc-sh b{color:#1d7fb0;}
.mbc-sh span{display:block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);}
.mbc-ex{background:var(--c-card2);border:1px solid var(--c-line);border-radius:20px;padding:14px;margin-bottom:12px;}
.mbc-exh{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
.mbc-exh b{font-size:1.05rem;font-weight:800;line-height:1.3;}
.mbc-tgt{font-size:.8rem;font-weight:800;padding:3px 10px;border-radius:999px;background:var(--c-chip);color:var(--c-teal);white-space:nowrap;flex:none;}
.mbc-test{display:inline-block;margin-top:6px;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--c-line);color:var(--c-link);}
.mbc-home{font-size:.88rem;font-weight:600;color:var(--c-link);margin:6px 0 0;}
.mbc-note{font-size:.88rem;color:var(--c-muted);margin:6px 0 10px;}
.mbc-hd, .mbc-set{display:grid;gap:8px;align-items:center;}
.mbc-hd.c1, .mbc-set.c1{grid-template-columns:28px 1fr;}
.mbc-hd.c2, .mbc-set.c2{grid-template-columns:28px 1fr 1fr;}
.mbc-hd{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);margin-bottom:6px;}
.mbc-hd span{text-align:center;}
.mbc-set{margin-bottom:8px;}
.mbc-set > span{color:var(--c-muted);font-size:.85rem;text-align:center;}
.mbc-set input{width:100%;min-width:0;height:46px;font-family:inherit;font-size:17px;font-weight:700;text-align:center;color:var(--c-ink);
  background:var(--c-well);border:1px solid var(--c-line);border-radius:12px;padding:0 8px;outline:none;-webkit-appearance:none;appearance:none;}
.mbc-set input::placeholder{color:var(--c-muted);opacity:.55;font-weight:500;}
.mbc-set input:focus{border-color:var(--c-teal);box-shadow:0 0 0 3px rgba(20,184,166,.18);}
.mbc-btn{width:100%;min-height:52px;margin-top:4px;border:0;border-radius:14px;background:var(--c-grad);color:#fff;font-size:17px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 18px rgba(20,184,166,.25);}
.mbc-btn:disabled{opacity:.6;cursor:default;}
.mbc-btn.busy{animation:mbc-pulse 1s ease-in-out infinite;}
.mbc-btn.ghost{background:var(--c-card2);color:var(--c-link);border:1px solid var(--c-line);box-shadow:none;margin-top:12px;}
.mbc-donebar{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:14px;background:var(--c-chip);color:var(--c-teal);font-weight:700;font-size:.95rem;padding:10px;text-align:center;}
@keyframes mbc-pulse{50%{opacity:.75;}}

/* ── Status cards (loading, error, no program, consent, block done) ── */
.mbc-msg{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;background:var(--c-card2);border:1px solid var(--c-line);border-radius:20px;padding:22px 16px;}
.mbc-msg > .ti{font-size:2rem;color:var(--c-teal);}
.mbc-msg b{font-size:1.1rem;font-weight:800;}
.mbc-msg p{margin:0;color:var(--c-muted);font-size:.95rem;}
.mbc-spin{width:28px;height:28px;border-radius:50%;border:3px solid var(--c-line);border-top-color:var(--c-teal);animation:mbc-spin .8s linear infinite;}
@keyframes mbc-spin{to{transform:rotate(360deg);}}
.mbc-off{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--c-muted);margin:0 2px 10px;}

@media (prefers-reduced-motion: reduce){
  .mbc-bar i{transition:none;}
  .mbc-btn.busy, .mbc-spin{animation:none;}
}

/* Daily check-in (Soto Ops clients) */
.mbc-ci{margin-bottom:12px;}
.mbc-ci-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;}
.mbc-ci-h b{font-size:1.05rem;}
.mbc-ci-h small{color:var(--c-muted);}
.mbc-ci.done .mbc-ci-h b i{color:var(--c-teal);}
.mbc-ci-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--c-line);}
.mbc-ci-l{display:flex;flex-direction:column;min-width:0;}
.mbc-ci-l small{color:var(--c-muted);font-size:.75rem;}
.mbc-ci-n{display:flex;gap:6px;flex:none;}
.mbc-ci-n button{width:38px;height:38px;border-radius:11px;border:1px solid var(--c-line);background:var(--c-well);color:var(--c-ink);font-weight:700;font-size:15px;cursor:pointer;}
.mbc-ci-n button[aria-checked="true"]{background:var(--c-grad);border-color:transparent;color:#fff;}
.mbc-ci-pl{display:flex;flex-direction:column;gap:6px;margin:10px 0 6px;}
.mbc-ci-pl span{font-weight:600;font-size:.9rem;}
.mbc-ci-pl input{min-height:46px;border-radius:12px;border:1px solid var(--c-line);background:var(--c-well);color:var(--c-ink);padding:0 12px;font-size:16px;}
.mbc-ci-p{margin:6px 0 0;}
.mbc-ci-p span{color:var(--c-muted);font-size:.8rem;margin-right:4px;}
.mbc-link{background:none;border:0;color:var(--c-link);font-weight:600;cursor:pointer;padding:4px;}
@media (max-width:360px){.mbc-ci-n button{width:32px;height:34px;}}
.mbc-ci-scale{margin:-4px 0 6px;}

/* Messages from Julian, notifications prompt, Book a call */
.mbc-msg-card{margin-bottom:12px;}
.mbc-msg-card.new{border-color:var(--c-teal);}
.mbc-msg-card .mbc-ci-h b i{color:var(--c-teal);}
.mbc-msg-body{margin:4px 0 0;line-height:1.5;}
.mbc-msg-body a{color:var(--c-link);word-break:break-all;}
.mbc-notif{margin-bottom:12px;}
.mbc-notif b i{color:var(--c-teal);margin-right:4px;}
.mbc-book{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;margin-top:12px;}
