/* ═══════════════════════════════════════════════════════════
   OpAgent Inside — Admin module (back-office worklist)
   ═══════════════════════════════════════════════════════════ */

function WorklistRow({ r, onStage }){
  return (
    <div className="wl-row">
      <div className="wr-main">
        <div className="wr-play" dangerouslySetInnerHTML={{__html:r.play}}/>
        {r.detail && <div className="a-detail" style={{marginTop:5}}>{r.detail}</div>}
        <div className="wr-meta">
          <EngineChip name={r.engine}/>
          <OwnerChip name={r.owner}/>
          {r.payer && <PayerChip name={r.payer}/>}
          {r.clock && <ClockChip when={r.clock} urgent={r.urgent}/>}
        </div>
      </div>
      <div className="wr-side">
        {r.dollar && <Dollar amount={r.dollar} sm/>}
        <DeepLink onStage={()=>onStage(r)}/>
      </div>
    </div>
  );
}

function Worklist({ wl, onStage }){
  return (
    <div className="wl">
      <div className="wl-head">
        <span className="wl-ic">{wl.icon}</span>
        <div>
          <div className="wl-name">{wl.name}</div>
          <div className="wl-sub">{wl.sub}</div>
        </div>
        <div className="wl-count">
          {wl.total && wl.total!=="—" && <span className="wl-total">{wl.total}</span>}
          <span className="wl-n">{wl.n}</span>
        </div>
      </div>
      {wl.rows.map((r,i)=><WorklistRow key={i} r={r} onStage={onStage}/>)}
    </div>
  );
}

function AdminCards({ onStage }){
  const A = window.DEMO.admin;
  return (
    <div className="screen">
      <div className="tiles">
        {A.tiles.map((t,i)=><Tile key={i} {...t}/>)}
      </div>

      <SHead title="Worklists" count="prospective · catches failures before submission"/>
      {A.worklists.map((wl,i)=><Worklist key={i} wl={wl} onStage={onStage}/>)}

      <div className="foot-note">
        AuthCheck flags PA-required per scheduled CPT × payer and surfaces big-ticket procedures with no auth on file. Eligibility re-verification catches the invalid-member-ID class <b>before</b> submission — preventing a front-end rejection, not a denial.
      </div>
    </div>
  );
}

Object.assign(window, { AdminCards });
