@import "base/colors.css";
@import "base/typography.css";
@import "base/buttons.css";
@import "base/table.css";

/* Bootstrap vars overrides */
:root {
  --input-padding-x: 0.75rem;
  --input-padding-y: 0.75rem;
  --bs-user-dropdown-spacer: 0.5rem;
  --bs-pagination-active-bg: #6610F2;
  --bs-link-color: #6610F2;
  --bs-link-color-rgb: 102, 16, 242;
  --bs-link-hover-color: #520DC2;
  --bs-link-hover-color-rgb: 82, 13, 194;
  --bs-focus-ring-color: rgba(102, 16, 242, 0.25);
}

body {
  background-color: var(--gray-100);
  font-family: "Sarabun", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.feather {
  width: 16px;
  height: 16px;
  vertical-align: text-bottom;
}

/*
 * Sidebar
 */

.sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 100; /* Behind the navbar */
  padding: 0;
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.1);
}

.sidebar-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 48px; /* Height of navbar */
  height: calc(100vh - 48px);
  padding-top: 0.5rem;
  overflow-x: hidden;
  overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}

.sidebar .nav-link {
  font-weight: 500;
  color: #333;
}

.sidebar .nav-link .feather {
  margin-right: 4px;
  color: #999;
}

.sidebar .nav-link.active {
  color: #007bff;
}

.sidebar .nav-link:hover .feather,
.sidebar .nav-link.active .feather {
  color: inherit;
}

.sidebar-heading {
  font-size: 0.75rem;
  text-transform: uppercase;
}

/*
 * Navbar
 */

.wrapper-navbar.navbar {
  padding: 11px 4.5rem;
}

.wrap-account-button {
  border-radius: 4px;
  border: 2px solid var(--gray-500);
  padding: 0;
  background-color: transparent;
}

.dropdown .wrap-account-info .wrap-account-avatar {
  height: 31px;
  width: 31px;
}

.wrap-account-button .wrap-account-info .wrap-name .name,
.wrap-account-info .wrap-name .name {
  color: var(--gray-800);
  line-height: 150%;
  font-size: 14px;
  font-weight: 700;
  margin: 0;
}

.wrap-account-button .wrap-account-info .wrap-name .company {
 display: none;
}

.wrap-account-button .wrap-account-action {
  padding: 0 6px;
  background-color: var(--gray-400);
  border-left: 2px solid var(--gray-500);
}

.wrap-account-button .wrap-account-action i {
  font-size: 8.5px;
}

/*
 * Utilities
 */

.border-top {
  border-top: 1px solid #e5e5e5;
}
.border-bottom {
  border-bottom: 1px solid #e5e5e5;
}

.p-custom {
  padding: 1rem 4.5rem;
}

.px-custom {
  padding-left: 4.5rem !important;
  padding-right: 4.5rem !important;
}

.ps-custom {
  padding-left: 4.5rem !important;
}

.pe-custom {
  padding-right: 4.5rem !important;
}

/* Card */
.card {
  border: 1px solid var(--gray-300);
  background-color: var(--white);
}

.card-header {
  padding: 16px 24px;
  background-color: var(--white);
  border-bottom: 1px dashed var(--gray-300);
  display: flex;
  align-items: center;
  gap: 8px;
}

.card-header .title {
  font-size: 20px;
  font-weight: 700;
  color: var(--gray-900);
  margin-bottom: 0;
}

.card-header.small {
  padding: 8px 16px;
}

.card-header .title.small {
  font-size: 16px;
}

.card-body .text-card {
  font-size: 14px;
  color: var(--gray-600);
}

.card-footer {
  padding: 16px 24px;
  background-color: var(--white);
  border-top: 1px dashed var(--gray-300);
}

.card-footer.small {
  padding: 8px 16px;
}

.card-header .bi {
  font-size: 16px;
  color: var(--gray-500);
}

.col-form-label,
label {
  font-size: 14px;
  color: var(--black);
  margin-bottom: 6px;
}

.wrap-range input[type="range"]::-webkit-slider-runnable-track {
  background: none;
}

.wrap-range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--primary);
  cursor: pointer;
}

.custom-tooltip {
  --bs-tooltip-bg: var(--indigo-100);
  --bs-tooltip-color: var(--gray-600);
  --bs-tooltip-max-width: 750px;
}

.form-check-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0;
}

.form-check-inline .form-check-input,
.form-check-inline .col-form-label,
.form-check-inline label {
  margin-bottom: 0;
  cursor: pointer;
}

