/* CODSHIPX AI CRM R42 - setup UX / dark navy authority */
:root{
  --cx-r42-navy:#07192b;
  --cx-r42-navy-2:#0b2440;
  --cx-r42-navy-3:#10345a;
  --cx-r42-blue:#55a7ff;
  --cx-r42-blue-soft:#8fc5ff;
  --cx-r42-line:rgba(122,181,255,.20);
}

/* Seller message bubble: deep navy, not bright green. */
.codi-chat-row.user>div,
.codi-chat-row.user>div:first-of-type{
  background:linear-gradient(145deg,var(--cx-r42-navy-3),var(--cx-r42-navy)) !important;
  color:#f7fbff !important;
  border:1px solid rgba(103,170,255,.28) !important;
  box-shadow:0 12px 34px rgba(1,15,31,.18) !important;
}

/* Left setup progress stack: consistent navy cards and clear hierarchy. */
.codi-conversation-progress,
.codi-conversation-context,
.codi-products-launch{
  box-sizing:border-box !important;
  width:100% !important;
  border:1px solid var(--cx-r42-line) !important;
  background:linear-gradient(155deg,rgba(10,37,65,.98),rgba(5,20,36,.98)) !important;
  box-shadow:0 14px 34px rgba(0,10,24,.20) !important;
  color:#f7fbff !important;
}
.codi-conversation-progress{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  grid-template-areas:"label percent" "bar bar" "count count" !important;
  gap:10px 14px !important;
  padding:18px 18px 16px !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.codi-conversation-progress>div{
  display:contents !important;
}
.codi-conversation-progress span{
  grid-area:label !important;
  align-self:end !important;
  color:#8eb2d8 !important;
  font-size:10px !important;
  font-weight:850 !important;
  line-height:1.2 !important;
  letter-spacing:.12em !important;
  white-space:normal !important;
}
.codi-conversation-progress b{
  grid-area:percent !important;
  color:#fff !important;
  font-size:30px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  text-shadow:none !important;
}
.codi-conversation-progress>i{
  grid-area:bar !important;
  width:100% !important;
  height:7px !important;
  margin:0 !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.08) !important;
}
.codi-conversation-progress>i>b{
  display:block !important;
  height:100% !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#4f9cff,#8cc7ff) !important;
  box-shadow:0 0 18px rgba(79,156,255,.35) !important;
}
.codi-conversation-progress small{
  grid-area:count !important;
  color:#9fb6ca !important;
  font-size:11px !important;
  font-weight:650 !important;
  line-height:1.35 !important;
  white-space:normal !important;
}
.codi-conversation-context{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:6px !important;
  margin-top:9px !important;
  padding:14px 16px !important;
  border-radius:15px !important;
}
.codi-conversation-context span{
  color:#86a9cb !important;
  font-size:9px !important;
  font-weight:850 !important;
  line-height:1.2 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
}
.codi-conversation-context strong{
  display:block !important;
  min-width:0 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.25 !important;
  text-transform:capitalize !important;
  overflow-wrap:anywhere !important;
}
.codi-products-launch{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-top:9px !important;
  padding:13px 14px !important;
  min-height:58px !important;
  border-radius:15px !important;
}
.codi-products-launch>span{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  min-width:0 !important;
}
.codi-products-launch>span>b,
.codi-products-launch b{
  color:#79b8ff !important;
}
.codi-products-launch strong{
  color:#fff !important;
  font-size:13px !important;
  line-height:1.2 !important;
}
.codi-products-launch small{
  display:block !important;
  margin-top:3px !important;
  color:#8ea8c0 !important;
  font-size:9px !important;
  line-height:1.25 !important;
  white-space:normal !important;
}
.codi-products-launch em{
  flex:0 0 auto !important;
  min-width:28px !important;
  height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:rgba(79,156,255,.14) !important;
  border:1px solid rgba(109,180,255,.25) !important;
  color:#a9d3ff !important;
  font-style:normal !important;
  font-size:11px !important;
  font-weight:900 !important;
}

/* Keep copy readable and stop label collisions. */
.codi-conversation-sidebar *,
.codi-mandatory-side *{
  text-rendering:geometricPrecision;
}

