:root {
  /* --color-primary: #008ED3;
	--color-primary-rgb: 0,142,211; */
  /* --color-primary-contrast: #ffffff;
	--color-primary-contrast-rgb: 255,255,255;
	--color-primary-shade: #8e1118;
	--color-primary-tint: #aa2b32; */

  /* --color-secondary: #fed530;
	--color-secondary-rgb: 161,19,27;
	--color-secondary-contrast: #ffffff;
	--color-secondary-contrast-rgb: 255,255,255;
	--color-secondary-shade: #8e1118;
	--color-secondary-tint: #aa2b32; */

  /* Cor primária dos botões */
  --btn-primary-color: #0D2032;
  --btn-primary-hover: #0a1826;
  --btn-primary-active: #08121a;
  --btn-primary-text: #ffffff;
}

/* ===== Border Radius Global para Botões, Inputs e Selects ===== */
/* Aplica border-radius de 20px em todos os elementos de formulário */
/* Regras com alta especificidade para sobrescrever sb-admin-2.css */

/* Botões - todas as variações */
button,
button.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-light,
.btn-dark,
.btn-link,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info,
.btn-outline-light,
.btn-outline-dark,
.btn-sm,
.btn-lg,
button.btn-sm,
button.btn-lg,
.btn-primary.btn-sm,
.btn-secondary.btn-sm,
.btn-success.btn-sm,
.btn-danger.btn-sm,
.btn-primary.btn-lg,
.btn-secondary.btn-lg,
.btn-success.btn-lg,
.btn-danger.btn-lg {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Inputs - todos os tipos */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="file"],
input[type="color"],
input[type="range"],
input[type="month"],
input[type="week"],
input.form-control,
input.form-control:focus,
input.form-control:active,
input[type="text"].form-control,
input[type="email"].form-control,
input[type="password"].form-control,
input[type="number"].form-control,
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="search"].form-control,
input[type="tel"].form-control,
input[type="url"].form-control,
input[type="month"].form-control {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Selects */
select,
select.form-control,
select.form-select,
select.form-control:focus,
select.form-select:focus,
select.form-control:active,
select.form-select:active,
.form-select,
.form-select:focus,
.form-select:active,
.custom-select,
.custom-select:focus {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Textareas */
textarea,
textarea.form-control,
textarea.form-control:focus,
textarea.form-control:active {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Classes do Bootstrap */
.form-control,
.form-control:focus,
.form-control:active,
.form-control.is-valid,
.form-control.is-invalid,
.form-select,
.form-select:focus,
.form-select:active {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Input Groups */
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating > .form-control,
.input-group .form-control,
.input-group .form-select,
.input-group-prepend .form-control,
.input-group-append .form-control {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Inputs com máscaras */
input.mask-data,
input.mask-cnpj,
input.mask-reais,
input.mask-horas,
.mask-data,
.mask-cnpj,
.mask-reais,
.mask-horas {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Contextos específicos */
.modal button,
.modal .btn,
.modal .form-control,
.modal .form-select,
.modal input,
.modal select,
.modal textarea,
.card button,
.card .btn,
.card .form-control,
.card .form-select,
.card input,
.card select,
.card textarea,
.card-body button,
.card-body .btn,
.card-body .form-control,
.card-body .form-select,
.card-body input,
.card-body select,
.card-body textarea,
.form-group button,
.form-group .btn,
.form-group .form-control,
.form-group .form-select,
.form-group input,
.form-group select,
.form-group textarea {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Sobrescreve estilos do sb-admin-2 que definem border-radius: 0 */
.sb-admin-2 button,
.sb-admin-2 .btn,
.sb-admin-2 .form-control,
.sb-admin-2 .form-select,
.sb-admin-2 input:not([type="checkbox"]):not([type="radio"]),
.sb-admin-2 select,
.sb-admin-2 textarea {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

.min-h-100vh {
  min-height: 100vh !important;
}

.invalid-form,
.invalid-image {
  border: 1px solid #ff0000;
}

.btn .spinner-border {
  width: 1.2rem;
  height: 1.2rem;
}

.bg-filtrando {
  background-color: rgba(28, 200, 138, .4);
  /* background-color: #FFF; */
  background-image: linear-gradient(180deg, rgba(28, 200, 138, .3) 10%, rgba(19, 133, 92, .3) 100%);
  background-size: cover;
}

.nav-tabs {
  border-bottom: 0px;
}

#pager {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  gap: 4px;
}

#pager .stepper-before,
#pager .stepper-next,
#pager .stepper {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding: 0.25rem 0.5rem;
  font-size: .875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  cursor: pointer;
}

#pager .stepper-before:hover,
#pager .stepper-next:hover,
#pager .stepper:hover,
#pager .stepper-active {
  color: var(--color-primary-contrast);
  background-color: var(--color-primary);
}

/* Login */
.bg-onboard {
  background-color: #4e73df;
  background-image:
    linear-gradient(rgba(0, 0, 0, .35), rgba(0, 0, 0, .35)),
    url('/img/fundo_ttax.png');
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
}

.bg-login-image {
  background-image: url('./img/alphacode_quadrado.jpg');
}

.bg-password-image {
  background-image: url('./img/alphacode_quadrado.jpg');
}

.footer-login p {
  color: #FFFFFF;
  font-size: small;
}

.footer-login img {
  height: 23px;
}

.input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}

.olho-senha, #olho-senha {
  width: 25px;
  height: 25px;
  border: none;
  cursor: pointer;
  position: absolute;
  top: 55%;
  right: 15px;
  color: #555;
  transform: translateY(-50%);
  z-index: 10;
  left: 80%;
}


::-webkit-calendar-picker-indicator {
  border-radius: 50%;
  margin-left: 0.1rem;
  width: 14px;
  height: 14px;
  cursor: pointer;
}

::-webkit-calendar-picker-indicator:hover {
  -webkit-box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.04);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.04);
}

/* usuarios START */

.img-avatar {
  position: relative;
  top: 0;
  left: 10px;
  width: 180px !important;
  height: 180px !important;
  border-radius: 50%;
  margin: 0px !important;
  cursor: pointer;
  object-fit: cover;
  margin-bottom: 30px !important;
}

.card-login {
  background-color: #FAFAFA;
  width: 415px;
  height: 490px;
  border-radius: 10px;
  padding-top: 40px;
  padding-right: 24px;
  padding-bottom: 40px;
  padding-left: 24px;
  gap: 74px;

}

.card-esqueci-senha {
  width: 100%;
  height: 419px;
  background-color: #FAFAFA;
  border-radius: 10px;
  padding-top: 40px;
  padding-right: 24px;
  padding-bottom: 40px;
  padding-left: 24px;
  gap: 74px;

}

.card-codigo-senha {
  width: 415px;
  min-height: 500px;
  background-color: #FAFAFA;
  border-radius: 10px;
  padding-top: 40px;
  padding-right: 24px;
  padding-bottom: 40px;
  padding-left: 24px;
}

.esqueceu-senha {
  color: #838383 !important;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none !important;
}

#btn-login {
  background-color: #4BA6D1;
  border-color: #4BA6D1;
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none !important;
  margin-top: 20%;
  width: 367px;
  height: 47px;
  opacity: 1;
  border-radius: 5.25px;
  gap: 10.5px;
  padding: 10.5px;
}

