/* ============================================================
   FatLossOperator™ — workout builder
   ============================================================ */
.b-head{margin:6px 0 22px}
.b-head h1{font-size:clamp(28px,4.4vw,42px);margin-top:12px}

.b-clientbar{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.b-clientbar .lab{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-2);margin-bottom:8px}
.b-clientbar select{
  background:var(--deep);border:1px solid var(--line);color:var(--cream);
  font-family:var(--font-mono);font-size:15px;padding:12px 14px;min-width:280px;
  appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--bronze) 50%),linear-gradient(135deg,var(--bronze) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px;
}
.b-clientbar select:focus{outline:0;border-color:var(--bronze)}

.b-newprog{border:1px solid var(--line);background:var(--deep);padding:26px}
.b-newprog p{color:var(--ink-dim);margin-bottom:16px}
.b-inline{display:flex;gap:12px;flex-wrap:wrap}
.b-inline input{flex:1;min-width:240px;background:var(--bg);border:1px solid var(--line);color:var(--cream);font-family:var(--font-body);font-size:15px;padding:12px 14px}
.b-inline input:focus{outline:0;border-color:var(--bronze)}

.b-daytabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.b-daytab{
  background:transparent;border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;transition:all .18s;
}
.b-daytab.on{background:var(--bronze);color:var(--deep);border-color:var(--bronze);font-weight:600}
.b-daytab:hover:not(.on){border-color:var(--bronze);color:var(--cream)}
.b-daytab.add{color:var(--bronze)}

.b-dayedit{border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--bg));padding:22px}
.b-dayrow{display:flex;gap:12px;align-items:center;margin-bottom:20px}
.b-daylabel{flex:1;background:var(--deep);border:1px solid var(--line);color:var(--cream);font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:.02em;padding:11px 14px}
.b-daylabel:focus{outline:0;border-color:var(--bronze)}
.b-delday{white-space:nowrap;color:#E0A98C;border-color:rgba(201,123,90,.4)}
.b-delday:hover{border-color:#C97B5A;color:#E0A98C}

.b-exhead,.b-ex{display:grid;grid-template-columns:30px 56px 1fr 70px 90px 1fr 34px;gap:10px;align-items:center}
.b-exhead{padding:0 0 10px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.b-exhead span:first-child{grid-column:1/4}
.b-move{display:flex;flex-direction:column;gap:2px}
.b-move button{background:transparent;border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;font-size:8px;line-height:1;padding:3px 0;width:22px;transition:all .15s}
.b-move button:hover:not(:disabled){border-color:var(--bronze);color:var(--bronze)}
.b-move button:disabled{opacity:.25;cursor:default}
.b-ex{padding:12px 0;border-bottom:1px solid var(--line-soft)}
.b-ex-demo{width:52px;height:52px;border:1px solid var(--line);overflow:hidden;background:var(--deep);display:flex;align-items:center;justify-content:center}
.b-ex-demo img{width:100%;height:100%;object-fit:cover}
.b-ex-demo .noimg{font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase;text-align:center}
.b-ex-name{font-size:15px;color:var(--cream)}
.b-ex input{background:var(--deep);border:1px solid var(--line);color:var(--cream);font-family:var(--font-mono);font-size:14px;padding:9px;width:100%}
.b-ex input:focus{outline:0;border-color:var(--bronze)}
.b-sets,.b-reps{text-align:center}
.b-del{background:transparent;border:0;color:var(--ink-faint);font-size:22px;cursor:pointer;line-height:1;transition:color .2s}
.b-del:hover{color:#E0A98C}
@media(max-width:640px){
  .b-exhead{display:none}
  .b-ex{grid-template-columns:30px 52px 1fr 34px;gap:8px}
  .b-ex-name{grid-column:3}
  .b-ex .b-sets,.b-ex .b-reps,.b-ex .b-notes{grid-column:3}
}

.b-saved{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);opacity:0;transition:opacity .2s;margin-top:12px;height:14px}
.b-saved.on{opacity:1}

/* ---------- library modal ---------- */
.modal{position:fixed;inset:0;background:rgba(10,11,5,.86);z-index:300;display:flex;align-items:center;justify-content:center;padding:24px}
.modal[hidden]{display:none}
.modal-card{width:100%;max-width:620px;max-height:86vh;overflow:auto;border:1px solid var(--line);background:var(--bg)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg)}
.modal-head h3{font-size:20px}
.modal-x{background:transparent;border:0;color:var(--ink-dim);font-size:28px;line-height:1;cursor:pointer}
.modal-x:hover{color:var(--cream)}
.modal-body{padding:22px 24px}

.lib-new{border:1px solid var(--bronze);background:rgba(196,174,137,.05);padding:18px;margin-bottom:22px}
.lib-new-head{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);margin-bottom:12px}
.lib-new input[type=text]{width:100%;background:var(--deep);border:1px solid var(--line);color:var(--cream);font-family:var(--font-body);font-size:14.5px;padding:11px;margin-bottom:10px}
.lib-new input:focus{outline:0;border-color:var(--bronze)}
.lib-file{display:block;border:1px dashed var(--line);padding:12px;text-align:center;cursor:pointer;margin-bottom:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--ink-dim);text-transform:uppercase}
.lib-file:hover{border-color:var(--bronze);color:var(--cream)}
.lib-new .btn{width:100%;justify-content:center;padding:13px}

