/* PriorAuth Sentinel · center layout only.
   Reuses every token, header, chip, panel, badge, table, ledger and footer
   style from app-base.css. This file adds ONLY the three-column decisioning
   layout, the criteria checklist, the black-box-vs-governed A/B split, the
   chart-highlight, and the appeal-packet view. No palette is redefined. */

.layout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr) 320px;
  gap:22px;
  margin-top:26px;
  align-items:start;
}

/* ---- LEFT : request picker ---- */
.pick-body{padding:10px}
.picklist{display:flex;flex-direction:column;gap:6px;max-height:560px;overflow-y:auto}
.pick{
  display:block;width:100%;text-align:left;cursor:pointer;
  border:1px solid var(--line);border-radius:7px;background:var(--surface);
  padding:9px 12px;font-family:var(--sans);color:var(--ink);
}
.pick:hover{border-color:var(--accent)}
.pick[aria-current="true"]{border-color:var(--accent);background:#F4F7FE}
.pick .pid{font-family:var(--mono);font-size:11px;color:var(--cap)}
.pick .pproc{font-size:13px;font-weight:600;margin-top:2px;letter-spacing:-.01em}
.pick .pmeta{display:flex;align-items:center;gap:7px;margin-top:7px}
.pick .flag{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--review);background:var(--rev-bg);border-radius:30px;padding:2px 8px}

/* ---- CENTER : mode bar (A/B toggle) ---- */
.modebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:11px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.modelbl{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--cap)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.seg button{font-family:var(--sans);font-size:13px;font-weight:500;padding:7px 14px;border:none;background:var(--surface);color:var(--body2);cursor:pointer}
.seg button + button{border-left:1px solid var(--line)}
.seg button.seg-on{background:var(--ink);color:#fff}
.modehint{font-family:var(--mono);font-size:11px;color:var(--cap)}

/* ---- the determination card ---- */
.det{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.det .dhead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line2)}
.det .dhead .dt{font-size:11px;font-family:var(--mono);color:var(--cap)}
.det .dhead h2{margin:3px 0 0;font-size:18px;font-weight:600;letter-spacing:-.015em}
.det .dhead .dpatient{font-family:var(--mono);font-size:11px;color:var(--cap);margin-top:3px}

