/* widgets/ops-outbox — durable-send banner + on-card auth panel (Craig 7/28 defect: a note typed
   to Alfred landed nowhere). Same amber palette as .bridge-down (Craig 7/27, 8:27a) — a queued
   send and an unreachable bridge are the same family of "the machine didn't do it yet", never an
   alarm color, never a Craig-court decision. */

/* ── TOP BANNER — pinned above every view, never a toast. Dismissible (Craig 8/5 stuck-banner
   defect — calm-alerts law, an un-clearable banner is a red box with extra steps); an entry past
   MAX_LOUD_ATTEMPTS drops out on its own into the quiet corner badge below. ─────────────────── */
#ops-outbox-banner{position:fixed;top:0;left:0;right:0;z-index:10050;display:none;align-items:center;
  justify-content:center;gap:9px;padding:9px 40px;background:#fdf6e4;border-bottom:2px solid #e0a92e;
  color:#7a4a06;font:600 12.5px/1.4 Inter,system-ui,sans-serif;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.08)}
#ops-outbox-banner.show{display:flex}
#ops-outbox-banner .oob-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;
  background:var(--motm-warning,#b87a14);animation:oobpulse 1.6s infinite}
#ops-outbox-banner.auth .oob-dot{background:#8a2822}
#ops-outbox-banner.auth{border-bottom-color:#c0524d}
#ops-outbox-banner .oob-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;line-height:20px;padding:0;border:1px solid #e0a92e;border-radius:50%;
  background:transparent;color:#7a4a06;font:600 15px/1 Inter;cursor:pointer}
#ops-outbox-banner .oob-close:hover{background:#e0a92e;color:#fffdf6}
@keyframes oobpulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ── QUIET CORNER BADGE — where a loud entry lands once it self-expires past MAX_LOUD_ATTEMPTS
   or Craig dismisses the banner; still draining in the background, just not shouting. ─────────── */
/* RETIRED 8/15 (Craig): the Jarvis-era items pill — count surfaces belong to the decisions desk now. */
#ops-outbox-badge{display:none !important;position:fixed;right:16px;bottom:16px;z-index:10050;display:none;align-items:center;
  gap:6px;padding:6px 11px;border-radius:20px;background:#fdf6e4;border:1px solid #e0a92e;
  color:#7a4a06;font:600 11.5px/1 Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12)}
#ops-outbox-badge.show{display:flex}
#ops-outbox-badge .oob-dot{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--motm-warning,#b87a14)}
#ops-outbox-badge:hover{background:#f5e8c4}

/* ── ON-CARD AUTH PANEL — mounts on the card a queued send's button lives on. ───────────────── */
.ops-outbox-auth{margin:9px 0 2px;padding:10px 12px;border:1px solid #e6cf94;border-left:3px solid #e0a92e;
  border-radius:9px;background:#fdf6e4;color:#7a4a06;cursor:default}
.ops-outbox-auth .ooa-line{display:flex;align-items:flex-start;gap:8px}
.ops-outbox-auth .ooa-dot{flex:0 0 auto;width:8px;height:8px;margin-top:5px;border-radius:50%;
  background:var(--motm-warning,#b87a14);animation:oobpulse 1.6s infinite}
.ops-outbox-auth .ooa-msg{font:500 var(--fs-body,12px)/1.5 Inter;color:#7a4a06}
.ops-outbox-auth .ooa-btn{margin:9px 0 0 16px;font:700 var(--fs-label,11px) Inter;letter-spacing:.04em;
  padding:6px 13px;border-radius:8px;cursor:pointer;border:1px solid var(--motm-warning,#b87a14);
  background:var(--motm-warning,#b87a14);color:#fffdf6}
.ops-outbox-auth .ooa-btn:hover{background:#a06a10;border-color:#a06a10}