.form-check-input:checked {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

/* Offcanvas */
.offcanvas-title i {
  font-size: 1rem;
  vertical-align: text-bottom;
}

.offcanvas.offcanvas-end {
  top: 56px;
  height: calc(100vh - 80px);
  &.offcanvas-doc {
    width: 600px !important;
  }
}

.offcanvas-footer {
  background-color: var(--gray-100);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Switch */
.form-switch {
  padding-left: 0;
}

.form-switch .form-check-label {
  font-size: 16px;
  color: var(--dark);
}
.form-switch .form-check-input {
  float: none;
  margin-left: 0;
}

.form-switch small {
  font-size: 14px;
  color: var(--secondary);
}

/* badge */
.badge.rounded-pill {
  line-height: 1.1;
}

/* divider */
hr.dashed {
  border-top: 1px dashed var(--gray-300);
  opacity: 1;
}

.title-dashed {
  position: relative;
  margin-bottom: 8px;
}

.title-dashed span {
  position: relative;
  z-index: 1;
  padding: 0 1rem;
  margin-left: 1rem;
  color: var(--gray-500);
  font-size: 14px;
  line-height: 21px;
  font-weight: 700;
  background-color: var(--white);
}

.title-dashed hr.dashed {
  position: absolute;
  top: -2px;
  width: 100%;
}

.invalid-feedback {
  display: block;
}

.field_with_errors {
  width: 100%;
}

.top-85 {
  top: 85px !important;
  max-height: 50px !important;
}

.toast {
  background-color: var(--white) !important;
}

.modal {
  z-index: 99999;
}

.modal-backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

.modal-dialog-left {
  left: 0.5rem;
  position: absolute;
}

.modal-dialog-right {
  right: 0.5rem;
  position: absolute;
}

.modal-dialog-bottom {
  bottom: 0.5rem;
  margin-bottom: 0.25rem;
  position: absolute;
}

.modal-dialog-half-left {
  left: 12.5%;
  position: absolute;
}

.modal-dialog-half-right {
  right: 12.5%;
  position: absolute;
}

.wrap-kanban-card {
  text-decoration: none;
}

.avatar-file {
  width: 30px;
}

.companyContentformCanvas {
  height: 250px !important;
}

.popover {
  --bs-popover-max-width: 30% !important;
}

.btn-content-info {
  width: 50px;
}

.load-more {
  margin-top: 20px;
}

.paused-danger {
  color: red !important;
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
  margin: 0;
}

.cadence-contact {
  color: rgb(0, 89, 253) !important;
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
  margin: 0;
}

.cadence-index a {
  text-decoration: none !important;
  width: 100%;
}

.p-20 {
  width: 20% !important;
}

.p-40 {
  width: 40% !important;
}

.p-50 {
  width: 50% !important;
}

.p-95 {
  width: 95% !important;
}

.wpp-row-message .trix-button-row .trix-button--icon-strike,
.wpp-row-message .trix-button-row .trix-button--icon-link,
.wpp-row-message .trix-button-row .trix-button-group--block-tools,
.wpp-row-message .trix-button-row .trix-button-group--file-tools,
.wpp-row-message .trix-button-row .trix-button-group--history-tools {
  display: none !important;
}

.wpp-row-message trix-editor {
  min-height: 8.5em !important;
}

.ts-wrapper.tom-select, .ts-wrapper.tom_select {
  padding: 0 2.25rem 0 0.75rem;
  border-top-left-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}

.ts-control {
  border: none !important;
  padding: 9px 9px 9px 0 !important;
  flex-wrap: nowrap !important;
}

.ts-wrapper.tom-select.focus, .ts-wrapper.tom_select.focus {
  box-shadow: 0 0 0 0.25rem rgba(102, 16, 242, 0.25) !important;
  padding: 0 0.75rem !important;
}

.ts-dropdown,
.ts-control,
.ts-control input {
  font-size: 1rem !important;
}

.ts-dropdown {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.ts-dropdown .option {
  line-height: 1.5 !important;
  font-size: 1rem !important;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem !important;
}

.ts-dropdown,
.ts-dropdown-content {
  border-radius: 6px !important;
}

.ts-dropdown .active {
  background-color: var(--primary) !important;
  color: #ffffff !important;
}

/* Custom Turbo Progress bar */
.turbo-progress-bar {
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  height: 10px;
  background: var(--primary);
  box-shadow: 0 10px 10px -3px rgba(59, 130, 246, 0.9),
    0 4px 6px -4px rgba(59, 130, 246, 0.9);
  visibility: hidden;
}

#custom-loading-bar {
  z-index: 9998;
}

.loading-box {
  display: block;
  text-align: center;
}

.top-box {
  width: 60px;
  height: 84px;
  margin: auto;
  margin-bottom: 1rem;

}

.top-box svg {
  position: relative;
  z-index: 10;
}

@keyframes shadow-bounce-blur {
  0%, 100% {
    transform: translateY(0);
    opacity: 0.8;
    filter: blur(2px);
  }
  50% {
    transform: translateY(-3px);
    opacity: 1;
    filter: blur(0px);
  }
}

.top-box .logoShadow {
  position: relative;
  z-index: 9;
  margin-top: -5px;
  width: 60px;
  height: 17px;
  background-color: var(--gray-500);
  border-radius: 50%;
  animation: shadow-bounce-blur 1s ease-in-out infinite;
}

.bottom-box {
  position: relative;
  width: 360px;
  height: 78px;
  padding: 1rem 0.5rem;
  border-radius: 1rem;
  background-color: var(--white);
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.075);
}

.bottom-box::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid var(--white);
}

