/* Coach Max — premium macro accordion for manual meal construction */
.cm-macro-accordion-stack{display:grid;gap:10px;margin-top:2px}
.cm-macro-accordion{border:1px solid #dedfe2;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(0,0,0,.055);transition:border-color .18s,box-shadow .18s,transform .18s}
.cm-macro-accordion.active{border-color:#d9cc00;box-shadow:0 10px 24px rgba(0,0,0,.075),0 0 0 3px rgba(250,239,35,.12)}
.cm-macro-accordion.done:not(.active){background:#fffef4}
.cm-macro-accordion.locked{background:#f8f8f7;box-shadow:none}
.cm-macro-accordion-head{width:100%;min-height:76px;border:0;background:transparent;padding:12px 14px;display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:12px;align-items:center;text-align:left;color:#17191d;cursor:pointer}
.cm-macro-accordion-head:disabled{cursor:default;color:#8a8e93}
.cm-macro-accordion-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#17191d;color:#FAEF23;font-size:17px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.cm-macro-accordion.locked .cm-macro-accordion-icon{background:#ececea;color:#9a9da1;box-shadow:none}
.cm-macro-accordion.done .cm-macro-accordion-icon{background:#FAEF23;color:#17191d}
.cm-macro-accordion-copy{min-width:0}
.cm-macro-accordion-copy strong{display:block;font-size:14px;line-height:1.15;font-weight:900;letter-spacing:-.015em}
.cm-macro-accordion-copy small{display:block;margin-top:5px;color:#757a80;font-size:10px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-macro-accordion.done .cm-macro-accordion-copy small{color:#3e4247;font-weight:700}
.cm-macro-accordion-status{justify-self:end;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;border:1.5px solid #b8bbc0;color:#8d9196;font-size:14px;font-weight:900;transition:.18s}
.cm-macro-accordion.active .cm-macro-accordion-status{transform:rotate(180deg);border-color:#d5c900;color:#17191d;background:#fffde5}
.cm-macro-accordion.done .cm-macro-accordion-status{transform:none;background:#FAEF23;border-color:#FAEF23;color:#17191d;font-size:12px}
.cm-macro-accordion-body{padding:14px;border-top:1px solid #ececee;background:linear-gradient(180deg,#fffef8,#fff)}
.cm-manual-source-toolbar{margin-bottom:10px}.cm-manual-source-toolbar strong{display:block;font-size:11px;font-weight:900;color:#24272b}.cm-manual-source-toolbar small{display:block;margin-top:3px;color:#81858b;font-size:8.5px}
.cm-manual-source-list{display:grid;gap:8px}
.cm-manual-source-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 28px;gap:8px;align-items:end;padding:9px;border:1px solid #e4e5e7;border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.035)}
.cm-manual-source-main{display:grid;grid-template-columns:26px minmax(0,1fr);gap:7px;align-items:center;min-width:0}
.cm-manual-source-number{width:26px;height:26px;border-radius:8px;background:#17191d;color:#FAEF23;display:grid;place-items:center;font-size:9px;font-weight:900}
.cm-macro-food-select{height:44px;border-radius:11px;background-color:#fff;font-size:10px;font-weight:800;padding-left:10px;padding-right:30px;background-position:calc(100% - 15px) 18px,calc(100% - 10px) 18px}
.cm-manual-pct>span{display:block;margin:0 0 4px 2px;color:#73777d;font-size:7.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.cm-manual-pct>div{height:44px;border:1px solid #dfe0e2;border-radius:11px;display:grid;grid-template-columns:1fr 20px;align-items:center;background:#fff;overflow:hidden}
.cm-manual-pct input{width:100%;height:100%;border:0;outline:0;background:transparent;text-align:right;padding:0 3px 0 5px;font-size:11px;font-weight:900;color:#17191d}
.cm-manual-pct em{font-style:normal;color:#73777d;font-size:9px;font-weight:900}
.cm-manual-remove{width:28px;height:28px;border:0;border-radius:9px;background:#f0f1f2;color:#676b70;font-size:18px;line-height:1;cursor:pointer;margin-bottom:8px}.cm-manual-remove:hover{background:#17191d;color:#FAEF23}.cm-manual-remove-spacer{width:28px}
.cm-manual-add{width:100%;height:40px;margin-top:9px;border:1px dashed #c9bd00;border-radius:11px;background:#fffef0;color:#272a2d;font-size:9.5px;font-weight:900;cursor:pointer}.cm-manual-add span{color:#9a9000;font-size:15px;margin-right:4px}.cm-manual-add:hover{background:#fffbd0}
.cm-manual-max{text-align:center;margin-top:8px;color:#909399;font-size:8px;font-weight:700}
.cm-manual-total{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;margin-top:10px;padding:9px 10px;border-radius:11px;background:#17191d;color:#fff}.cm-manual-total span{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#cfd1d4}.cm-manual-total strong{font-size:12px;color:#FAEF23}.cm-manual-total small{grid-column:1/3;font-size:7.5px;color:#9fa3a8;line-height:1.3}
.cm-manual-continue{width:100%;height:43px;margin-top:10px;border:0;border-radius:22px;background:linear-gradient(180deg,#fff34a,#e7da00);color:#17191d;font-size:10.5px;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(250,239,35,.2)}.cm-manual-continue span{margin-left:6px;font-size:14px}
@media(max-width:520px){
  .cm-macro-accordion-head{min-height:72px;padding:11px 12px;grid-template-columns:44px minmax(0,1fr) 26px;gap:10px}
  .cm-macro-accordion-icon{width:42px;height:42px;border-radius:13px;font-size:16px}
  .cm-macro-accordion-copy strong{font-size:13px}
  .cm-macro-accordion-body{padding:12px}
  .cm-manual-source-row{grid-template-columns:minmax(0,1fr) 68px 26px;gap:6px;padding:8px}
  .cm-manual-source-main{grid-template-columns:23px minmax(0,1fr);gap:6px}.cm-manual-source-number{width:23px;height:23px;font-size:8px}
  .cm-macro-food-select{font-size:9.5px;padding-left:8px}.cm-manual-pct input{font-size:10px}.cm-manual-remove{width:26px;height:26px;margin-bottom:9px}
}