#btn-senha {
  background-color: #4BA6D1 !important;
  border-color: #4BA6D1;
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none !important;
  margin-top: 20%;
  width: 367px;
  height: 47px;
  border-radius: 5.25px;

}

#btn-continuar {
  background-color: #4BA6D1 !important;
  border-color: #4BA6D1;
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none !important;
  margin-top: 12px;
  width: 367px;
  height: 47px;
  border-radius: 5.25px;
}

.btn-login-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

.email-input {
  width: 367px;
  height: 45px;
  border-radius: 8px !important;
  padding-top: 13px;
  padding-right: 16px;
  padding-bottom: 13px;
  padding-left: 16px;
  gap: 10px;
  border-width: 1px;
  display: flex;
  justify-content: center;
  width: 100%;

}

.codigo-input {
  width: 367px;
  height: 45px;
  border-radius: 8px !important;
  padding-top: 13px;
  padding-right: 16px;
  padding-bottom: 13px;
  padding-left: 16px;
  border-width: 1px;
}

.reenviar-link {
  color: #838383 !important;
  font-size: 16px;
  text-decoration: underline !important;
}

/* usuarios END */

/* ===== Modal E-mail Enviado (restrito/esquecisenha) ===== */
.ttax-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1050;
}

.ttax-modal__content {
  width: 320px;
  max-width: calc(100% - 32px);
  background: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  padding: 18px 20px 22px 20px;
  position: relative;
}

.ttax-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid #1E1E1E;
  color: #1E1E1E;
  line-height: 1;
  font-size: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.ttax-modal__title {
  margin: 6px 0 8px 0;
  font-weight: 700;
  font-size: 16px;
  color: #1E1E1E;
}

.ttax-modal__text {
  margin: 0;
  color: #1E1E1E;
  font-size: 13px;
  line-height: 1.4;
}

.label-nova-senha {
  .label-nova-senha {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 15px;
  }

}

/* Inbounds Status Badges */
.status-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 0.25rem;
  text-transform: uppercase;
}

.status-badge-success {
  background-color: #1cc88a;
  color: #ffffff;
}

.status-badge-error,
.status-badge-falha {
  background-color: #e74a3b;
  color: #ffffff;
}

