/* ============================================================================
   INBOX DELETE — shared across all 4 web portals (Request, Connect, Go, Deals)
   Spec: G40-100 "Add Deleted tab to Inbox with swipe-left-to-delete,
   permanent-delete confirmation, 90-day auto-purge, admin-expiration auto-move".
   Owner 2026-07-28: "The UI/UX will be the same for all 4 web platforms."

   Shared FILE, not four copies — the four inboxes have different data models but
   an identical .inbox-row shape, so the treatment lives here once and each portal
   only wires its own store. That is what makes "the same on all 4" true by
   construction instead of by four copy-pastes that drift.

   Scope guards from the ticket, encoded here so they are hard to undo:
     • NO restore-to-Inbox affordance (out of scope this release)
     • NO silence affordance (explicitly out of scope)
   ========================================================================== */

/* ── Inbox / Deleted tabs ─────────────────────────────────────────────── */
.ibx-tabs { display:flex; gap:6px; padding:10px 12px 4px; }
.ibx-tab {
  flex:1; border:none; background:transparent; cursor:pointer; border-radius:9px;
  padding:7px 10px; font-family:'Nunito',sans-serif; font-weight:800; font-size:12.5px;
  color:#8a93a6; transition:background .12s, color .12s;
}
.ibx-tab:hover { background:#f2f5fa; }
.ibx-tab.on { background:#eef2f8; color:#002461; }
.ibx-tab .ibx-count { font-weight:700; opacity:.65; margin-left:3px; }

/* ── Row delete affordance ────────────────────────────────────────────── */
/* The row itself is the swipe surface; .ibx-swipe is the red bed revealed
   underneath as it slides. Desktop gets the always-reachable button instead —
   a swipe is not discoverable with a mouse. */
.ibx-rowwrap { position:relative; overflow:hidden; }
.ibx-swipe {
  position:absolute; inset:0 0 0 auto; width:88px; display:flex; align-items:center;
  justify-content:center; background:#C44257; color:#fff;
  font-family:'Nunito',sans-serif; font-weight:800; font-size:12.5px; border:none;
  cursor:pointer;
}
.ibx-rowwrap > .inbox-row { position:relative; background:#fff; transition:transform .18s ease; will-change:transform; }
.ibx-rowwrap.ibx-open > .inbox-row { transform:translateX(-88px); }

/* Desktop affordance — appears on hover/focus, never covers the row's own text. */
.ibx-del {
  position:absolute; top:50%; right:8px; transform:translateY(-50%);
  width:26px; height:26px; border-radius:50%; border:1px solid #e6e9f0;
  background:#fff; color:#8a93a6; cursor:pointer; font-size:13px; line-height:1;
  display:flex; align-items:center; justify-content:center; opacity:0;
  transition:opacity .12s, color .12s, border-color .12s; z-index:2;
}
.ibx-rowwrap:hover .ibx-del, .ibx-del:focus-visible { opacity:1; }
.ibx-del:hover { color:#C44257; border-color:#e8c4cb; }
@media (hover:none) { .ibx-del { display:none; } }   /* touch uses the swipe */

/* ── Deleted-tab empty state ──────────────────────────────────────────── */
.ibx-empty {
  padding:26px 18px; text-align:center; color:#8a93a6;
  font-family:'DM Sans',sans-serif; font-size:12.5px; line-height:1.55;
}

/* ── Purge notice ─────────────────────────────────────────────────────── */
.ibx-purge-note {
  margin:0 12px 8px; padding:8px 11px; border-radius:10px;
  background:#f7f8fb; border:1px solid #eceef4;
  font-family:'DM Sans',sans-serif; font-size:11.5px; line-height:1.5; color:#8a93a6;
}

/* ── Permanent-delete confirmation ────────────────────────────────────── */
/* Copy is fixed by the ticket: "Delete permanently?" / "This cannot be undone."
   / Cancel (secondary) · Delete (primary destructive), in that button order. */
.ibx-confirm-overlay {
  position:fixed; inset:0; z-index:9000; background:rgba(10,20,45,0.55);
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.ibx-confirm-overlay[hidden] { display:none; }
.ibx-confirm {
  background:#fff; border-radius:16px; padding:24px 22px 18px; max-width:340px; width:100%;
  box-shadow:0 18px 50px rgba(10,20,45,0.28); text-align:center;
}
.ibx-confirm h4 {
  margin:0 0 7px; font-family:'Nunito',sans-serif; font-weight:900;
  font-size:17px; color:#002461;
}
.ibx-confirm p {
  margin:0 0 18px; font-family:'DM Sans',sans-serif; font-size:13px; color:#6b7280;
}
.ibx-confirm-actions { display:flex; gap:10px; }
.ibx-confirm-btn {
  flex:1; padding:11px 14px; border-radius:11px; cursor:pointer;
  font-family:'Nunito',sans-serif; font-weight:800; font-size:13.5px;
}
.ibx-cancel { background:#fff; border:1.5px solid #d4d8e3; color:#002461; }
.ibx-cancel:hover { background:#f5f7fb; }
.ibx-delete { background:#C44257; border:none; color:#fff; }
.ibx-delete:hover { background:#a83648; }