/* While final review is open, the redundant launcher disappears. */
body:has(.codi-final-review) .codi-review-launch,
body:has([class*="codi-final-review"]) .codi-review-launch{
  display:none !important;
}

/* Cinematic final provisioning: black + navy, video stays present, no fake green dashboard feel. */
#cx-r40-provisioning{
  background:#000 !important;
}
#cx-r40-provisioning .cx-r40-video{
  opacity:.42 !important;
  filter:saturate(.82) contrast(1.15) brightness(.44) !important;
}
#cx-r40-provisioning .cx-r40-shade{
  background:
    radial-gradient(circle at 50% 38%,rgba(26,86,143,.18),transparent 34%),
    linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.92)) !important;
}
#cx-r40-provisioning .cx-r40-card{
  width:min(760px,calc(100vw - 36px)) !important;
  border:1px solid rgba(100,169,255,.18) !important;
  background:rgba(3,12,23,.84) !important;
  box-shadow:0 28px 100px rgba(0,0,0,.70),0 0 70px rgba(53,130,220,.07) !important;
}
#cx-r40-provisioning .cx-r40-kicker{
  color:#8ec5ff !important;
}
#cx-r40-provisioning .cx-r40-kicker:before{
  background:#65adff !important;
  box-shadow:0 0 0 6px rgba(77,158,255,.10),0 0 20px rgba(77,158,255,.45) !important;
}
#cx-r40-provisioning .cx-r40-progress i{
  background:linear-gradient(90deg,#3e8fe8,#8bc8ff) !important;
  box-shadow:0 0 26px rgba(65,151,245,.34) !important;
}
#cx-r40-provisioning:not(.is-complete):not(.is-error) .cx-r40-progress i{
  width:34% !important;
  animation:cxR42Indeterminate 1.45s cubic-bezier(.55,.1,.45,.9) infinite !important;
}
#cx-r40-provisioning.is-complete .cx-r40-progress i{
  width:100% !important;
  animation:none !important;
}
#cx-r40-provisioning .cx-r40-status{
  display:none !important;
}
#cx-r40-provisioning .cx-r40-complete-icon{
  color:#06111f !important;
  background:#8bc8ff !important;
  box-shadow:0 0 0 12px rgba(82,163,255,.08),0 0 45px rgba(82,163,255,.22) !important;
}
#cx-r40-provisioning .cx-r40-open{
  background:linear-gradient(135deg,#5aa9ff,#9cd2ff) !important;
  color:#05111f !important;
}
.cx-r42-stage-list{
  margin:22px auto 0;
  width:min(610px,100%);
  display:grid;
  gap:8px;
  text-align:left;
}
.cx-r42-stage{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:34px;
  padding:7px 10px;
  border-radius:10px;
  color:#8396a9;
  font-size:11px;
  line-height:1.35;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.cx-r42-stage i{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#24394e;
  box-shadow:0 0 0 4px rgba(36,57,78,.16);
}
.cx-r42-stage.is-active{
  color:#e9f4ff;
  background:rgba(51,126,207,.10);
  transform:translateX(2px);
}
.cx-r42-stage.is-active i{
  background:#62afff;
  box-shadow:0 0 0 5px rgba(76,160,255,.10),0 0 18px rgba(76,160,255,.35);
  animation:cxR42Pulse 1.15s ease-in-out infinite;
}
.cx-r42-stage.is-done{
  color:#9eb1c3;
}
.cx-r42-stage.is-done i{
  background:#5d88b5;
}
.cx-r42-auto-open{
  margin-top:10px;
  color:#8196aa;
  font-size:10px;
  font-weight:700;
}
@keyframes cxR42Pulse{50%{transform:scale(1.35);opacity:.68}}
@keyframes cxR42Indeterminate{0%{transform:translateX(-120%)}55%{transform:translateX(105%)}100%{transform:translateX(290%)}}

@media(max-width:720px){
  .codi-conversation-progress b{font-size:26px !important}
  #cx-r40-provisioning .cx-r40-card{padding:30px 20px 25px !important}
}
