/* ===========================================================
   MAX3 Momentum OS — in-context editors (Settings migration C3)
   Shared styles for editors that moved out of Settings onto their
   consuming surfaces. m3 tokens; self-contained — Settings' set-*
   classes are .settings-scoped and can't be reused here.
   =========================================================== */

/* ---------- modal shell ---------- */
.ix-scrim{position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.65)}
.ix-modal{position:fixed;z-index:151;top:50%;left:50%;transform:translate(-50%,-50%);width:432px;max-width:94vw;
  max-height:88vh;overflow:auto;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;
  box-shadow:0 28px 70px rgba(0,0,0,.55);font-family:var(--ff);color:var(--m3-text);display:flex;flex-direction:column}
.ix-h{display:flex;align-items:flex-start;gap:10px;padding:15px 18px;border-bottom:1px solid var(--m3-line)}
.ix-t{font-size:15px;font-weight:800;letter-spacing:-.2px}
.ix-s{font-size:11px;color:var(--m3-text-3);font-weight:600;margin-top:2px;text-wrap:pretty}
.ix-x{margin-left:auto;border:0;background:none;color:var(--m3-text-3);font-size:15px;cursor:pointer;padding:2px 4px;flex:0 0 auto}
.ix-x:hover{color:var(--m3-text)}
.ix-b{padding:15px 18px;display:flex;flex-direction:column;gap:13px}
.ix-f{padding:12px 18px;border-top:1px solid var(--m3-line);display:flex;align-items:center;gap:10px}

/* ---------- field kit ---------- */
.ix-lab{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--m3-text-3);display:block;margin-bottom:6px}
.ix-input{background:var(--m3-surface-2);border:1px solid var(--m3-line);border-radius:7px;color:var(--m3-text);
  font-size:13px;font-weight:600;padding:7px 10px;outline:none;font-family:var(--ff)}
.ix-input:focus{border-color:var(--m3-gray)}
.ix-input.mono{font-family:var(--mono)}
.ix-input.err{border-color:rgba(204,34,34,.55)}
.ix-money{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-weight:800;font-size:15px;color:var(--m3-text)}
.ix-money input{background:var(--m3-surface-2);border:1px solid var(--m3-line);border-radius:7px;color:var(--m3-text);
  font-family:var(--mono);font-weight:800;font-size:15px;width:72px;padding:6px 8px;outline:none}
.ix-money input:focus{border-color:var(--m3-gray)}
.ix-money small{font-size:11px;color:var(--m3-text-3);font-weight:700}
.ix-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ix-note{font-size:11px;font-weight:600;color:var(--m3-text-3);line-height:1.55;text-wrap:pretty}
.ix-note b{color:var(--m3-text-2)}
.ix-rolechip{flex:0 0 auto;font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-lime);
  background:var(--m3-lime-wash);border:1px solid rgba(170,221,68,.4);border-radius:5px;padding:2px 6px;align-self:center}
.ix-link{border:0;background:none;color:var(--m3-blue);font-size:11.5px;font-weight:700;cursor:pointer;padding:0;font-family:var(--ff);text-align:left}
.ix-link:hover{text-decoration:underline}
.ix-btn{height:30px;padding:0 13px;border-radius:7px;border:1px solid var(--m3-line);background:transparent;
  color:var(--m3-text-2);font-size:12px;font-weight:700;cursor:pointer;font-family:var(--ff)}
.ix-btn:hover{border-color:var(--m3-gray);color:var(--m3-text)}
.ix-btn:disabled{opacity:.45;cursor:not-allowed}
.ix-btn.primary{background:var(--m3-lime);border-color:var(--m3-lime);color:#10130a}
.ix-btn.primary:hover{filter:brightness(1.08);color:#10130a}
.ix-tg{position:relative;flex:0 0 auto;width:34px;height:19px;border-radius:10px;border:1px solid var(--m3-line);
  background:var(--m3-surface-3);cursor:pointer;transition:.12s;padding:0}
.ix-tg::after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--m3-text-3);transition:.12s}
.ix-tg.on{background:var(--m3-lime-wash);border-color:rgba(170,221,68,.5)}
.ix-tg.on::after{left:17px;background:var(--m3-lime)}
.ix-chip{height:26px;padding:0 10px;border-radius:7px;border:1px solid var(--m3-line);background:var(--m3-surface-3);
  color:var(--m3-text-3);font-size:11px;font-weight:700;cursor:pointer;font-family:var(--ff)}
.ix-chip:hover{border-color:var(--m3-gray)}
.ix-chip.on{color:var(--m3-lime);border-color:rgba(170,221,68,.5);background:var(--m3-lime-wash)}
.ix-radio{display:inline-flex;border:1px solid var(--m3-line);border-radius:7px;overflow:hidden}
.ix-radio button{border:0;background:none;color:var(--m3-text-3);font-size:11px;font-weight:700;padding:6px 10px;cursor:pointer;font-family:var(--ff)}
.ix-radio button.on{background:var(--m3-surface-3);color:var(--m3-text)}
.ix-fold{border:1px solid var(--m3-line);border-radius:9px;background:var(--m3-surface-2)}
.ix-fold-h{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:0;background:none;color:var(--m3-text-2);
  font-size:11.5px;font-weight:800;cursor:pointer;font-family:var(--ff)}
.ix-fold-h .car{transition:.12s;font-size:8px;color:var(--m3-text-3)}
.ix-fold.open .ix-fold-h .car{transform:rotate(90deg)}
.ix-fold-b{padding:4px 12px 11px;display:flex;flex-direction:column;gap:7px}
.ix-schedrow{display:flex;align-items:center;gap:8px}
.ix-rm{width:24px;height:24px;border-radius:6px;border:1px solid var(--m3-line);background:none;color:var(--m3-text-3);
  cursor:pointer;font-size:10px;flex:0 0 auto}
