/* Customer inbox (window.INBOX) – shop overlay for clinics/vets, portal tab "Messages" for distributors. Prefix ib-. */
.ib-wrap{max-width:1100px;margin:0 auto;padding:0 0 40px}
.ck-wrap.ib-wrap{padding-top:6px}
.ib-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:0 0 18px}
.ib-head .ck-h1{margin:0 0 4px}.ib-head .ck-sub{margin:0;max-width:64ch}
.ib-headacts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:6px}
.ib-count{font-family:Jost,system-ui,sans-serif;font-size:.8rem;letter-spacing:.04em;color:var(--muted,#4E6868);white-space:nowrap}
.ib-count.has{color:var(--darkest,#0A2E2F);background:#FFF1D6;border:1px solid #F1D9A6;border-radius:999px;padding:4px 12px;font-weight:600}
.ib-count:empty{display:none}
.ib-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- list ---- */
.ib-list{display:grid;gap:8px}
.ib-list [role=listitem]{display:block}
.ib-row{width:100%;display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line,#E3EDEC);border-radius:14px;background:#fff;text-align:left;cursor:pointer;color:var(--ink,#152E2E);font:inherit;transition:border-color .16s,box-shadow .16s,transform .16s}
.ib-row:hover{border-color:var(--deep,#1F7F81);box-shadow:0 4px 18px rgba(31,127,129,.12);transform:translateY(-1px)}
.ib-row:focus-visible{outline:2px solid #3AC0C3;outline-offset:2px}
.ib-row.unread{border-left:4px solid var(--tq,#3AC0C3);padding-left:13px;background:linear-gradient(90deg,#F5FBFB,#fff 40%)}
.ib-dot{width:9px;height:9px;border-radius:50%;background:transparent;justify-self:center;flex:none}
.ib-row.unread .ib-dot{background:var(--tq,#3AC0C3);box-shadow:0 0 0 3px rgba(58,192,195,.22)}
.ib-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.ib-subj{font-family:Jost,system-ui,sans-serif;font-size:.98rem;color:var(--darkest,#0A2E2F);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}
.ib-row.unread .ib-subj{font-weight:700}
.ib-prev{font-size:.86rem;color:var(--muted,#4E6868);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}
.ib-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.ib-meta time{font-family:Jost,system-ui,sans-serif;font-size:.76rem;letter-spacing:.03em;color:var(--muted,#4E6868);white-space:nowrap}
.ib-row.unread .ib-meta time{color:var(--deeper,#1B6E70);font-weight:600}

/* ---- reference chip ---- */
.ib-chip{display:inline-block;font-family:Jost,system-ui,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 9px;border-radius:999px;background:var(--tq-soft,#DCF1F1);color:var(--deeper,#1B6E70);white-space:nowrap}
.ib-chip.complaint{background:#FBECEA;color:var(--red,#B03A28)}
.ib-chip.tender,.ib-chip.case{background:var(--darkest,#0A2E2F);color:#CFF1F1}
.ib-chip.quote,.ib-chip.order{background:#E6EEF7;color:#1F4E79}
.ib-chip.list{background:#FFF1D6;color:#8A5A00}
.ib-chip.info,.ib-chip.reply{background:#EEF0F0;color:#444}

/* ---- message ---- */
.ib-nav{margin:0 0 14px}
.ib-msg{background:#fff;border:1px solid var(--line,#E3EDEC);border-radius:18px;padding:26px 28px;box-shadow:0 1px 2px rgba(10,46,47,.03),0 10px 30px rgba(10,46,47,.05);max-width:820px}
.ib-msg-h{border-bottom:1px solid var(--ice,#EBF5F5);padding-bottom:16px;margin-bottom:18px}
.ib-msg-h .ib-chip{margin-bottom:10px;text-transform:none;letter-spacing:.03em;font-size:.74rem}
.ib-h2{font-family:Jost,system-ui,sans-serif;font-size:clamp(1.25rem,2vw,1.6rem);color:var(--darkest,#0A2E2F);margin:0 0 12px;line-height:1.25;outline:none}
.ib-from{display:flex;align-items:center;gap:12px;margin:0;font-size:.92rem;color:var(--ink,#152E2E)}
.ib-from b{color:var(--darkest,#0A2E2F)}.ib-from small{color:var(--muted,#4E6868);font-size:.8rem}
.ib-av{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#1F7F81,#0A2E2F);color:#fff;font-family:Jost,system-ui,sans-serif;font-weight:700;flex:none}
.ib-body{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;font-size:1rem;line-height:1.65;color:var(--ink,#152E2E)}
.ib-msg-f{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid var(--ice,#EBF5F5)}
.ib-msg-f:empty{display:none}
.ib-mail{font-size:.8rem;color:var(--muted,#4E6868)}
.ib-mail.ok:before{content:'✓ ';color:var(--green,#0B7449)}
.ib-mail.no{color:#8A5A00}
.ib-note{margin:14px 0 0;font-size:.82rem;color:var(--muted,#4E6868)}

/* ---- states ---- */
.ib-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:44px 20px;border:1px dashed var(--line,#E3EDEC);border-radius:16px;background:var(--bg-soft,#F5FAFA);color:var(--muted,#4E6868)}
.ib-empty p{margin:0;max-width:52ch;line-height:1.5}
.ib-empty-ic{display:inline-flex;width:52px;height:52px;border-radius:16px;background:var(--tq-soft,#DCF1F1);color:var(--deeper,#1B6E70);align-items:center;justify-content:center}
.ib-empty-ic svg{width:26px;height:26px}
.ib-skel{display:grid;gap:8px}.ib-skel .skel{height:68px;border-radius:14px}
.ib-err{color:var(--red,#B03A28);background:#FBECEA;border-radius:10px;padding:10px 14px;font-size:.9rem;margin:0 0 12px}

/* ---- badges: account menu (.acct-badge / [data-inbox-badge]), account button dot, portal tab ---- */
.acct-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--amber,#E8A33D);color:var(--darkest,#0A2E2F);font-family:Jost,system-ui,sans-serif;font-size:.7rem;font-weight:700;font-style:normal;position:absolute;right:0;top:0;line-height:1}
.acct-badge[hidden]{display:none}
.shop-acct .acct-btn{position:relative}
.shop-acct .acct-btn[data-ib-unread]:after{content:'';position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:var(--amber,#E8A33D);box-shadow:0 0 0 2px #0A2E2F}
#ptMsgBadge{display:inline-block;margin-left:7px;background:var(--red,#B03A28);color:#fff;border-radius:999px;font-size:.68rem;font-weight:700;padding:1px 7px;vertical-align:middle;line-height:1.5}
#ptMsgBadge[hidden]{display:none}

/* ---- toast (only when TPRO.toast is not on the page) ---- */
.ib-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--darkest,#0A2E2F);color:#fff;padding:10px 18px;border-radius:999px;font-size:.9rem;opacity:0;pointer-events:none;transition:all .25s;z-index:9999}
.ib-toast:not(:empty){opacity:1;transform:translateX(-50%)}.ib-toast.bad{background:var(--red,#B03A28)}

/* ---- responsive ---- */
@media(max-width:640px){
  .ib-row{grid-template-columns:12px minmax(0,1fr);padding:12px 14px}
  .ib-meta{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;width:100%}
  .ib-msg{padding:20px 18px;border-radius:14px}
  .ib-headacts{width:100%;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){.ib-row,.ib-toast{transition:none}.ib-row:hover{transform:none}}