.lib-list{display:grid;gap:8px}
.lib-row{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line-soft)}
.lib-demo{width:44px;height:44px;border:1px solid var(--line);overflow:hidden;background:var(--deep);display:flex;align-items:center;justify-content:center}
.lib-demo img{width:100%;height:100%;object-fit:cover}
.lib-demo span{color:var(--ink-faint);font-size:12px}
.lib-info b{display:block;font-size:14.5px;color:var(--cream)}
.lib-info span{font-size:12.5px;color:var(--ink-dim)}

/* program bar + duplicate */
.b-progbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
.b-progname{font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:.02em;color:var(--bronze);font-weight:600}

/* auto-fill preview in the new-exercise form */
.nx-auto{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 10px}
.nx-ok{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze);background:rgba(196,174,137,.10);border:1px solid rgba(196,174,137,.3);padding:4px 9px}
.nx-prev{width:44px;height:44px;object-fit:cover;border:1px solid var(--bronze)}

/* imported-field display in builder rows */
.b-ex-rx{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--ink-faint);margin-top:3px}
.b-ex-rx span{margin-right:10px}
.b-blocktag{font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-2);border:1px solid var(--line);padding:2px 6px;align-self:center}

/* client settings panel */
.b-clientset{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-end;padding:20px;margin-bottom:24px;border:1px solid var(--line);background:var(--deep)}
.b-clientset .cs-field{flex:1;min-width:220px}
.b-clientset input,.b-clientset select{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--cream);font-family:var(--font-body);font-size:15px;padding:11px 12px;margin-top:6px}
.b-clientset select{font-family:var(--font-mono);font-size:13px}
.b-clientset input:focus,.b-clientset select:focus{outline:0;border-color:var(--bronze)}
.cs-saved{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);align-self:center}

/* bulk add box in the library modal */
.lib-bulk{border:1px solid var(--bronze);background:rgba(196,174,137,.06);padding:18px;margin-bottom:16px}
.lib-bulk-note{font-size:13px;color:var(--ink-dim);margin:6px 0 12px;line-height:1.5}
.lib-bulk-btn{margin-bottom:0}

/* week folders (2026-10-20) */
.b-weeks{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.b-week{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink-dim);cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;min-height:44px}
.b-week small{font-size:10.5px;letter-spacing:.04em;text-transform:none;opacity:.75}
.b-week svg{flex:0 0 auto}
.b-week.on{border-color:var(--bronze);color:var(--cream);background:rgba(196,174,137,.10)}
.b-week.on svg{color:var(--bronze)}
.b-week:hover:not(.on){border-color:var(--bronze)}
.b-week.add{color:var(--bronze);border-style:dashed;background:transparent}
.b-weekact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line-soft);font-size:13.5px;color:var(--ink-dim)}
.b-weekact span{margin-right:auto}
.b-weekact .btn:disabled{opacity:.4;cursor:not-allowed}
.b-movewk{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px;color:var(--ink-dim)}
.b-movewk select{min-height:38px;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:0 8px;font:13px var(--font-mono)}
