.po-review-overlay[hidden]{display:none}
.po-review-overlay{position:fixed;inset:0;z-index:90;display:flex;
  align-items:center;justify-content:center;padding:12px;
  background:rgba(10,14,18,.68)}
.po-review-modal{display:flex;flex-direction:column;width:min(1280px,100%);
  height:min(920px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);
  min-height:0;overflow:hidden;border:1px solid var(--ob-hair,#aeb6a3);
  border-radius:14px;background:var(--ob-cream,#fbf7ea);
  box-shadow:0 24px 70px rgba(0,0,0,.45);color:var(--ob-ink,#1f2a22)}
.po-review-head{display:flex;align-items:flex-start;gap:14px;flex:0 0 auto;
  padding:16px 20px;border-bottom:1px solid var(--ob-hair,#aeb6a3)}
.po-review-head-main{min-width:0;flex:1 1 auto}
.po-review-title{margin:0;font-family:'Barlow Condensed',sans-serif;
  font-size:24px;text-transform:uppercase;letter-spacing:.05em}
.po-review-recipient{margin-top:3px;font-size:13px;color:var(--ob-dim,#56625a);
  overflow-wrap:anywhere}
.po-review-recipient[data-missing="true"]{color:var(--ob-red,#a40e26)}
.po-review-close{flex:0 0 auto;width:44px;height:44px;border-radius:8px;
  border:1px solid var(--ob-hair,#aeb6a3);background:transparent;
  color:inherit;font-size:22px;cursor:pointer}
.po-review-close:disabled{opacity:.5;cursor:not-allowed}
.po-review-mode{flex:0 0 auto;margin:12px 20px 0;padding:10px 13px;
  border:2px solid var(--ob-teal,#0e7d94);border-radius:9px;
  font-size:13px;font-weight:700;line-height:1.4}
.po-review-mode[data-mode="shadow"],
.po-review-mode[data-mode="dry_run"]{border-color:var(--ob-orange,#ad6b00);
  color:var(--ob-orange,#805000);background:rgba(173,107,0,.08)}
.po-review-mode[data-mode="off"]{border-color:var(--ob-red,#a40e26);
  color:var(--ob-red,#a40e26);background:rgba(164,14,38,.06)}
.po-review-document{flex:1 1 auto;min-height:0;overflow:auto;
  overscroll-behavior:contain;margin:12px 20px;padding:16px;
  border:1px solid var(--ob-hair,#d6d8cf);border-radius:9px;background:#fff;
  color:#24292f;scrollbar-gutter:stable}
.po-review-resolve[hidden]{display:none}
.po-review-resolve{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  flex:0 0 auto;margin:0 20px 10px;padding:10px 12px;
  border:1px dashed var(--ob-orange,#ad6b00);border-radius:9px;
  color:var(--ob-dim,#56625a);font-size:13px}
.po-review-resolve-message{flex:1 1 280px}
.po-review-status{flex:0 0 auto;min-height:20px;margin:0 20px 8px;
  color:var(--ob-dim,#56625a);font-size:13px;line-height:1.4}
.po-review-status[data-kind="error"]{color:var(--ob-red,#a40e26)}
.po-review-status[data-kind="ok"]{color:var(--ob-teal,#0e7d94)}
.po-review-actions{display:flex;align-items:center;justify-content:flex-end;
  gap:10px;flex:0 0 auto;flex-wrap:wrap;padding:12px 20px;
  border-top:1px solid var(--ob-hair,#aeb6a3)}
.po-review-actions button,.po-review-resolve button{min-height:44px;
  padding:9px 15px;border:1px solid var(--ob-teal,#0e7d94);
  border-radius:9px;background:transparent;color:var(--ob-teal,#0e7d94);
  font:700 14px 'Barlow Condensed',sans-serif;letter-spacing:.04em;
  cursor:pointer}
.po-review-actions button:disabled,.po-review-resolve button:disabled{
  opacity:.5;cursor:not-allowed}
/* A disabled Send test copy after a successful test is COMPLETE, not busy.
   Only show the wait cursor while the controller is genuinely awaiting a
   request; otherwise the permanent progress cursor makes a successful send
   look frozen forever. */
.po-review-overlay[aria-busy="true"] .po-review-close:disabled,
.po-review-overlay[aria-busy="true"] .po-review-actions button:disabled,
.po-review-overlay[aria-busy="true"] .po-review-resolve button:disabled{
  cursor:progress}
.po-review-send,.po-review-process{background:var(--ob-teal,#0e7d94)!important;
  color:var(--ob-cream,#fbf7ea)!important}
.po-review-manual{border-color:var(--ob-orange,#ad6b00)!important;
  color:var(--ob-orange,#805000)!important}
.po-review-process[hidden],.po-review-send[hidden]{display:none}

@media (max-width:699px){
  .po-review-overlay{padding:8px;align-items:stretch}
  .po-review-modal{width:100%;height:calc(100dvh - 16px);
    max-height:calc(100dvh - 16px);border-radius:11px}
  .po-review-head{padding:12px 14px}
  .po-review-title{font-size:21px}
  .po-review-mode{margin:8px 14px 0}
  .po-review-document{margin:8px 14px;padding:10px}
  .po-review-resolve{margin:0 14px 8px}
  .po-review-status{margin:0 14px 7px}
  .po-review-actions{display:grid;grid-template-columns:1fr;padding:10px 14px}
  .po-review-actions button{width:100%;min-height:44px}
  .po-review-resolve button{flex:1 1 140px;min-height:44px}
}
