
/* V12.5.36b — Assistência consolidada no Design System oficial.
   Esta folha é carregada POR ÚLTIMO de propósito para encerrar a cascata antiga 35c/35d/35e. */

/* Modal base de Assistência */
html body #modalRoot .modal:has(.support-chat-shell),
html body #modalRoot .modal:has(.support-form-shell),
html body #modalRoot .modal:has(.support-close-modal),
html body #modalRoot .modal:has(.support-existing-modal){
  width:min(860px,calc(100vw - 32px))!important;
  max-width:860px!important;
  max-height:90vh!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:#fff!important;
  border-top:5px solid var(--red)!important;
  box-sizing:border-box!important;
}

/* Formulários oficiais */
.support-form-shell.client-invite-modal,
.support-close-modal.client-invite-modal,
.support-existing-modal.client-invite-modal{
  display:grid!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.support-form-shell>.client-invite-modal-head,
.support-close-modal>.client-invite-modal-head,
.support-existing-modal>.client-invite-modal-head{
  padding:20px 24px 16px!important;
  border-bottom:1px solid #e7ebf1!important;
  background:#fff!important;
}
.support-form-shell>.client-invite-modal-head h3,
.support-close-modal>.client-invite-modal-head h3{
  margin:2px 0 5px!important;
  font-size:20px!important;
  line-height:1.25!important;
}
.support-form-shell>.client-invite-modal-head p,
.support-close-modal>.client-invite-modal-head p{
  margin:0!important;
  color:#667085!important;
  line-height:1.45!important;
}
.support-form-shell .support-open-basic,
.support-close-basic{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 16px!important;
  padding:18px 24px 0!important;
}
.support-form-shell .support-span-2,
.support-close-basic .support-span-2{grid-column:1/-1!important}
.support-form-shell .field,
.support-close-basic .field{display:grid!important;gap:6px!important;margin:0!important}
.support-form-shell input,
.support-form-shell select,
.support-form-shell textarea,
.support-close-modal input,
.support-close-modal select,
.support-close-modal textarea{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.support-form-shell textarea,
.support-close-modal textarea{
  min-height:96px!important;
  padding:10px 12px!important;
  border:1px solid #d0d5dd!important;
  border-radius:10px!important;
  resize:vertical!important;
}
.support-form-shell #supportTermsPreview{
  margin:14px 24px 0!important;
}
.support-form-shell .support-awareness{
  margin:12px 24px 0!important;
  padding:12px 14px!important;
  border:1px solid #e4e7ec!important;
  border-radius:10px!important;
  background:#f9fafb!important;
}
.support-form-shell>.client-invite-actions,
.support-close-modal>.client-invite-actions,
.support-existing-modal>.client-invite-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:100%!important;
  padding:18px 24px 20px!important;
  margin:16px 0 0!important;
  border-top:1px solid #e7ebf1!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.support-close-notice{margin:14px 24px 0!important}

/* Chat: uma única anatomia para Cliente e interno */
.support-chat-shell.client-invite-modal{
  display:grid!important;
  grid-template-rows:auto auto minmax(260px,1fr) auto!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:min(690px,82vh)!important;
  max-height:82vh!important;
  overflow:hidden!important;
  background:#fff!important;
}
.support-thread-modal:not(.support-internal-modal){
  grid-template-rows:auto minmax(260px,1fr) auto!important;
}
.support-chat-header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:20px 24px 16px!important;
  border-bottom:1px solid #e7ebf1!important;
  background:#fff!important;
}
.support-chat-header>div{min-width:0!important}
.support-chat-header h3{
  margin:2px 0 5px!important;
  font-size:20px!important;
  line-height:1.25!important;
  color:#172033!important;
}
.support-chat-header p{
  margin:0!important;
  color:#667085!important;
  line-height:1.4!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.support-admin-toolbar{
  display:grid!important;
  gap:10px!important;
  padding:12px 24px!important;
  border-bottom:1px solid #e7ebf1!important;
  background:#fbfcfe!important;
}
.support-admin-basic{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 14px!important;
}
.support-admin-basic .field{display:grid!important;gap:5px!important}
.support-admin-basic select{width:100%!important;box-sizing:border-box!important}
.support-admin-actions{
  display:flex!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
}

.support-chat-stream-wrap{
  position:relative!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#f4f6f9!important;
}
.support-thread{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:20px 24px 24px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:0!important;
  background:#f4f6f9!important;
  scroll-behavior:smooth;
}
.support-message{
  width:max-content!important;
  min-width:140px!important;
  max-width:min(72%,560px)!important;
  padding:10px 12px!important;
  border:1px solid #e1e6ed!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 1px 1px rgba(16,24,40,.03)!important;
  overflow-wrap:anywhere!important;
}
.support-message.customer{
  align-self:flex-end!important;
  background:#fff7f7!important;
  border-color:#f0d9dc!important;
}
.support-message.staff{align-self:flex-start!important}
.support-message.internal-note{
  align-self:flex-start!important;
  background:#fff8df!important;
  border-color:#ecdca5!important;
}
.support-message.sending{opacity:.72!important}
.support-message.failed{border-color:#d92d20!important;background:#fff1f0!important}
.support-message>div:first-child{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.support-message p{
  margin:5px 0 0!important;
  line-height:1.45!important;
  white-space:pre-wrap!important;
}
.support-upload-preview{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 8px!important;
  border:1px dashed #d0d5dd!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.7)!important;
}
.support-upload-preview span{
  font-size:10px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  color:#667085!important;
}
.support-upload-preview b{font-size:12px!important}

.support-new-message-hint{
  position:absolute!important;
  right:24px!important;
  bottom:16px!important;
  z-index:2!important;
  border:1px solid #d0d5dd!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(16,24,40,.12)!important;
  padding:7px 11px!important;
  color:#344054!important;
  font-weight:700!important;
  cursor:pointer!important;
}
.support-new-message-hint[hidden]{display:none!important}

.support-composer{
  display:grid!important;
  gap:10px!important;
  padding:14px 24px 16px!important;
  margin:0!important;
  border-top:1px solid #e7ebf1!important;
  background:#fff!important;
}
.support-composer textarea{
  width:100%!important;
  min-height:68px!important;
  max-height:150px!important;
  box-sizing:border-box!important;
  padding:10px 12px!important;
  border:1px solid #d0d5dd!important;
  border-radius:10px!important;
  font:inherit!important;
  resize:vertical!important;
}
.support-composer-actions{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
.support-composer-actions.internal{
  grid-template-columns:auto minmax(180px,230px) auto!important;
}
.support-composer-actions small,
.support-file-hint{
  color:#667085!important;
  font-size:11.5px!important;
}
.support-attach-button{
  position:relative!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.support-attach-button input{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  cursor:pointer!important;
}
.support-pending-files{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.support-file-chip{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto auto!important;
  gap:7px!important;
  align-items:center!important;
  max-width:100%!important;
  padding:7px 9px!important;
  border:1px solid #e4e7ec!important;
  border-radius:9px!important;
  background:#f9fafb!important;
}
.support-chat-conclusion{
  padding:10px 24px!important;
  border-top:1px solid #e7ebf1!important;
  background:#f9fafb!important;
  color:#475467!important;
}
.support-message-attachments{display:grid!important;gap:6px!important;margin-top:7px!important}
.support-message-attachments:empty{display:none!important}
.support-attachment-card{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  width:100%!important;
  max-width:330px!important;
  border:1px solid #e4e7ec!important;
  border-radius:9px!important;
  background:#fff!important;
  padding:8px 10px!important;
  text-align:left!important;
  cursor:pointer!important;
}

/* Mobile/tablet */
@media(max-width:760px){
 html body #modalRoot .modal:has(.support-chat-shell),
 html body #modalRoot .modal:has(.support-form-shell),
 html body #modalRoot .modal:has(.support-close-modal),
 html body #modalRoot .modal:has(.support-existing-modal){
   width:calc(100vw - 12px)!important;
   max-width:none!important;
   max-height:96vh!important;
   border-radius:10px!important;
 }
 .support-chat-shell.client-invite-modal{
   height:92vh!important;
   max-height:92vh!important;
 }
 .support-chat-header{padding:16px 14px 12px!important;gap:10px!important}
 .support-chat-header{flex-direction:column!important}
 .support-chat-header p{white-space:normal!important}
 .support-admin-toolbar{padding:10px 14px!important}
 .support-admin-basic{grid-template-columns:1fr!important}
 .support-admin-actions{justify-content:stretch!important}
 .support-admin-actions .btn{flex:1 1 auto!important}
 .support-thread{padding:14px!important}
 .support-message{max-width:90%!important}
 .support-composer{padding:12px 14px 14px!important}
 .support-composer-actions,
 .support-composer-actions.internal{grid-template-columns:1fr!important}
 .support-composer-actions .btn,
 .support-composer-actions select,
 .support-attach-button{width:100%!important}
 .support-form-shell>.client-invite-modal-head,
 .support-close-modal>.client-invite-modal-head,
 .support-existing-modal>.client-invite-modal-head{padding:16px 14px 12px!important}
 .support-form-shell .support-open-basic,
 .support-close-basic{grid-template-columns:1fr!important;padding:14px 14px 0!important}
 .support-form-shell .support-span-2,
 .support-close-basic .support-span-2{grid-column:auto!important}
 .support-form-shell #supportTermsPreview,
 .support-form-shell .support-awareness,
 .support-close-notice{margin-left:14px!important;margin-right:14px!important}
 .support-form-shell>.client-invite-actions,
 .support-close-modal>.client-invite-actions,
 .support-existing-modal>.client-invite-actions{padding:14px!important}
}