.status-badge-aviso {
  background-color: #f6c23e;
  color: #ffffff;
}

.status-badge-pendente {
  background-color: #858796;
  color: #ffffff;
}

/* Inbounds Table Actions */
.inbounds-table-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.inbounds-table-actions .btn {
  font-size: 0.875rem;
  padding: 0.375rem 0.75rem;
}

/* Inbounds Record Count */
.inbounds-record-count {
  color: #858796;
  font-size: 0.875rem;
  margin-top: 1rem;
}

/* Inbounds Filter Card Header */
.card-header .text-danger {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Inbounds Table Row Styling */
#lista-inbounds tbody tr {
  cursor: pointer;
  transition: background-color 0.15s ease-in-out;
}

#lista-inbounds tbody tr:hover {
  background-color: #f8f9fc;
}

#lista-inbounds tbody tr.selected {
  background-color: #e3f2fd;
}

/* Inbounds Table Cell Text Truncation */
#lista-inbounds td {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#lista-inbounds td:first-child {
  max-width: 80px;
}

/* Inbounds Table Type Column */
#lista-inbounds td:nth-child(3) {
  position: relative;
}

#lista-inbounds td:nth-child(3) .resumo {
  font-size: 0.75rem;
  color: #858796;
  display: block;
  margin-top: 2px;
}

/* Inbounds Related Notes Styling */
.related-notes-container {
  border-top: 1px solid #e3e6f0;
}

.related-notes-container h6 {
  font-size: 0.875rem;
  font-weight: 600;
  color: #5a5c69;
  margin-bottom: 1rem;
}

.related-notes-container .table {
  font-size: 0.875rem;
}

.related-notes-container .table thead th {
  font-weight: 600;
  color: #5a5c69;
  border-bottom: 2px solid #e3e6f0;
}

.related-notes-container .table tbody tr:hover {
  background-color: #f8f9fc;
}

.expand-notes-btn {
  transition: transform 0.2s ease-in-out;
}

.expand-notes-btn:hover {
  color: #4e73df !important;
}

.expand-notes-btn i {
  transition: transform 0.2s ease-in-out;
  color: #858796;
}

.expand-notes-btn:hover i {
  color: #4e73df;
}

.related-notes-row {
  background-color: #f8f9fc !important;
}

.related-notes-row td {
  border-top: none !important;
}

/* ===== OVERRIDE FINAL - Border Radius 20px para todos os elementos ===== */
/* Regras de alta especificidade no final do arquivo para garantir precedência */
html body button,
html body input[type="button"],
html body input[type="submit"],
html body input[type="reset"],
html body .btn,
html body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
html body select:not([multiple]),
html body textarea,
html body .form-control:not([type="checkbox"]):not([type="radio"]),
html body .form-select {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Garantir que focus states também tenham border-radius */
html body button:focus,
html body input:focus:not([type="checkbox"]):not([type="radio"]),
html body select:focus,
html body textarea:focus,
html body .form-control:focus,
html body .form-select:focus {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* Garantir que estados active e hover também mantenham border-radius */
html body button:hover,
html body button:active,
html body .btn:hover,
html body .btn:active,
html body .btn:focus {
  border-radius: 12px !important;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
}

/* ===== Cor Primária dos Botões - #0D2032 ===== */
/* Botões Primários - Background sólido */
.btn-primary,
button.btn-primary,
input[type="button"].btn-primary,
input[type="submit"].btn-primary,
.btn-primary:not(:disabled):not(.disabled),
html body .btn-primary {
  background-color: #0D2032 !important;
  border-color: #0D2032 !important;
  color: #ffffff !important;
}

/* Botões Primários - Hover */
.btn-primary:hover,
button.btn-primary:hover,
input[type="button"].btn-primary:hover,
input[type="submit"].btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):hover,
html body .btn-primary:hover {
  background-color: #0a1826 !important;
  border-color: #0a1826 !important;
  color: #ffffff !important;
}

/* Botões Primários - Active/Focus */
.btn-primary:active,
.btn-primary:focus,
.btn-primary.active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle,
html body .btn-primary:active,
html body .btn-primary:focus {
  background-color: #08121a !important;
  border-color: #08121a !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 0.2rem rgba(13, 32, 50, 0.5) !important;
}

/* Botões Outline Primários - Borda e texto */
.btn-outline-primary,
button.btn-outline-primary,
input[type="button"].btn-outline-primary,
input[type="submit"].btn-outline-primary,
.btn-outline-primary:not(:disabled):not(.disabled),
html body .btn-outline-primary {
  color: #0D2032 !important;
  border-color: #0D2032 !important;
  background-color: transparent !important;
}

/* Botões Outline Primários - Hover */
.btn-outline-primary:hover,
button.btn-outline-primary:hover,
input[type="button"].btn-outline-primary:hover,
input[type="submit"].btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):hover,
html body .btn-outline-primary:hover {
  color: #ffffff !important;
  background-color: #0D2032 !important;
  border-color: #0D2032 !important;
}