/* big disposition stamp */
.stamp{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:13px;font-weight:600;padding:8px 14px;border-radius:8px;white-space:nowrap}
.stamp .ic{font-size:14px}
.stamp.approve{background:var(--allow-bg);color:var(--ok);border:1px solid #CDE6D7}
.stamp.deny{background:var(--block-bg);color:var(--danger);border:1px solid #E5C9C5}
.stamp.route{background:var(--rev-bg);color:var(--review);border:1px solid #D6CFF0}
.stamp.blackbox{background:#1B1D22;color:#fff;border:1px solid #1B1D22}

/* the reason line (CMS specific-reason / abstain / approve) */
.reasonbar{padding:14px 18px;font-size:14px;line-height:1.55;border-bottom:1px solid var(--line2)}
.reasonbar.deny{background:#FCF4F3}
.reasonbar.route{background:#F8F6FD}
.reasonbar.approve{background:#F4FAF6}
.reasonbar.blackbox{background:#16181D;color:#E7E8EA}
.reasonbar .rl{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--cap);display:block;margin-bottom:5px}
.reasonbar.blackbox .rl{color:#9A9DA4}
.reasonbar b{color:inherit}
.reasonbar .cite{font-family:var(--mono);font-size:12px}

/* criteria checklist */
.dbody{padding:8px 18px 18px}
.crit-h{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--cap);margin:12px 0 8px}
.crit{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:start;padding:11px 0;border-top:1px solid var(--line2)}
.crit:first-of-type{border-top:none}
.crit .cmark{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;margin-top:1px}
.crit .cmark.met{background:var(--allow-bg);color:var(--ok)}
.crit .cmark.unmet{background:var(--block-bg);color:var(--danger)}
.crit .cmark.unknown{background:var(--esc-bg);color:var(--warn)}
.crit .ctext{font-size:13.5px;color:var(--body2)}
.crit .ctype{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--cap);margin-top:3px}
.crit .cevidence{font-size:12px;color:var(--body);margin-top:6px;padding:7px 10px;border-radius:5px;background:var(--wash);border:1px solid var(--line2);font-family:var(--mono)}
.crit .cevidence .hl{background:#FFF1C2;border-radius:2px;padding:0 2px;color:var(--ink);font-weight:600}
.crit .cevidence.abst{color:var(--warn);background:var(--esc-bg);border-color:#E9D9B8}
.crit .cstat{font-family:var(--mono);font-size:10px;align-self:start}

/* the source chart, with the cited line highlighted */
.chartnote{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}
.chartnote .cnh{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--cap);padding:9px 14px;border-bottom:1px solid var(--line2);background:#FCFCFB}
.chartnote .cnb{padding:12px 14px;font-size:13px;line-height:1.7;color:var(--body2)}
.chartnote .cnb mark{background:#FFF1C2;color:var(--ink);padding:1px 3px;border-radius:2px;font-weight:600}
.chartnote .cnb mark.neg{background:#FBDAD6;color:var(--danger)}

/* HITL action row */
.actionrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--line2);background:#FCFCFB}
.actionrow .ahint{font-family:var(--mono);font-size:11px;color:var(--cap)}
.assigned{font-family:var(--mono);font-size:11.5px;color:var(--review)}
.assigned b{color:var(--ink)}

/* black-box vs governed side-by-side */
.ab{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ab .abcol{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.ab .abcol.black{border-color:#2A2D33}
.ab .abh{padding:11px 15px;border-bottom:1px solid var(--line2);font-size:13px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:8px}
.ab .abcol.black .abh{background:#1B1D22;color:#fff;border-bottom-color:#2A2D33}
.ab .abh .tag{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:30px}
.ab .abh .tag.op{background:#33363D;color:#C7C9CE}
.ab .abh .tag.gv{background:var(--allow-bg);color:var(--ok)}
.ab .abbody{padding:15px}
.bbscore{font-family:var(--mono);font-size:40px;font-weight:600;color:#fff;letter-spacing:-.02em}
.bbscore .u{font-size:13px;color:#9A9DA4;font-weight:400}
.bbline{font-size:12.5px;color:#C7C9CE;margin-top:8px;line-height:1.5}
.bbno{margin-top:12px;font-family:var(--mono);font-size:10.5px;color:#E0726A;line-height:1.5}
.abverdict{font-size:12.5px;color:var(--body2);margin-top:10px;line-height:1.5}

/* appeal packet */
.appeal{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden;margin-top:2px}
.appeal .aph{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line2)}
.appeal .aph h2{margin:0;font-size:16px;font-weight:600}
.appeal pre{margin:0;padding:16px 18px;font-family:var(--mono);font-size:11.5px;line-height:1.75;color:var(--body2);white-space:pre-wrap;word-break:break-word;background:var(--surface)}
.appeal pre .ok{color:var(--ok)} .appeal pre .bad{color:var(--danger)} .appeal pre .warn{color:var(--warn)} .appeal pre .k{color:var(--ink);font-weight:600}

/* ---- RIGHT : ruleset box under ledger ---- */
.rulebox{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:13px 15px}
.rulebox .rk{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--cap)}
.rulebox .rv{font-size:12px;color:var(--ink);margin-top:5px}
.rulebox .rd{font-size:11px;color:var(--body);margin-top:8px;line-height:1.5}

.ledger .row .disp{font-weight:600}
.ledger .row .disp.approve{color:var(--ok)}
.ledger .row .disp.deny{color:var(--danger)}
.ledger .row .disp.route{color:var(--review)}

.empty{padding:40px 24px;text-align:center;color:var(--cap);font-size:14px;border:1px dashed var(--line);border-radius:10px;background:var(--surface)}

@media(max-width:1080px){
  .layout{grid-template-columns:1fr}
  .col-ledger{order:3}
  .picklist{max-height:none}
  .ab{grid-template-columns:1fr}
}