.bottom-box h5 {
  color: var(--gray-600);
}

.bottom-box p {
  color: var(--gray-600);
  font-size: 12px;
  font-weight: 400;
  line-height: 14px;
}

/* Fim do Custom Turbo Progress bar */

/* CustomConfirm */
#custom-confirm-modal {
  position: fixed;
  inset: 0px;
  z-index: 1050;
}
/* Fim do CustomConfirm */

.hidden-input {
  display: none; /* Esconde o input padrão */
}

/* Media queries */
@media (min-width: 768px) and (max-width: 1480px) {
  .navbar-brand img {
    width: 100%;
    min-width: 80px;
  }
  #navbarNav .nav-link {
    font-size: 0.85rem;
    text-wrap: nowrap;
  }
  .dropdown .wrap-name {
    font-size: 0.85rem;
  }
  .dropdown .wrap-account-button .wrap-account-info,
  .dropdown .wrap-account-info {
    gap: 0.5rem;
  }
  .dropdown .wrap-account-info .wrap-account-avatar {
    font-size: 0.85rem;
  }
}

.worker-speciality,
.new-worker-speciality {
  display: flex !important;
  align-items: center !important;
  padding: 8px !important;
  height: 20px !important;
  border-radius: 10px !important;
  background-color: var(--gray-200) !important;
  color: var(--gray-600) !important;
  font-weight: bold !important;
  font-size: 12px !important;
}

.worker-speciality.sdr {
  width: auto !important;
  min-width: 135px;
}

.worker-speciality.inbound {
  width: auto !important;
  min-width: 125px;
}

.new-worker-speciality.sdr {
  background-color: var(--indigo-100) !important;
  color: var(--indigo-600) !important;
}

.new-worker-speciality.inbound {
  background-color: var(--indigo-100) !important;
  color: var(--indigo-600) !important;
}

.w-40 {
  width: 40% !important;
}

.w-200px {
  width: 200px !important;
}

.acessos-link-externo input {
  height: 32px; /* Altura reduzida do input */
  padding: 4px 8px; /* Padding interno reduzido */
  margin-bottom: 8px; /* Espaçamento entre os campos reduzido */
  font-size: 13px; /* Tamanho da fonte um pouco menor */
  line-height: 1.2; /* Altura da linha reduzida */
}

/* Ajustes para os labels */
.acessos-link-externo label {
  font-size: 12px; /* Tamanho da fonte do label reduzido */
  margin-bottom: 2px; /* Espaçamento abaixo do label reduzido */
  color: #666; /* Cor mais suave para os labels */
  display: block;
}

/* Ajuste para cada grupo de input */
.acessos-link-externo .input-group {
  margin-bottom: 10px; /* Espaçamento entre grupos de input */
}

/* Ajuste para o último grupo de input */
.acessos-link-externo .input-group:last-child {
  margin-bottom: 0; /* Remove margem do último grupo */
}

.w-50px {
  width: 50px !important;
}

.w-35px {
  width: 35px !important;
}

.link-disabled {
  pointer-events: none;
  opacity: 0.6;
  cursor: not-allowed;
}

.top-10 {
  top: 10px !important;
}

.top-20 {
  top: 20px !important;
}

td.sortable,
td.sortable:hover {
  cursor: grab;
}

span.whatsapp-failed {
  cursor: grab;
}

td.sortable:active,
td.sortable:hover:active {
  cursor: grabbing;
}

.sticker-image {
  width: 100px;
  height: 100px;
}

.contact-card-body:hover {
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}

.contact-card-body {
  /* Aumenta o padding interno */
  padding: 24px;

  /* Reduz a largura máxima do card */
  width: fit-content;


  /* Centraliza o card se necessário */
  margin: 10px;

  /* Mantém o efeito de sombra, mas um pouco mais suave */
  box-shadow: 0 2px 4px 1px rgba(0,0,0,0.1);

  /* Bordas arredondadas mais suaves */
  border-radius: 12px;

  /* Fundo branco */
  background-color: #ffffff;

  /* Espaçamento entre os elementos internos */
  strong {
    display: block;
    margin-bottom: 12px;
  }

  small {
    display: block;
    color: #666;
    margin-bottom: 8px;
  }
}