/* Botões Outline Primários - Active/Focus */
.btn-outline-primary:active,
.btn-outline-primary:focus,
.btn-outline-primary.active,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle,
html body .btn-outline-primary:active,
html body .btn-outline-primary:focus {
  color: #ffffff !important;
  background-color: #08121a !important;
  border-color: #08121a !important;
  box-shadow: 0 0 0 0.2rem rgba(13, 32, 50, 0.5) !important;
}

/* Tamanhos específicos - Botões pequenos e grandes */
.btn-primary.btn-sm,
.btn-outline-primary.btn-sm,
.btn-primary.btn-lg,
.btn-outline-primary.btn-lg {
  background-color: #0D2032 !important;
  border-color: #0D2032 !important;
  color: #ffffff !important;
}

.btn-outline-primary.btn-sm,
.btn-outline-primary.btn-lg {
  background-color: transparent !important;
  color: #0D2032 !important;
}

.btn-outline-primary.btn-sm:hover,
.btn-outline-primary.btn-lg:hover {
  background-color: #0D2032 !important;
  color: #ffffff !important;
}

/* ===== Botões Outline Secondary - Mesma cor primária ===== */
/* Botões Outline Secondary - Borda e texto com cor primária */
.btn-outline-secondary,
button.btn-outline-secondary,
input[type="button"].btn-outline-secondary,
input[type="submit"].btn-outline-secondary,
.btn-outline-secondary:not(:disabled):not(.disabled),
html body .btn-outline-secondary {
  color: #0D2032 !important;
  border-color: #0D2032 !important;
  background-color: transparent !important;
}

/* Botões Outline Secondary - Hover */
.btn-outline-secondary:hover,
button.btn-outline-secondary:hover,
input[type="button"].btn-outline-secondary:hover,
input[type="submit"].btn-outline-secondary:hover,
.btn-outline-secondary:not(:disabled):not(.disabled):hover,
html body .btn-outline-secondary:hover {
  color: #ffffff !important;
  background-color: #0D2032 !important;
  border-color: #0D2032 !important;
}

/* Botões Outline Secondary - Active/Focus */
.btn-outline-secondary:active,
.btn-outline-secondary:focus,
.btn-outline-secondary.active,
.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle,
html body .btn-outline-secondary:active,
html body .btn-outline-secondary:focus {
  color: #ffffff !important;
  background-color: #08121a !important;
  border-color: #08121a !important;
  box-shadow: 0 0 0 0.2rem rgba(13, 32, 50, 0.5) !important;
}

/* Tamanhos específicos - Outline Secondary */
.btn-outline-secondary.btn-sm,
.btn-outline-secondary.btn-lg {
  background-color: transparent !important;
  color: #0D2032 !important;
  border-color: #0D2032 !important;
}

.btn-outline-secondary.btn-sm:hover,
.btn-outline-secondary.btn-lg:hover {
  background-color: #0D2032 !important;
  color: #ffffff !important;
}

.btn-ver-listar, .btn-ver-certificado {
  background-color: #0D2032 !important;
  color: #ffffff !important;
  width: 68px;
  height: 31px;
  border-radius: 10px;
}


/* Custom File Input */
.custom-file-input-wrapper {
  position: relative;
  width: 100%;
}

.custom-file-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  border-radius: 12px;
}

.custom-file-display {
  display: flex;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #d1d3e2;
}

.custom-file-text {
  flex: 1;
  padding: 0.375rem 0.75rem;
  background-color: #fff;
  color: #6e707e;
  border: none;
  outline: none;
  font-size: 0.875rem;
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.custom-file-button {
  padding: 0.375rem 1rem;
  background-color: #0D2032;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 400;
  transition: background-color 0.15s ease-in-out;
}

.custom-file-button:hover {
  background-color: #1a3a52;
}
.btn-ver-usuarios-listar{
  background-color: #0D2032;
  color: #ffffff;
  width: 80px;
  height: 31px;
  border-radius: 10px;
}

.btn-ver-listar {
  background-color: #0D2032 !important;
  color: #ffffff !important;
  width: 68px;
  height: 31px;
  border-radius: 10px;
}
.text-primary {
  color: #F3400A !important;
}


#btn-continuar {
  background-color: #4BA6D1 !important;
  border-color: #4BA6D1;
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none !important;
  margin-top: 12px;
  width: 367px;
  height: 47px;
  border-radius: 5.25px;
}

.btn-login-container {
  display: flex;
  justify-content: center;
  width: 100%;
}


#lista-certificados-proximos-vencimento tbody .lista-certificados-proximos-vencimento_col_1 {
    max-width: 300px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 0;
}