.ix-rm:hover{color:var(--m3-red);border-color:rgba(204,34,34,.4)}
.ix-addmini{display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--m3-line);background:none;border-radius:7px;
  padding:5px 10px;color:var(--m3-text-3);font-size:11px;font-weight:700;cursor:pointer;font-family:var(--ff);align-self:flex-start}
.ix-addmini:hover{color:var(--m3-text);border-color:var(--m3-gray)}

/* ---------- Retail ▸ Coupons tab ---------- */
.ix-cpn-wrap{padding:16px 18px 24px;display:flex;flex-direction:column;gap:12px;max-width:1020px}
.ix-cpn-head{display:flex;align-items:center;gap:10px}
.ix-cpn-title{font-size:16px;font-weight:800;letter-spacing:-.2px}
.ix-table{border:1px solid var(--m3-line);border-radius:10px;overflow:hidden;background:var(--m3-surface)}
.ix-tr{display:grid;grid-template-columns:150px 90px 140px 130px 110px 1fr;gap:10px;align-items:center;
  padding:9px 14px;border-top:1px solid var(--m3-line-2);font-size:12px;font-weight:600;color:var(--m3-text-2)}
.ix-tr:first-child{border-top:0}
.ix-tr.head{background:var(--m3-surface-2);font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-text-3)}
.ix-tr.off{opacity:.5}
.ix-tr.off .ix-code{text-decoration:line-through}
.ix-code{font-family:var(--mono);font-weight:800;color:var(--m3-text);letter-spacing:.3px}
.ix-tr .acts{display:flex;justify-content:flex-end;gap:8px;align-items:center}

/* ---------- consuming-surface affordances ---------- */
/* family billing: pencil on the rate cell */
.famrec .ix-rate-edit{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;width:21px;height:21px;
  border-radius:6px;border:1px solid var(--m3-line);background:none;color:var(--m3-text-3);font-size:10.5px;cursor:pointer;
  vertical-align:2px;transition:.1s}
.famrec .ix-rate-edit:hover{color:var(--m3-text);border-color:var(--m3-gray)}
/* enroll modal: pricing line under the membership tiles */
.leads .ix-pricing-line{display:flex;align-items:center;gap:8px;margin-top:7px}
/* roster header: customize-columns button (roster.css vars) */
.roster .colbtn{background:none;border:1px solid var(--line);color:var(--t2);border-radius:9px;height:36px;padding:0 12px;
  font-family:var(--ff);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.roster .colbtn:hover{color:var(--text);border-color:var(--t3)}

/* ---------- Group D: dashboard customize + run-sheet editor ---------- */
.dash .cols.solo{grid-template-columns:1fr}
.ix-updown{display:inline-flex;gap:4px}
.ix-updown button{width:22px;height:22px;border-radius:6px;border:1px solid var(--m3-line);background:none;color:var(--m3-text-3);
  cursor:pointer;font-size:8.5px;padding:0}
.ix-updown button:hover{color:var(--m3-text);border-color:var(--m3-gray)}
.ix-updown button:disabled{opacity:.35;cursor:default}
.ix-anchor{font-size:10.5px;font-weight:600;color:var(--m3-text-3);border:1px dashed var(--m3-line);border-radius:8px;
  padding:7px 10px;line-height:1.5;text-wrap:pretty}

/* ---------- Prompt B 2g — coupon specific-item targeting ---------- */
.ix-pickbox{border:1px solid var(--m3-line);border-radius:8px;background:var(--m3-surface-2);padding:8px 9px;margin-top:7px}
.ix-pickbox + .ix-pickbox{margin-top:8px}
.ix-pick-h{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-text-3);margin-bottom:7px}
.ix-pick-list{display:flex;flex-wrap:wrap;gap:6px;max-height:118px;overflow:auto}
.ix-chip.stale{border-style:dashed;color:var(--m3-amber);border-color:rgba(245,166,35,.45);background:rgba(245,166,35,.07)}
.ix-noelig{font-style:normal;display:inline-block;margin-left:7px;font-size:9px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;
  color:var(--m3-amber);border:1px dashed rgba(245,166,35,.5);border-radius:4px;padding:0 5px;vertical-align:1px}

/* ---------- Pass 4 (Prompt C) — in-context configure gears ---------- */
.ix-gear{width:28px;height:28px;border-radius:7px;border:1px solid var(--m3-line);background:transparent;color:var(--m3-text-3);
  font-size:13px;cursor:pointer;flex:0 0 auto;transition:.1s;padding:0;line-height:1}
.ix-gear:hover{color:var(--m3-text);border-color:var(--m3-gray)}
.ix-gearwrap{position:relative;display:inline-flex}
.ix-gearscrim{position:fixed;inset:0;z-index:88}
.ix-gearmenu{position:absolute;top:calc(100% + 6px);right:0;z-index:89;min-width:215px;display:flex;flex-direction:column;
  background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:9px;box-shadow:0 16px 44px rgba(0,0,0,.5);padding:4px}
.ix-gearmenu button{border:0;background:none;color:var(--m3-text-2);font-family:var(--ff);font-size:11.5px;font-weight:600;
  padding:7px 10px;border-radius:6px;cursor:pointer;text-align:left;white-space:nowrap}
.ix-gearmenu button:hover{background:var(--m3-surface-2);color:var(--m3-text)}