.offcanvas-backdrop {
  background-color: var(--gray-200) !important;
}

.offcanvas-backdrop.show {
  opacity: 0.65 !important;
}

.icon-box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 2px;
  font-size: 1.25rem;
}

.attendance-cadence-indicator {
  display: flex;
  align-items: center;
}

/* Pagination bootstrap overrides */
.pagination {
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(102, 16, 242, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #6610F2;
  --bs-pagination-active-border-color: #6610F2;
}

/* Select bootstrap overrides */
.form-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 0.25rem rgba(102, 16, 242, 0.25);
}

select.form-select option:hover,
select option:hover,
select option[selected] {
  background-color: #6610F2 !important;
}

/* Form Bootstrap overrides */
.form-control:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 0.25rem rgba(102, 16, 242, 0.25);
}

/* Custom Animation */
@keyframes vertical-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
}

@keyframes shadow-opacity-blur {
  0%, 100% {
    opacity: 1;
    filter: blur(0);
  }
  50% {
    opacity: 0.9;
    filter: blur(2px);
  }
}

.motion-safe\:animate-bounce {
  animation: vertical-bounce 1.5s ease-in-out infinite;
}

.offcanvas.offcanvas-end.wide-offcanvas.atendance-canvas {
  top: 293px;
  height: calc(100vh - 294px);
  border-top: 1px solid transparent;
}

#contacts-index-list .offcanvas-backdrop.show {
  opacity: 0 !important;
}

img.avatar-1 {
  width: 16px;
  height: 16px;
  border-radius: 4px;
}

.btn-record {
  animation: recordPulse 1.5s ease-in-out infinite;
}

@keyframes recordPulse {
  0% {
    background-color: #8B5CF6;
    box-shadow: 0 0 5px rgba(102, 16, 242, 0.5);
  }
  50% {
    background-color: #6610F2;
    box-shadow: 0 0 10px rgba(102, 16, 242, 0.8);
  }
  100% {
    background-color: #8B5CF6;
    box-shadow: 0 0 5px rgba(102, 16, 242, 0.5);
  }
}

img.timeline-image {
  max-width: 500px;
}

#change_contact_autopilot {
  width: 50px;
}

#whatsapp-message-template {
  max-width: 290px;
}

.btn-outline-autopilot {
  color: #0d6efd;
  border-color: #0d6efd;
}

.btn-outline-autopilot:hover {
  color: var(--white);
  background-color: #0d6efd;
}

.btn-outline-copilot {
  color: #520DC2;
  border-color: #520DC2;
}

.btn-outline-copilot:hover {
  color: var(--white);
  background-color: #520DC2;
}

trix-editor.disabled {
  pointer-events: none !important;
  opacity: 0.6 !important;
  background-color: #f8f9fa !important;
}

trix-toolbar.disabled {
  display: none !important;
}

#new_message_body {
  min-height: 150px;
  height: auto;
  overflow-y: auto;
}

.new-message-body .trix-button-row .trix-button--icon-strike,
.new-message-body .trix-button-row .trix-button--icon-link,
.new-message-body .trix-button-row .trix-button-group.trix-button-group--text-tools,
.new-message-body .trix-button-row .trix-button-group.trix-button-group--block-tools,
.new-message-body .trix-button-row .trix-button-group.trix-button-group--file-tools {
  display: none;
}

table.webook-send-data-table th,
table.webook-send-data-table td {
  text-align: center;
  vertical-align: middle;
  align-items: center;
  button {
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

.json-example {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 5px;
  margin: 0px;
  font-family: monospace;
  font-size: 12px;
  line-height: 1.1;
  text-align: left;
}

pre code.json-content {
  text-align: left;
  margin: 0;
  padding: 0;
}

.table-xsm td,
.table-xsm th {
    border: 1px solid #ddd;
    padding: 3px 8px;
    line-height: 1.2;
    height: 28px;
    vertical-align: middle;
}

.status-container {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 8px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
}

.status-indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}

.status-indicator.success {
  background-color: #28a745;
  box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.2);
}

.status-indicator.waiting {
  background-color: var(--gray-200);
  box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.2);
}

.status-indicator.error {
  background-color: #dc3545;
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.2);
}

.status-text {
  font-size: 14px;
  font-weight: 500;
  color: #212529;
  margin: 0;
}

.response-details {
  font-size: 13px;
  color: #6c757d;
  background-color: #f8f9fa;
  padding: 8px 12px;
  border-radius: 4px;
  margin: 10px 0 0 0;
}
